NucleusとMovableType

Wikiの方には書いたのですが、DmBlogger1.2.0にはバグがあります。(言うまでもなくバグはいっぱいあるのでしょうが・・・)
何かというとNucleus以外で記事投稿時にカテゴリが反映されないというものです。完全にバグ。

こっちには、その顛末も書いておこうと思うのですが、1.2.0では投稿はmetaWeblog.newPostだけを使っていて、そのcontents構造体(RubyではHash)にcategoriesのArrayをセットしておけば、Nucleusではカテゴリが反映されました。
MovableTypeでカテゴリが反映されないという報告を受けて、もう一度APIを調べてみると、categoriesなるオプションがどこにも書いていない・・・。xml-rpcするところのコードは数カ月前に書いたZBlogger(未公開の記事投稿限定ソフト)のものをそのまま使っているのですが、その数カ月前、私はどこでcategoriesをセットするという情報を入手したんだろう?Nucleusのソースでも見たのかな?

で、DmBloggerとして公開するにあたって、MovableTypeやココログで投稿がうまく行くことは確認したものの、カテゴリは見てませんでした。イージーミス。
で、正しい?投稿の方法は、metaWeblog.newPostの後、mt.setPostCategoriesしてmt.publishPostする。これで少なくともうまくいってる。

NucleusはMovableType互換のAPIを持っていることは違いないのだけど、基本構造が全然違うので、動きも微妙に違うんですね。大体、Nucleusは動的にページを作る。MovableTypeは再構築が必要で、あとは静的。だから、最後のmt.publishPostが必要なんですね。

自分がdm。をNucleusで行こうと思った理由は、MySQLでデータ管理している点と、PHPで出来ているからの2つ。MovableTypeはDBじゃない(MySQLでもイケるみたいだけど、やったことないな)し、Perl。Perlはねぇ、書けないこともないけど読めないんだな。人の書いたPerlは。その点、PHPは簡単で良いです。実に分かりやすい。これほど簡単にWebシステムが作れる言語もそうそうないくらいなわけで。

でもまぁ、毛嫌いせず(嫌いなのはPerlだけなんだけど)にMovableTypeも使ってみないと、DmBloggerは高品質にならないのかもなぁ。吹けば飛ぶようなNucleusと違い、MovableTypeはデファクトスタンダードだから。

この記事をDmBloggerから投稿してみて分かりましたが、MovableTypeなら上手くいくこの方法は、Nucleusだと必ずしも上手くない。余計な改行が入るし、カテゴリがセットされてない!さてさて、どうしたものか・・・。

この記事を書いた人

井上 研一

株式会社ビビンコ代表取締役、ITエンジニア/経済産業省推進資格ITコーディネータ。AI・IoTに強いITコーディネータとして活動。2018年、株式会社ビビンコを北九州市に創業。IoTソリューションの開発・導入や、画像認識モデルを活用したアプリの開発などを行っている。近著に「使ってわかった AWSのAI」、「ワトソンで体感する人工知能」。日本全国でセミナー・研修講師としての登壇も多数。