2013-06-15のメモです。
主に関ジン研(関東ジンギス研究会)からのリンクのためと、食べ歩きの際に前回いつ行ったかを自分で検索するために記述を残しています。稀に雑多なことを書いたりもします。
04/29に tDiary の 3.2.2 がリリースされていて、これが Ruby 1.8系をサポートする最後のバージョンということで、ローカル環境でアップデートし、動作確認後に同様のアップデートを家Tサーバーでも実施した。
実は、ローカル環境でのアップデートの際、カテゴリインデックスの作成(文字コードが違うため作り直す必要あり)をしても画面(Firefox 21.0)が「保存中……」のままでカテゴリインデックスが更新されないという不具合に悩まされていたのだった。
結論を言うと、いくつかのプラグインで、カテゴリインデックスの作成のときに使うメソッドの未定義によるエラーで止まっていただけだった。テキストブラウザ w3m で同じことをやってみて気が付いたのだけど。以下は my-ex プラグインで mobile_agent? メソッドが未定義なためにエラーになった例を w3m のウインドウからコピー&ペーストしたもの。
Plugin Error Errors in plugins? Retry to Update or Configure. TDiary::PluginError Plugin error in '50sp.rb'. Plugin error in './misc/plugin/my-ex.rb'. undefined method `mobile_agent?' for #<#<Class:0x7f6286da1a48>::Category::CGI:0x7f752edcb888> (plugin/50sp.rb):132:in `load_plugin' ./tdiary/plugin.rb:68:in `initialize' ./tdiary/base.rb:91:in `new' ./tdiary/base.rb:91:in `load_plugins' ./tdiary/view.rb:95:in `all_filters' ./tdiary/view.rb:107:in `referer_filter' ./tdiary/view.rb:10:in `initialize' ./tdiary/view.rb:251:in `initialize' (plugin/category.rb):497:in `new' (plugin/category.rb):497:in `recreate' (plugin/category.rb):494:in `each' (plugin/category.rb):494:in `recreate' (plugin/category.rb):493:in `each' (plugin/category.rb):493:in `recreate' (plugin/category.rb):704:in `load_plugin' ./tdiary/plugin.rb:276:in `call' ./tdiary/plugin.rb:276:in `conf_proc' (TDiary::Plugin#eval_src):29:in `eval_src' ./tdiary/plugin.rb:99:in `eval_src' ./tdiary/core_ext.rb:106:in `safe' ./tdiary/core_ext.rb:104:in `call' ./tdiary/core_ext.rb:104:in `safe' ./tdiary/plugin.rb:98:in `eval_src' ./tdiary/base.rb:66:in `do_eval_rhtml' ./tdiary/base.rb:30:in `eval_rhtml' ./tdiary/author_only_base.rb:151:in `eval_rhtml' ./tdiary/dispatcher/update_main.rb:31:in `run' ./tdiary/dispatcher/update_main.rb:6:in `run' ./tdiary/dispatcher.rb:21:in `dispatch_cgi' update.rb:31
エラーが出たプラグインを無効にしてはカテゴリインデックス作成を繰り返せばどこかでエラーが出なくなる。無効にしたプラグインを有効にするのを忘れずに。家Tサーバでもこれは発生したけど、my-ex プラグイン・tb-show プラグインを無効にしたらうまくいった。
あと、カテゴリインデックスや日記データの文字コードは自動的に EUC-JP から UTF-8 に変換されるけど a.dat や、特定の日付を見る場合と特定の年・月を見る場合に備忘録冒頭の文を変更するために独自に作ったプラグインの文字コードはさすがに自動変換されないので、これらの文字コードを UTF-8 に手動で変換。
最近のツッコミ: