Home > Logs > September 2007 > This Entry

ブログの複製(クローン機能)の時、複製したエントリを削除する ClonedBlogCleaner プラグイン

以前のエントリで拙いながらも Callback.pod を訳してみたのですが、その甲斐あってか MovableType のクローン機能におけるコールバックの様子がわかってきました。というか、「lib/MT/Blog.pm」を見ればすぐわかるんですけど。

ClonedBlogCleaner プラグイン

で、MovableType 4のクローン機能でエントリを複製させない方法でも書いたのですが、ブログの複製の際にエントリやカテゴリを複製する意味がよくわからなかったので、エントリやカテゴリを複製させないプラグインを作ってみました。心をこめて作りました。簡単でした。

ダウンロード

以下のリンクよりダウンロードしてください。

ClonedBlogCleaner プラグイン (ver.1.0)

使用方法

解凍してできた ClonedBlogCleaner フォルダを、MovableType の plugins ディレクトリにアップロードして、クローン機能使用時にエントリやカテゴリを複製したくないブログのプラグイン設定画面に移動します。

エントリを複製したくない場合、ClonedBlogCleaner プラグインの「Cloning Entries」項目の「No Need」にチェックを入れます。カテゴリを複製したくない場合は、同様に「Cloning Categories」項目の「No Need」にチェックを入れます。いずれか片方のみのチェクでも問題はありませんが、カテゴリだけを複製しないことに意味があるのかどうかは疑問です。カテゴリのみを複製しなかった場合、複製後のブログにおいて、エントリはカテゴリに属さない状態になっています。両方にチェックが入っていなければ、このプラグインは動作しません。

動作について

クローン機能については、post_clone すなわちクローン機能実行後にしかコールバックを発生させるタイミングがありません。なので、このプラグインはクローン機能をひととおり実行後(エントリの複製も行われた後)、エントリを削除します。エントリの削除とともに、エントリへのコメントや、どのカテゴリに割り当てられていたかの placement データなども削除されます。カテゴリを削除する場合にも、カテゴリそのものの削除に加え、placement データも削除します。

あと、当たり前と言えば当たり前ですが、MovableType 4 以降のみ動作します。進捗状況や実行結果に関しては下図を参照してください。

進捗状況および実行結果表示に関する注意点

post_clone すなわちクローン機能実行後にしかコールバックを発生させられない、ということは、クローン機能はいったん実行されてしまうということです。ClonedBlogCleaner プラグインはその進捗状況および実行結果をクローン機能の実行結果として出力しますが、本来のクローン機能の進捗状況および実行結果、つまりエントリやカテゴリの複製結果も表示されているので、紛らわしいと言えば紛らわしいかもしれません(下図)。いったん表示された本来のクローン機能の実行結果を消すことはできるのですが、表示されないようにすることはできないようなので、特に処理はしていません。その点ご了承ください。

実行結果

ライセンス

GNU General Public Licenseとします。

修正依頼とかダメ出しとか人生相談とか

不具合報告や上記問題点への対処法含め、フィードバックいただけるとうれしいです。ぜひ3xstars@gmail.comまでお送りください。人生相談は20代の女性に限りますが、それ以外は応相談(※フィードバックは女性でなくともかまいません)。

1 Comments on this Entry

(o) (o) September 13, 2007 3:55 PM

MT 4.0のMT::Blogのclone()って、deep copyの程度をコントロールできますよね。

そういうわけでこんなの作ってみました。
http://code.as-is.net/public/wiki/BlogSkeletonCloner.ja_JP

Post Comment




Copyright © okayama, Powered by Movable Type Open Source