eZ Publish から eZ Platform へ
eZ Publish は 5 からフレームワークに Symfony を採用し、6 から製品名を eZ Platform に変更するなど大きく舵を切っています。
概要
バージョン | 呼称 | カーネル | フレームワーク | テンプレート |
---|---|---|---|---|
eZ Publish 4.x | eZ Publish | legacy stack | eZ Components | eZ Templates |
eZ Publish 5.x | eZ Publish Platform | デュアルカーネル (legacy / new stack 併存) |
Zeta Components Symfony |
eZ Templates Twig |
eZ Publish 6.x | eZ Platform eZ Studio (有償) |
Symfony stack | Symfony | Twig |
eZ Publish 4
eZ Publish 4 までは独自フレームワークの eZ Components で開発されていました。
テンプレートは Smarty に似ている eZ Templates になります。
なお、eZ Components は2010年7月から Zeta Components に名称変更され、2012年5月以降は Apache インキュベーターから卒業し Github 上に移行しました。
eZ Publish 5 (eZ Publish Platform 5)
eZ Publish 5 から Zeta Components (レガシースタックとも呼ばれます) と Symfony スタックのデュアルカーネルで開発されるようになり、今までの開発資産を活かしたまま Symfony でも開発できるようになりました。
そのため、テンプレートは eZ Templates か Twig のいずれか(あるいは両方)を利用できます。
また、追加機能の開発は Zeta Components ベースのエクステンションか Symfony ベースのバンドルのいずれかになります。
次期バージョンである eZ Platform への移行過程であることを表現するために eZ Publish 5 を eZ Publish Platform 5 と記載するケースがありますが、完全に同義です。
eZ Platform (eZ Publish 6)
eZ Platform は eZ Publish 6 に相当する新しい製品名です。
フルスタックの Symfony に完全移行となり、テンプレートは Twig になります。
eZ Enterprise
eZ Enterprise は eZ Platform の有償サービスの名称です。これには eZ Studio が含まれます。
eZ Studio
eZ Studio は eZ Enterpirse で提供される高度な管理画面の機能です。
リリース一覧
バージョン | コードネーム | リリース日 | 備考 |
---|---|---|---|
eZ Publish 4.4 | Fuji | 2010/09/28 | |
eZ Publish 4.5 | Matterhorn | 2011/03/29 | |
eZ Publish 4.6 | Annapurna | 2011/11/18 | |
eZ Publish 4.7 | Etna | 2012/05/15 | 4.x系最終リリース。 |
eZ Publish 5.0 | Kilimanjaro | 2012/11/27 | Symfonyを採用した最初のバージョン。 |
eZ Publish 5.1 | Stadda | 2013/05/28 | レガシーDFSを使用した5.xのクラスタリングサポート、 スタッシュ利用による5系APIの永続的DBキャッシュ、 eZPage(eZflow) 読み取り専用サポート。 |
eZ Publish 5.2 | Aconcagua | 2013/11/19 | |
eZ Publish 5.3 | Ventoux | 2014/05/27 | LTS(長期サポート)リリース。 Doctrine DBALの採用、 ユーザー認証にSymfonyのセキュリティコンポーネントを採用、 Composerの完全対応、 レガシーのシングルサインオンのサポート、 new stackを使ったコンテンツプレビュー、 eZ FindでSolr 4.xサポート、 Ubuntu 14.04サポート、 Symfonyのプロファイラーでのデバッグに対応、 コメント管理の改善、 REST API v2改善、 検索APIのMapLocationサポート、 言語切り替えの改善、 地図表示のDemoの更新。 |
eZ Publish 5.4 | Castor | 2014/12/02 | LTSリリース、 独自の動画I/Oサポート、 バイナリーファイル管理、 独自の互換性を備えたクラスターサポート、 従来のDFSクラスター、動画、改良版キャッシュシステムのサポート。 5.x系最終リリース。 |
eZ Platform 1.0.1 | 2015/12/15 | ||
eZ Platform 1.2.0 | 2016/03/03 | ||
eZ Platform 1.3.0 | 2016/04/28 | ||
eZ Platform 1.4.0 | 2016/06/30 | ||
eZ Platform 1.5.0 | 2016/09/01 | ||
eZ Platform 1.6.0 | 2016/10/24 |
用語の変更
eZ Publish の用語に関して eZ Publish 5 から変更がありました。
ただし eZ Publish 5 の管理画面はまだレガシーのものなので、結局古い用語がそのまま使われています。
eZ Publish 4 | eZ Publish 5 / eZ Platform | 他CMSでの呼称 |
---|---|---|
エクステンション | バンドル | プラグイン/モジュール |
モジュール | コントローラー | |
アクション | (コントローラーの)メソッド | |
ビュー | (アクションの結果を表示する)テンプレート | |
テンプレートオペレータ | テンプレートフィルター | |
クラス | コンテンツタイプ | カスタム投稿タイプ |
クラス属性 | フィールド定義 | カスタムフィールド |
オブジェクト | コンテンツ(アイテム) | |
属性 | フィールド | |
データタイプ | フィールドタイプ | |
ノード | ロケーション | |
バージョン | バージョン情報 | |
属性コンテンツ | フィールド値 |
http://share.ez.no/blogs/ez/migrating-from-ez-publish-4-to-ez-publish-5-basic-concepts
https://doc.ez.no/pages/viewpage.action?pageId=2720567
テンプレート記法
eZ Templates (eZ Publish 4) | Twig (eZ Publish 5 / eZ Platform) | 備考 |
---|---|---|
{* コメント *} |
{# コメント #} |
出力されない |
{literal}li{margin:0}{/literal} |
{% verbatim %}li{margin:0}{% endverbatim %} |
li{margin:0} |
{def $var='hello'}{$var} |
{% set var = 'hello' %}{{ var }} |
hello |
{def $array=array('hello','world')}{$array.1} |
{% set array = ['hello' ,'world'] %}{{ array.1 }} |
world |
{include uri='design:ezdemo/page_head.tpl'} |
{%include 'eZDemoBundle::page_head.html.twig' %} |
|
{$node.data_map.title} |
{{ ez_field_value( content, 'title' ) }} |
|
{attribute_view_gui attribute=$node.data_map.title} |
{{ ez_render_field( content, 'title' ) }} |
|
{$node.name} |
{{ content.contentInfo.name }} |
|
{node_view_gui content_node=$post view='line'} |
{{ render( controller( 'ez_content:viewLocation', {'locationId': post.contentInfo.mainLocationId, 'viewType': 'line' ) ) }} |
|
{$node.url_alias} |
{{ path(location) }} |
|
{$posts = fetch('content', 'list', hash( 'parent_node_id', 2 ))} |
{{ render( controller( 'MyBundle:ContentList', { 'parent_location': 2 } ) ) }} |