tDiary 5.1.0 リリース
tDiary 5.1.0 をリリースします。tdiary-coreには前バージョンから一部非互換があるので、マイナーバージョンがあがっています。
本体(tdiary-core)の変更点
機能追加・変更
- 【非互換】amazonプラグイン: PA-API v5で書き直した (後述)
- makerssプラグイン: 出力するRSSフィードからXMLスタイルシートを削除
開発者向け変更
- 【非互換】コールバック系プラグインの記述手法を一部制限 (後述)
バグ修正
- IOによってツッコミの表示順がおかしくなるのを修正
theme (tdiary-theme)の変更点
- とくになし
blogkit (tdiary-blogkit)の変更点
- とくになし
contrib (tdiary-contrib)の変更点
バグ修正
- image_exプラグイン: JPEG画像のorientation情報を無視しないようにした
amazonプラグインの変更内容
Amazon側の仕様変更で、プラグインから利用しているAPI (PA-API)のバージョンがv4からv5に変わりました。APIを使うにあたっての制限がとても強くなり、その余波を受けてtDiary側に追加の設定が必要になりました。v4が使えるのは2020年2月11日までなので、amazonプラグインを利用している日記はそれまでにtDiary 5.1.0に同梱されているamazonプラグインへのアップデートが必要です。
なお、日記本文からのamazonプラグインの呼び出し方法については変更ありません。ただし一部情報や表記に微小な変更があります(APIのバージョンによって取れる情報に差があるため)。
設定の変更方法は以下のとおりです:
新しいPA-API v5を使うには、必ずAmazonアソシエイト・プログラムに加入している必要があります。そして、API利用のためにアソシエイト・セントラル - Product Advertising APIから、新たにPA-API用の「アクセスキー」と「シークレットキー」を生成、入手します。また、アソシエイトIDも同時に入手します。
続いてtdiary.confに以下の設定を追加します。従来からamazonプラグインを利用していた場合、@options[‘amazon.aid’]はすでに指定済みかもしれません。
- @options[‘amazon.access_key’] = “【アクセスキー】” # tdiary.confのみ
- @options[‘amazon.secret_key’] = “【シークレットキー】” # tdiary.confのみ
- @options[‘amazon.aid’] = “【アソシエイトID】” # 設定画面からも入力可
「アソシエイトID」はAmazon側でも表記のゆれが激しく、異なる場所では異なる名称で呼ばれていることがあります。アソシエイト・プログラムのページでは右上に常時表示されています。APIのドキュメントでは「パートナータグ」と呼ばれています。また「トラッキングID」と表記されている場合があります。「-22」で終わる文字列であることが多いです。
新しいPA-APIは、アソシエイト・プログラムの売上に応じて利用回数に限度があります。このため、上限を超えた場合には日記上に商品リンクが出ない場合もあります。時間がたてば(または売上が発生すれば)復旧するはずですが、PA-API v5自体に実績が少なく、動作が不安定な可能性があります。おかしな挙動を見つけたらIssueで報告してください。
コールバック系プラグインの変更内容
これはプラグイン開発者向けの情報です。
現在リリース準備中のruby 2.7からは、引数のないProc.newが非推奨になります。これに対応するため、従来は許されていたコールバック系プラグインの書き方に一部制限が加わります。具体的には以下のような書き方が禁止され:
add_body_leave_proc(Proc.new do |date| … end
以下のように記述する必要があります:
add_body_leave_proc do |date| … end
基本的に単純な置き換えで問題ありません。添付されているプラグインはすでに対応済みです。独自でプラグインを書いているような場合にはこれを参考にして書き換えてください。