Movable Type(MT)のファイル数を減らしてみた

Movable Type(MT)のファイル数を減らしてみた

Posted at April 12,2010 1:55 AM
Tag:[MovableType]

Movable Type(MT)のダウンロードアーカイブに含まれるファイル数は、バージョン5.01でそれぞれ次のようになっています。

  • Movable Type Pro(コマーシャルパック・コミュニティパックあり):3254
  • MTOS:2646

Movable Type(MT)のダウンロードアーカイブをローカルPCで展開してからアップロードする場合、ファイル数が多いとアップロードに結構時間がかかります。

ということで、ファイル数が少ない方のMTOSを使って、ディレクトリやファイルをどこまで減らして正常に動作するか、実験しました。

なお、ここで掲載している「ファイル数」は、Windowsのエクスプローラから該当のディレクトリを右クリックして「プロパティ」で表示される「ファイル数」を元にしています。

実験したサーバはCORESERVER-Aです。サーバによってインストールされているPerlモジュールが異なるので、2項のextlibに差があるかもしれません。

実験前の各ディレクトリのファイル数は次の通りです(合計は2646になりませんが・・・)。

  • alt-tmpl:0
  • default_templates:58
  • extlib:317
  • import:0
  • lib:242
  • mt-static:679
  • php:838
  • plugins:87
  • search_templates:4
  • themes:188
  • tmpl:199
  • tools:17

ちなみにWordPress 3.0βは815ファイルなので、削減後の目標ファイル数は815です。

1.ディレクトリを削除

まず、ディレクトリ自体を削除したものは次です。

  • alt-tmpl
  • default_templates
  • import
  • php
  • plugins
  • search_templates

alt-tmplは、代替テンプレート用のディレクトリなので、利用しない場合は不要です。必要であれば適宜復活させてください。空のディレクトリなので削減ファイルは0です。

default_templatesは、Movable Type 4.xまでのデフォルトテンプレートが格納されています。Movable Type 5ではthemesディレクトリのクラシックテーマから読み込まれるので(多分)不要です。これで58ファイル削減されます。

importは、記事のインポートを行うときに利用するディレクトリですが、インポート時はローカルPCの任意のフォルダを指定できるのであれば、なくても問題ありません。空のディレクトリなので削減ファイルは0です。

phpはダイナミックパブリッシングのファイルが格納されていますが、ダイナミックパブリッシングを行わない場合は不要です。これで838ファイル削減されます。

pluginsはプラグインファイルが格納されていますが、実験レベルなので、とりあえず丸ごと削除しました。スタイル切り替えやスパム関係の機能が使えなくなります。これで87ファイル削減されます。

search_templatesには、検索結果をフィードで購読するためのresults_feed.tmplがありますが、実験レベルなので、とりあえず丸ごと削除しました。これで4ファイル削減されます。

2.extlibディレクトリ

extlibディレクトリに次のディレクトリとファイルを残し、他を削除しました。インストールや基本的な動作(記事投稿・再構築・アイテムアップロード・検索・インポート・バックアップ・テーマ切り替え)は行えるようです(何をもって基本とするかはありますが)。全ての動作は確認できていません。

  • auto
  • Class
  • Data
  • File
  • Image
  • JSON
  • Lucene
  • TheSchwartz
  • URI
  • YAML
  • JSON.pm

これで205ファイル削減されます。

2.libディレクトリ

コア機能なので、基本的に削除できるファイルはありませんが、日本語で利用する場合、L10Nディレクトリに不要なローカライズファイルがあるので、en_us.pm、ja.pmのみを残して、他のファイルを削除しました。これで4ファイル削減されます。

3.mt-staticディレクトリ

以下のファイル・ディレクトリを削除しました。

  • themesからminimalist-red以外を削除
  • pluginsディレクトリを削除
  • codepressディレクトリ削除(MT4で利用していた機能?)
  • mt-static/jqueryui/i18nにjquery-ui-i18n.js、ui.datepicker-ja.jsのみを残して他を削除

これで147ファイル削減されます。

4.toolsディレクトリ

スケジュールタスクに必要なrun-periodic-tasksを残して他のファイルを削除します。これで16ファイル削減されます。

5.まとめ

1~4を行うことで、2646ファイルから1192ファイルに削減されました。目標の815ファイルには届きませんでしたが、ファイル数を半分以下に減らすことができました。

実験後の各ディレクトリのファイル数は次の通りです(カッコ内は削減ファイル数)。

  • alt-tmpl:0(±0)
  • default_templates:0(-58)
  • extlib:112(-205)
  • import:0(±0)
  • lib:238(-4)
  • mt-static:532(-147)
  • php:-(-838)
  • plugins:0(-87)
  • search_templates:0(-4)
  • themes:110(-78)
  • tmpl:199(±0)
  • tools:1(-16)

Movable Type Proの場合で行う場合は、addonsディレクトリとmt-static/addonsを削除すれば、大体同じ効果が得られます。ただし、カスタムフィールドを利用する場合は、addons/Commercial.packとmt-static/addons/Commercial.packは残す必要があります。

6.その他

Movable Typeに必要なPerlモジュールのチェックを行うためのmt-check.cgiでは必須モジュールとして、

  • CGI::Cookie
  • File::Spec (version >= 0.8)
  • Image::Size
  • CGI
  • DBI (version >= 1.21)
  • DBD::mysql

が表示されますが、今回の実験では、例えばJSON/JSON.pmがないと、データベースのイントールが進行しませんでした。

あと、ファイルを調査して思ったのは、管理画面で利用されるアイコン用の画像ファイルが結構多い(355ファイル)ので、複数の画像ファイルをいくつかのまとまったファイルに統合できれば、ファイル数をさらに減らせると思います。

関連記事
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)