##eZ Publish / eZ Platform Advent Calendar 2016
2日目は eZ Publish の特徴について解説します。
eZ Publish の特徴
eZ Publish には主に以下のような特徴があります。
- eZ Systems 社による製品の有償サポート
- 汎用的なコンテンツ設計ができるコンテンツタイプ
- コンテンツを視覚的な階層構造で管理できるツリー表示
- ロケーションによる重複しないコンテンツ配置
- 階層的にユーザーを整理できるユーザー管理
- ユーザー権限の詳細な設定が可能な権限管理
- 同一コンテンツとして複数の翻訳言語を登録できる多言語対応
- 同一コンテンツに複数のテンプレートを持たせられるサイトアクセス
- フレームワークに Symfony のフルスタックを採用
ベンダーによる有償サポート
同じオープンソース CMS の WordPress や Drupal などと大きく異なるのは、 eZ Systems 社という開発元の企業がおり、製品本体に問題が生じた場合に責任を持って対応してもらえるという安心がある点です。
また、契約サブスクリプションに応じてコンサルティングを受けることが出来るので、eZ Systems 社が把握するベストプラクティスに従うことが出来ます。
eZ Platform では有償サブスクリプションの場合 eZ Studio を利用することが出来ます。
汎用的にコンテンツを設計できるコンテンツタイプ
eZ Publish はコンテンツタイプ (eZ Publish 5.4 ではまだクラスと呼ばれています) という概念でコンテンツ (Webページやブログ記事) を管理しています。
コンテンツの種類 (Webページやブログ記事) によってそれぞれ1つのコンテンツタイプを作成します。フォルダーやユーザーですらコンテンツタイプとして管理されています。
この概念により eZ Publish では CMS で管理するデータを汎用的に設計、管理することが可能となっています。
コンテンツタイプの追加、変更は管理画面から行うことが出来ます。
Drupal ではエンティティ、WordPress ではカスタム投稿タイプなどが近い概念になりますが、フォルダーやユーザーまでは対象となっておらず、eZ Publish におけるコンテンツタイプの汎用性の高さが際立ちます。
例えば CMS に登録させる各ユーザーに性別や住所などの項目を追加したいときに、ユーザーコンテンツタイプにそのフィールド (eZ Publish 5.4 ではまだ属性と呼ばれています) を追加するだけで対応することが出来ます。
コンテンツツリーによる視覚的な階層管理
管理画面において、Microsoft Windows のエクスプローラーなどでお馴染みのツリー表示に対応しています。
コンテンツ量の多い大規模サイトでは、ツリー表示されていないとページが埋もれて見つかりにくくなってしまいますが、WordPress や Drupal、Movable Type では標準で対応していません。
eZ Platform のコンテンツツリー
eZ Publish 5 のコンテンツツリー
ロケーションによる重複しないコンテンツ配置
階層的なユーザー管理
eZ Publish ではユーザーもデータ上の扱いはコンテンツと同じなので、同様にツリー表示することができます。
また、他の CMS ではユーザーのグルーピング機能がないことが多いのですが、ユーザーグループというコンテンツタイプで自由に多段階層を作成できます。
これにより、ユーザー数や部署数が多い企業でも混乱せずに安心して利用することができます。
あるいは、編集者や管理者などいまいちな権限グループによるグルーピングではなく、組織やサイトにあったグループを自由に作成することができます。
ユーザー権限の詳細な設定が可能な権限管理
同一コンテンツとして複数の翻訳言語を登録できる多言語対応
同一コンテンツに複数のテンプレートを持たせられるサイトアクセス
Symfony フレームワーク
eZ Publish は 5.0 からフレームワークに Symfony を採用しました。
Drupal も 8 から Symfony を採用していますが、あちらはライブラリー的な利用に留まるのに対して、eZ Publish ではフルスタックで利用しています。