eZ Publish のバージョンによる違い

## 概要
**eZ Publish** は 5.0 からフレームワークに **Symfony** を採用し、それに伴い多くの変更が発生した。
5系ではデュアルカーネルアプローチということで、4系以前の kernel を **legacy stack**、Symfony ベースの kernel を **new stack** (Symfony stack) と呼び、両者を併存させる形となっている。5系の管理画面は legacy stack をそのまま使っている。
6系では legacy stack は廃止され、完全に Symfony ベースへ移行する。

なお、6系は現時点では5系以前の機能が実装されきれていないため実用は難しい。
そのため、製品版の **eZ Publish 5.4** か、コミュニティ版の **eZ Publish Community Project 2014.11** を使用するのがベストである。
なお、6系よりレガシースタックは廃止されるため、5系でもデザインも機能追加も Symfony バンドルとして開発するのが望ましい。

| バージョン | 呼称         | カーネル | フレームワーク |
|-----------|----------------------|------------|------------|
| eZ Publish 4.x | eZ Publish         | legacy stack | eZ Components |
| eZ Publish 5.x | eZ Publish Platform| デュアルカーネル<br>(legacy / new stack 併存) | Zeta Components<br>Symfony |
| eZ Publish 6.x | eZ Platform<br>eZ Studio (有償) | Symfony stack | Symfony |

## eZ Publish の歴史
### 製品版
| バージョン | 開発コード名 | リリース日 | 備考  |
|-----|-------------|------------|------------|
| 5.4 | Castor      | 2014/12/02 |  |
| 5.3 | Ventoux     | 2014/05/27 |  |
| 5.2 | Aconcagua   | 2013/11/19 |  |
| 5.1 | Stadda      | 2013/05/28 |  |
| 5.0 | Kilimanjaro | 2012/11/27 |  |
| 4.7 | Etna        | 2012/05/15 |  |
| 4.6 | Annapurna   | 2011/11/18 |  |
| 4.5 | Matterhorn  | 2011/03/29 |  |
| 4.4 | Fuji        | 2010/09/28 |  |
### コミュニティ版
#### 6系
* eZ Platform 15.11
* eZ Platform 15.09
* eZ Platform 15.07
* eZ Platform 15.05 alpha
* eZ Platform 15.03 alpha
* eZ Platform 15.01 alpha

#### 5系
* eZ Publish Community Project 2014.11
* eZ Publish Community Project 2014.07
* eZ Publish Community Project 2014.05
* eZ Publish Community Project 2014.03
* eZ Publish Community Project 2014.01
* eZ Publish Community Project 2013.11
* eZ Publish Community Project 2013.09
* eZ Publish Community Project 2013.07
* eZ Publish Community Project 2013.06
* eZ Publish Community Project 2013.05
* eZ Publish Community Project 2013.4
* eZ Publish Community Project 2013.1
* eZ Publish Community Project 2012.12
* eZ Publish Community Project 2012.11
* eZ Publish Community Project 2012.9

#### 4系
* eZ Publish Community Project 2012.8
* eZ Publish Community Project 2012.6
* eZ Publish Community Project 2012.5
* eZ Publish Community Project 2012.4
* eZ Publish Community Project 2012.3
* eZ Publish Community Project 2012.2
* eZ Publish Community Project 2012.1
* eZ Publish Community Project 2011.12
* eZ Publish Community Project 2011.11
* eZ Publish Community Project 2011.10
* eZ Publish Community Project 2011.9
* eZ Publish Community Project 2011.8
* eZ Publish Community Project 2011.7
* eZ Publish Community Project 2011.6
* eZ Publish Community Project 2011.5
* eZ Publish Community Project 4.2011
* eZ Publish Community Project - 4.5 BETA - Matterhorn
* eZ Publish Community Project - 4.4 - Fuji (2010/09/27)
* eZ Publish 4.3 (2010/03/30)
* eZ Publish 4.2 (2009/09/29)
* eZ Publish 4.1.4
* eZ Publish 4.0.7

## フレームワーク
| 採用技術 | eZ Publish 4         | eZ Publish 5         | eZ Publish 6         | 備考        |
|---|----------------------|----------------------|------------|------------|
| フレームワーク      | eZ Components        | Zeta Components<br>Symfony  | Symfony  | eZ Components は<br>2010年7月から<br>Zeta Components に<br>名称変更された |
| テンプレート<br>エンジン | eZ Publish Templates         | eZ Publish Templates<br>Twig     | Twig     |  |
| 設定ファイル | INI         | INI / YAML     | YAML     |  |

## システム要件
| Ver. | Apache | PHP | DB | 備考        |
|---|----------------------|----------------------|------------|------------|
|  |  |  |  | |

## 用語
用語に関して5系より変更が行われた。ただし、5系の管理画面はレガシーのものなので、結局古い用語がそのまま使われている。

| eZ Publish 4         | eZ Publish 5/6         | 備考        |
|----------------------|----------------------|------------|
| エクステンション      | バンドル              |  |
| モジュール            | コントローラー        |  |
| アクション            | コントローラーのメソッド              |  |
| ビュー               | アクションの結果を表示するテンプレート |  |
| テンプレートオペレータ | テンプレートフィルター |  |
| クラス               | コンテンツタイプ       |  |
| クラス属性            | フィールド定義         |  |
| オブジェクト          | コンテンツ            |  |
| 属性                 | フィールド            |  |
| データタイプ          | フィールドタイプ      |  |
| ノード               | ロケーション          |  |
| バージョン            | バージョン情報        |  |
| 属性コンテンツ        | フィールド値          |  |

| eZ Publish 4                                                     | eZ Publish 5/6         | 備考 |
|------------------------------------------------------------------|----------------------|------------|
| `{* コメント *}`                   | `{# コメント #}`                              | 出力されない |
| `{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 } ) ) }}` |  |

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


## リンク
1. [eZ Publish とは](http://qiita.com/bezeklik/items/d1cdc65d57e14e0a18d2)
2. [eZ Publish の特徴](http://qiita.com/bezeklik/items/e168f99064a9233353ec)
3. [eZ Publish と他の CMS との比較](http://qiita.com/bezeklik/items/7c07df73fa6f0ddf1203)
4. [eZ Publish のバージョンによる違い](http://qiita.com/bezeklik/items/3c98ae4764199931da86)