以前からBlogWriteでここに投稿すると再構築で500エラーとなっていました。しばらくの間はここに書かなかったので放置していたんですが、BlogWriteのサポートフォーラムを覗いてみたら、解決策をあっさりと見つけてしまいました。 面倒くさがって放置しておくのは考え物ですな。
上記のページを参考にして、EntriesPerRebuildの設定と、ping先の整理をしたところエラーにならなくなりました。
結局、処理負荷のせいでエラーになっていたようです。
以前からBlogWriteでここに投稿すると再構築で500エラーとなっていました。しばらくの間はここに書かなかったので放置していたんですが、BlogWriteのサポートフォーラムを覗いてみたら、解決策をあっさりと見つけてしまいました。 面倒くさがって放置しておくのは考え物ですな。
上記のページを参考にして、EntriesPerRebuildの設定と、ping先の整理をしたところエラーにならなくなりました。
結局、処理負荷のせいでエラーになっていたようです。
BlogWriteがバージョンアップして、MT3.3のエントリータグに対応しました。
これで、自作したTechnorati Tagプラグインは無用の長物になったわけですorz
まあ、Technorati JAPANへのタグ検索リンク生成とか、本文からマークアップされたタグを抽出する機能とかはそれなりに価値がある気がするので、気が向いたら別のプラグインとして作り直すかもしれません。
MT 3.3のデフォルトテンプレートでは、エントリータグをcategory要素としてAtomに含めてくれます。
で、生成されるcategory要素は以下のようになります。
<category term="30" label="MT3.3" scheme="http://www.sixapart.com/ns/types#tag" />
って、これじゃTechnoratiさんは、”30″をタグとみなしちゃいますよorz
実際、”30″でタグ検索したら、該当エントリーが引っかかるし。
テンプレート上の記述は以下のようになってます。
<category term="<$MTTagID encode_xml="1"$>" label="<$MTTagName encode_xml="1"$>" scheme="http://www.sixapart.com/ns/types#tag" />
ブログ内部でしか意味のないTagIDをtermに設定するのは何のためでしょうかね?
ということで、Atomのテンプレートを修正してみました。これで同じタグを別々に表示する必要は無くなるはずです。
<category term="<$MTTagName encode_xml="1"$>" scheme="http://www.sixapart.com/ns/types#tag" />
Technoratiの検索リンクはとりあえずなしにして、後でどうするか考えることにします。
MT 3.3にアップグレードしてタグが使えるようになったのですが、このblogではTechnoratiのタグも使用しています。で、以下のような不満点が出てきました。
MTのマニュアルを眺めていたら、プラグインが思ったより簡単に作れそうなので、上記の問題点を解決するプラグインを作ってみました。
機能としてはエントリーの本文に以下のように記述すると、
{{{MT3.3,プラグイン}}}
以下のように変換されます。
また今度といいましたが、時間ができたのでこのブログのテンプレートを修正しました。
まず、サイドバーでWidget Managerを使用するように修正。もともと、サイドバーの各アイテムとサイドバー自体をモジュールにしてあったので、アイテムをWidgetにして、サイドバーのモジュールをインクルードしているところをWidget Managerのタグに置き換えるだけで修正できました。
まあ、あまりサイドバーの変更をするつもりは無いのであまり使わないように思いますが。
次に、タグ表示をエントリーアーカイブに追加。「カイ氏伝 MT 3.3: Movable Type 3.3へのアップグレードからタグクラウド設定まで」を参考にして、好みのレイアウトになるように修正しました。あと、Atom.とRSS 2.0のデフォルトテンプレートにもタグ関連の記述があったのでそれをコピーしました。
それから、エントリーにタグを追加するために編集ページを開こうとしたら、タイトルに半角ブラケットで囲まれた文字列が含まれるエントリー場合にmt.cgがエラーを起こして開けません。BlogWriteでは問題なく取得/更新ができるので、mt.cgiの仕様か不具合だと思われます。とりあえず、BlogWriteで半角ブラケットを全角ブラケットに変更して問題を回避しました。
で、このタグがテクノラティで認識されるのかが非常に気になっています。認識してくれるならいちいちテクノラティタグをコピペしなくてすむので楽なんですが。でも、BlogWriteではタグがつけられないのでMTの管理画面から投稿しないとだめかorz
やっぱり、タグはテクノラティには反映されませんでした。(2006/07/02)
このblogをMT 3.3にアップグレードしました。
いまのところ問題なく動作しているようです。たいしたカスタマイズをしていないからかもしれませんが。
ウィジェットっぽいテンプレートモジュールはたくさんあるので、WidgetManagerの導入はまた今度にします。
「Activity Memo the 2nd」 で、StyleCatcherプラグインを使用できるようにLaCoocanがサーバ設定を変更したことを教えていただきました。
Bootstrap.pmをオリジナルのものに戻してみたところ、ちゃんと動作することが確認できました。
LaCoocanでの設定変更ですが、どうやらCGIの起動時に環境変数PWDを設定するようにしたようです。これでMT::Bootstrapがカレントディレクトリの絶対パスを得られるようになり、そこからMTのインストールパスを取得できるようになりました。
今回の件はMT::Bootstrapの不具合のような気がしていますが、何らかの理由(性能とか)でこのようになっているのかも知れず、Perlにあまり詳しくない自分としては不具合と断定できません。
LaCoocanでStyleCatcharプラグインが動作しない件ですが 、原因がわかりました。
LaCoocanのParl CGIでは、$0の値として”./stylecatcher.cgi”というパターンの値が返りますが、MT::Bootstrapモジュールではこの値からMTのインストールディレクトリをうまく取得できません。このため、mt-config.cgiをカレントディレクトリから見つけようとしてエラーとなります。
とりあえず、lib/MT/Bootstrap.pmの10行目を以下のように変更することで動作するようになりました。
if ($0 =~ m!(.*([/\\]))!) {
if (File::Spec->rel2abs($0) =~ m!(.*([/\\]))!) {
よく考えたら、変更後のif文の条件は必ず成立する気がする。確証はないけど。