Tombfix 0.5.0 - Tumblr の Reblog に関する対応を刷新
Tombfix 0.5.0 をリリースしました。インストール済みの場合はアドオンマネージャ(about:addons)の「拡張機能」における Tombfix の項目でコンテキストメニューから「更新を確認」するとすぐにアップデートできます。
Tumblr の Reblog に関する対応(Tumblr Model の一部と、ReBlog Extractor、「ReBlog - Dashboard」 Extractor、「ReBlog - Tumblr」 Extractor、「ReBlog - Tumblr link」 Extractor など)を全面的に更新
Reblog 関連の Extractor の実装を全面的に更新
これまでと全く異なる方法で ReBlog Extractor から情報を取得するように実装を変更
2 週間ほど前に行われた Tumblr の仕様変更により、いくつかの Tumblr のユーザーページ(例)で、Reblog 関連の Extractor が正常に動作しなくなっていた問題を修正
数カ月前に行われた Tumblr の仕様変更により、Text タイプのポストなどでタイトルなどの情報が取得できなくなっていた問題を修正
Tumblr をログアウトしていると、Reblog 関連の Extractor が正常に動作しない問題を修正
Text タイプと Quote タイプのポストで取得した HTML が含まれるコンテンツを QuickPostForm 上ではプレーンテキストで表示するように仕様を変更
QuickPostForm で編集できない「『Quote』に該当する情報」は、Reblog 関連の Extractor では生成しないように仕様を変更
Reblog 関連の Extractor で取得する Link タイプのポストの情報に関して、ポストに含まれるリンクのタイトルや URL ではなく、そのポストがある Tumblr のユーザーページのタイトルと URL を使用するように仕様を変更
Reblog 関連の Extractor で取得する Text タイプのポストの情報に関して、ポストに含まれるタイトルではなく、そのポストがある Tumblr のユーザーページのタイトルを使用するように仕様を変更
Reblog 関連の Extractor で取得する Photo タイプのポストの画像は、出来る限り大きいものを取得するように変更
Audio ポストや Answer ポストのように、Tombfix では対応していないタイプのコンテンツを取得しようとした場合は、適切なエラーメッセージを表示するように改善
コンテキストのチェックを厳密にするように変更(文字列選択時には動作しないように変更するなど)
Reblog 関連の Extractor で取得する Tumblr のユーザーページの URL に、可能であれば Canonical URL を統一的に使用するように変更
取得対象となる Tumblr のユーザーページの URL に、ポスト ID の後に「/js」や「/rss」、「/embed」などが付いている(例)と情報の取得に失敗する問題に対し、特定の条件下ではこの問題が発生しないように変更(そのページ上では Extractor は動作しないが、リンク上では動作するなど)
「Tombfixの設定」の「サービス関連」における「Tumblr」の「Reblog情報を除去する」機能が、一部の条件下では正常に動作していなかった問題を修正(Tumblr の仕様変更により、Tumblr に投稿する場合では、Reblog Tree のユーザーに関する情報のみを除去することは基本的に不可能になっているが、Reblog Tree が存在しない Quote タイプのポストや、「(via username)」のような文字列が Reblog 時に新たに追加される場合には、除去は可能)
「Reblog情報を除去する」機能の精度を改善(「(via username)」のような文字列の一部が崩れていても除去できるように改善するなど)
「ReBlog - Dashboard」 Extractor に関して、検索ページや explore ページに関する対応を追加
「ReBlog - Tumblr」 Extractor に関して、プライベートポストのページ上で動作していた問題を修正
「ReBlog - Tumblr link」 Extractor に関して、独自ドメインの Tumblr のユーザーページのリンク(例)に対する対応を改善
「ReBlog - Tumblr link」 Extractor に関して、Tumblr のユーザーページにおける image ページのリンク(例)の対応を追加
Tumblr への投稿に関する対応(Tumblr Model)の Reblog に関連する実装を全面的に更新
これまでと全く異なる方法で Reblog するように実装を変更
Quote タイプのポストの引用部分と Chat タイプのポストのタイトルを Reblog 時に書き換えられるように仕様を変更(Tumblr の仕様変更により、その他では基本的にコンテンツの書き換えはできない。ただし、これまで通り、QuickPostForm における「Tags」と「Description」のフォームによるコンテンツの追加は行える。)
HTML を含んだコンテンツを Reblog 時に投稿しても出来る限り Tumblr 上の表示に支障が出ないように仕様を変更
「Tombfixの設定」の「エントリ内容/他」における「Linkポストのサムネイルテンプレート」の設定が Reblog 時に不完全な形で反映されていた問題に対し、Link タイプのポストを Reblog するという状況でその設定が動作する(Link タイプのポストを Reblog して作成されたポストにも自動的にユーザーのコメントとしてサムネイルが追加されるという挙動)のは不適切であると判断されることから、設定が Reblog 時には反映されないように変更
Tumblr をログアウトしている時に Reblog をしようとした場合に、出来る限り早くログインに関するエラーメッセージを表示するように改善
詳細はこちらや、バージョンアップデートのコミットをご覧ください。
今回のリリースは、Tumblr の Reblog に関する対応の刷新という重要な変更と多くの重要な仕様変更が含まれる事になった為、バージョンを0.5.0とする事にいたしました。
ユーザーの操作に関わり、且つこれまでと大きく異なる挙動をすることになる重要な Tombfix の仕様変更に関しては、「仕様を変更」というように変更の説明を強調しました。
Reblog 関連の Extractor の仕様変更の基本的な方針は、他の Extractor の挙動になるべく合わせ、Reblog 関連の Extractor を特別視しないようにするというものです。これまで Extractor で取得した情報を解釈する Model では、特別な動作をしていた Reblog 関連の Extractor に関しては専用の処理を必要とする場合がありましたが、今回行った仕様変更によってこうした実装に関する状況が改善されることになるでしょう。
Tumblr Model の仕様変更については、基本的に利便性と動作の適切さを向上させるものとなります。
いずれにしても、今までの Tombfix の仕様となる動作に合わせた使い方をしていたユーザーの方にとっては不都合なことがあるかもしれません。そうした場合には、Tombfix 本体のリポジトリの Issues にフィードバックして頂き、仕様変更について議論できればと思います。
また、今回のリリースには多くの変更が含まれますので動作しないパッチがあるかもしれません。その時にはこちらからお知らせください。
"QuickPostForm で編集できない「『Quote』に該当する情報」は、Reblog 関連の Extractor では生成しないように仕様を変更"について
この変更は「Tombfix の Reblog 関連の Extractor から特定のサービスに投稿した時の挙動の変更について」で記述している「『Quote』に該当する情報」に関して、QuickPostForm で編集可能である Text タイプと Quote タイプのポスト以外の「『Quote』に該当する情報」は Reblog 関連の Extractor では生成せず、故に Tumblr Model 以外の Model に投稿した時は「『Quote』に該当する情報」は反映されないということを意味します。
これまで、Reblog 関連の Extractor では QuickPostForm で編集できない「『Quote』に該当する情報」を扱っていたことから、それらの情報の投稿を望まない場合には使い難いという問題がありましたが、この仕様変更によりそうした状況を改善できると思います。
とは言え、この問題の根本的な原因は、「『Quote』に該当する情報」を編集できるテキストエリアを提供していない QuickPostForm にあります。それ故、QuickPostForm の実装を改善して編集できるようにすることができたら、この変更を差し戻すことになるかもしれません。
一方で、この仕様変更は Tumblr Model 以外の Model に対しても影響が大きいので、Reblog 関連の Extractor からそれらの Model を使用する際に何らかの齟齬が生じるかもしれません。何か問題がありましたら是非 GitHub の Issues までご報告ください。
GitHub の Issues に報告されていない不具合、要望などがありましたら、Tombfix 本体に関してはこちらから、パッチに関してはこちらから報告をお願いします。報告の際、こちらの「Issue について」を確認して頂けるとありがたいです。