Movable Typeでゴミっぽい? ファイルが残らないようにするプラグイン書いた。

| コメント(0) | トラックバック(0)

GitHubのog:imageで自分のプロフィールアイコンがでるのがこっぱずかしい今日この頃です皆さんいかがお過ごしでしょうか?

Movable Typeでゴミっぽい? ファイルが残る件

以前ちょっと目にして、そういや昔そんなこと考えたこともあったなぁ、と思い出していたのですが、まさかこの時期にしかも3連休の最終日にゴミ掃除のために出勤する羽目になろうとは...

MovableType(MT)のゴミファイルを削除する | Androidアプリ開発雑記

MovableTypeで悩まされるのは、ゴミファイルが残ってしまうことです。カテゴリのbasenameを変更したなどに、古いファイルに関しては削除されず、新しいbasenameのディレクトリが作られ、そのディレクトリに各ファイルが作られます。

WeblogPublisherを久しぶりに読んでいったのですねー。最初は、これか... (remove_fileinfo) と思ったのですけども。

screen-20140323173629

で、次に、これか、と思ったのですが、もうこの時点では古い MT::FileInfoレコードは削除されてしまっていたのでした。

MT::FileInfo->set_info_for_url

引用元の記事にもあったのですが、↓

作戦2: mt_fileinfoテーブルの変更を検知する

これも上と似ていますが、mt_fileinfoテーブルが変更されるタイミングが分かれば、過去と現在でなんらかの処理を行う事ができるのでは?と考えました。

プラグイン書いた( Garbage Cleaner = ゴミ掃除機! )

ご利用は自己責任でお願いします m(_ _)m

https://github.com/junnama/mt-plugin-garbage-cleaner/

name: Garbage Cleaner
id:   GarbageCleaner
version: 0.1
callbacks:
    MT::FileInfo::post_remove: >
        sub {
                my ( $cb, $obj ) = @_;
                my $path = $obj->file_path;
                require MT::FileMgr;
                my $fmgr = MT::FileMgr->new( 'Local' )
                                or die MT::FileMgr->errstr;
                if ( $fmgr->exists( $path ) ) {
                    $fmgr->delete( $path ) or die MT::FileMgr->errstr;
                }
             };

何か落とし穴ないだろうか? ダイナミックパブリッシングに変更したときの .staticが消えないだろうなってのはわかってるつもりだけど、他にないか!? アーカイブマッピングごと削除した時? テンプレート毎削除した時? ... どっちにしても、 FileInfoテーブルが正常である限りにおいてはこのプラグインで正しい状態が保たれると思いますが、どう?

まぁ、気持ちはわかる。消えて欲しくないものが消えたらクレームものだけど、消えないで残ってるって気持ち悪いくらいで深刻さが違うから。元々ブログだし Permalink って何かわかってんのか! と言いたい気持ちもわからんでもないけど。

でも、いい加減これ標準仕様にならないかしら...

トラックバック(0)

トラックバックURL: http://junnama.alfasado.net/cgi/mt/mt-tb.cgi/768

コメントする

Facebook

Twitter

このブログ記事について

このページは、Junnama Nodaが2014年3月24日 10:26に書いたブログ記事です。

ひとつ前のブログ記事は「用紙設定の拡大・縮小に対応したテキストの印刷を実装する(Xojo)」です。

次のブログ記事は「年度末というもの。」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 6.2.6