どっちのMODXを使えばいいか?
MODXにはEvolutionと呼ばれる「1系」と、Revolutionと呼ばれる「2系」があります。どちらも「MODX」ですが、中身は大きく違います。MODXを新たに導入しようと考えた時、どちらを使えば良いか迷う方も多いのではないでしょうか?
Evolution(1.0系)
バージョン0.9.xから継続開発されているMODXです。1.0.x以上からEvolutionと呼んでいます。多くのユーザに利用されながら開発が進んできたEvolutionは国内の情報蓄積も多く、多数のユーザが存在します。
- 動作(ページの表示)が軽い。オープンソースCMSとしてはトップクラス。
- システムの規模が小さいため隅々まで最適化が進んでおり、問題解決が早い。MODX自体に習熟してなくとも、一般的なPHPスキルがあればなんとかなる
- 日本国内で採用実績が多く、情報も豊富
- 日本語化・日本語対応が充実しており、管理画面ごと納品するケースでも安心して渡せる
- 1.0.6J-r5以降からは、1万ページを超える規模のサイトでも安定動作。開発中の1.0.18J以降ではページ数に関係なく安定動作するようになる予定
Revolution(2.0系)
Revolution(レボリューション)2.x系は、MODXの設計思想の基本を継承しつつ、設計を再構成し開発された新しいMODXです(※Evolutionとの互換性はありません)。小中規模のサイトだけでなく、大規模サイトやマルチドメインサイトなどエンタープライズ用途での利用を想定した開発が続けられています。
(※現時点では検証不足のため、本格運用にはおすすめしません)
- ひとつのコア・ひとつの管理画面で複数のサイトを管理できる
- 拡張機能のインストールが簡単。拡張機能探しからインストールまで、管理画面内でワンストップで行なうことができる
- オブジェクト指向。スニペットやプラグインのコードはincludeで読み込まれる
- 高い自由度を持つパーサ。EvolutionのPHxプラグインよりも柔軟なコンテンツ加工を副作用の心配なく行なうことができる
- 管理画面のメニュー構成を簡単なマウス操作だけで自由に変更できる。
- コアディレクトリを任意の階層に設置できるためセキュリティ面で安心。
管理画面の違いは?
管理画面操作を実際に試すことができるデモサイトがありますので、こちらで確認してください。
比較表
Evolution | Revolution | WordPress(参考) | |
---|---|---|---|
最新バージョン | 1.1.0J | 2.5.0-pl-ja | 2024年11月24日 |
リリース日 | 2024/08/04 | 2016/04/22 | zip(md5 · sha1) |
動作環境 | PHP5.2.3-7.x MySQL5.0.15以上 |
PHP5.5-7.x MySQL5.5.x |
PHP5.2.4-7.x MySQL5.0.15以上 (※warning表示抑制) |
ライセンス | GPL v2 | GPL v2 | GPL |
インストールの しやすさ |
普通 | 簡単 | 簡単・安心 |
習得のしやすさ | 簡単 | 簡単 | PHPの読み書きスキルが必要 |
ページ表示の 軽さ・負荷 |
非常に軽い メモリ消費が非常に少ない (1.4MBまたは20KB) |
軽い 他CMSと比べてメモリ消費少なめ (5.2MB) |
重い メモリ消費が多い (17.7MB) |
扱えるサイトの規模 | 大規模サイトでも 軽快に動作 |
1万ページ以上でも問題なし。 1万ページ以下の場合は Evoより重い |
特に情報はないが 構造的にはページ数は 関係ない |
拡張機能の配布数 (※1) |
少ないが定番は揃っている | 普通 Evolutionより多い |
充実 |
拡張機能を自作 | 汎用性が高いカジュアルなAPI体系 | 論理的なAPI体系。 ある程度の学習が必要 |
汎用性が高いカジュアルなAPI体系 |
デバッグの しやすさ |
デバッグログが充実 | デバッグは困難 | Evolutionほどではないが デバッグしやすい |
配布テンプレート(※2) | ほとんどない | ほとんどない | 質・量ともに充実 |
テンプレートの自作・ カスタマイズ |
簡単。自由度が高い | 簡単。自由度が高い | HTMLだけではなくPHPの理解も必要。ループの書き方など独自のスキルが必要だが、慣れれば難しくない。 関数任せの出力が多く自由度は低い |
パーサで できること |
MODXのタグを組み合わせて柔軟なデータ制御ができる。 <!--@MODX--> <!--@IGNORE--> などの、HTML文法寄りな記述が可能 <@IF:> if文を利用可 |
Evo以上にパーサの精度が高く、複雑な入れ子記述を正確に処理できる if文は使えない |
テンプレートのパースは基本的にPHP 記事本文ではショートタグ |
ローカライズの精度 | 日本語翻訳は完遂。 関数レベルまで細かく実装 |
8割以上翻訳が進んでいるが直訳も目立つ | 通常運用には問題なし 少し翻訳にクセがあるが配慮が細かく安心 |
日本語情報 | 公式サイト以外では古めの情報が多い | 少ない | 豊富。書籍も多い |
トラブルシューティング | documentParserに主要な処理が集約されているため問題を切り分けしやすい | システムとしてはよく整理されているが、処理が分散しているため、慣れないと処理の流れを追うのは難しい | システム本体の処理は整理が進んでいるが、プラグインに注意 |
投稿画面の カスタムフィールド |
様々な形式の入力欄を自由に設置できる | カスタマイズしやすいが自由度は低め | シンプル |
管理画面の 操作性 |
軽くて扱いやすい。ブラウザを選ばない | Evolutionより 扱いやすいが重い。 IE・Operaでは調整不足 |
ブログとしては 扱いやすい |
既存サイトの移植性 | サイトインポート機能を併用すれば、効率よく短期間でサイトを移植できる。 構造的に作られていないサイトでもそのまま移植することができる。 |
1ページずつ手作業で移植する手間はあるが簡単 Evolutionよりは手間がかかる |
基本的にブログ型CMSであるため、テンプレート設計に工夫が必要 |
※1 公式サイトなどで配布されている拡張機能の数です。
※2 公式サイトなどで配布されているテンプレートの数です。ただし、MODXの配布テンプレートは少ないですが、自作やコンバートはとても簡単です。ネットで配布されているテンプレートのほとんどがMODXで簡単に流用できると考えることができます。WordPress用のテーマをMODX用に読み替えるのも簡単にできます。
どっちを使えば良いか?
通常のサイト制作にはEvolutionがおすすめです。日本語の情報も多く、シンプルなサイト運用に向いています。小規模なシステムなので、トラブルが発生した時の問題切り分けもスムーズです。負荷が軽く安定性も高いため、アクセス数が非常に多いメジャーなサイトにも向いています。
Revolutionは、MODXタグの展開(パース)に関しては精度が高い上に柔軟性に富んでおり、アイデア次第でさまざまな使いこなしができます。オーサリングツールとしてよくできており、快適にコンテンツを管理できます。
Revolutionは現在のところ管理画面操作や日本語ローカライズ、基本動作に関して多数の問題点が存在します。PHPやMySQL以外にExt JSやSmartyなど特定のスキルを必要とし、PDOもそのままではなく、xPDOという独自のレイヤーが追加されています。蓄積されるログは必要最小限の情報しか得られないため、問題発生時の原因究明もEvolutionほど容易ではありません。本格的な稼働を求められるサイトに導入する際は、念入りなテストを行うことをおすすめします。
Evolutionがバージョン1、Revolutionがバージョン2ですが、実際にはRevolutionはバージョン1の歴史がない新しいCMSです。Evolutionは前身のEtomiteから数えると長い歴史を持っており、完成度は高いです。
互換性について
基本的には、異なるCMSとして考える必要があります。データベース構造にはある程度の互換性があるため、コアファイルを入れ替えるとコンテンツ構造を保ったままテンプレート編集・ユーザ設定などの管理画面操作を行なうことは可能です。
今後の展開
RevolutionのコアをベースとしたMODX3が2013年中にリリースされることが2012年の5月に発表されました。2016年現在、まだMODX3はリリースされていませんが、Revolutionからブランチを切る形で開発は始まっています。
一方MODX Evolutionに関しては開発再開が宣言されて11年が経過し、活動が活発になっています。2013年からはチーム構成が刷新され、日本人がメインコミッターとしてプロジェクトに参加しています。
日本チームとしては、現在のところEvolutionのサポートをメインに行なっています。Revolutionは言語ファイルの翻訳や本家開発チームへの不具合報告の代行など最低限のサポートを行なっていますが、専用のサポートサイトを用意中です。MODX3に関しては、開発が始まれば、その構成を見て今後のスタンスを決定します。