Movable Type(MT)のファイル数を減らしてみた
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ファイル)ので、複数の画像ファイルをいくつかのまとまったファイルに統合できれば、ファイル数をさらに減らせると思います。
- Movable Type 8リリース
- MovableType 7のコンテンツデータのデータ識別ラベルを自動入力する方法
- 「MovableTypeを導入したときに参考になる記事まとめ」で紹介されました
- Movable Typeの新規記事投稿で公開日に現在時刻を設定する方法
- 上位100ブログの利用ブログツール1位はWordPressではなくMovable Type
- Movable Typeの旧バージョンを入手する方法
- 第2回「MTCafe Tokyo」開催のお知らせ
- MTCafe Tokyoに参加しました
- 「スマートフォンオプション for Movable Type」の発売開始
- MTCafe開催のお知らせ
- Movable Type 10周年とMovable Typeを知らない方へ
- MovableType.jpに寄稿しました
- 「Movable Type 5.1 プロの現場の仕事術」Amazonで予約開始
- Movable Type 5を始める前に設定しておきたい10の項目
- 書籍「Movable Type 5.1プロの現場の仕事術」をMovable Type 5.1購入時にもれなくプレゼント