eZ Platform で Netgen Admin UI を利用する


Netgen Admin UI

http://www.netgenlabs.com/Blog/We-are-releasing-Netgen-Admin-UI-to-the-public
2017年6月3日に Netgen から Negen Admin UIGitHub で公開されました。
Netgen Admin UI は eZ Publish 時代から Netgen 社によって開発されてきた独自の管理画面です。
eZ Platform 1.x の管理画面は使い勝手がまだ十分でないこともあり、公開されたこのバンドルを活用するのは選択肢の一つとして検討に値するでしょう。

eZ Platform

eZ Platform 1.10.0 インストール手順」を参考に eZ Platform 本体をインストールします。

eZ Platform Legacy Bridge

Netgen Admin UI は Legacy モードで利用するため、「eZ Platform を Legacy モードで利用する」を参考に Legacy Bridge をインストールします。

Netgen Rich Text datatype bundle

ドキュメントに記載がなくハマりましたが、Legacy ベースの Netgen Admin UI は richtext フィールドタイプに対応していないため、 Netgen Rich Text datatype bundle をインストールしてやる必要があります。

バンドルのインストール

composer require netgen/richtext-datatype-bundle:^1.0

バンドルの有効化

app/AppKernel.php
    public function registerBundles()
    {
        $bundles = array(
...
            new Netgen\Bundle\RichTextDataTypeBundle\NetgenRichTextDataTypeBundle(),
            new AppBundle\AppBundle(),
            new eZ\Bundle\EzPublishLegacyBundle\EzPublishLegacyBundle( $this ),
        );

エクステンションの有効化 (eZ Publish Legacy)

mkdir ezpublish_legacy/settings/override
ezpublish_legacy/settings/override/site.ini.append.php
<?php /*

[ExtensionSettings]
ActiveExtensions[]=ezrichtext

*/ ?>

オートロードの再生成 (eZ Publish Legacy)

php app/console ezpublish:legacy:script bin/php/ezpgenerateautoloads.php

キャッシュクリア

php app/console cache:clear

Netgen Admin UI

バンドルの有効化

app/AppKernel.php
    public function registerBundles()
    {
        $bundles = array(
...
            new eZ\Bundle\EzPublishLegacyBundle\EzPublishLegacyBundle( $this ),
            new Lolautruche\EzCoreExtraBundle\EzCoreExtraBundle(),
            new Netgen\Bundle\AdminUIBundle\NetgenAdminUIBundle(),
        );

ルーティングのインポート

app/config/routing.yml
_netgen_admin_ui:
    resource: "@NetgenAdminUIBundle/Resources/config/routing.yml"

エクステンションの有効化 (eZ Publish Legacy)

ezpublish_legacy/settings/override/site.ini.append.php
<?php /*

[ExtensionSettings]
ActiveExtensions[]=ngadminui
ActiveExtensions[]=ngsymfonytools
ActiveExtensions[]=ezdemo
ActiveExtensions[]=ezjscore
ActiveExtensions[]=ezoe
ActiveExtensions[]=ezrichtext

[SiteAccessSettings]
AvailableSiteAccessList[]=ngadminui
CheckValidity=false

*/ ?>

インストール

composer require netgen/admin-ui-bundle:^2.0
php app/console ngadminui:install
app/config/ezplatform.yml
imports:
    - { resource: ngadminui.yml }

オートロードの再生成 (eZ Publish Legacy)

php app/console ezpublish:legacy:script bin/php/ezpgenerateautoloads.php

キャッシュクリア

php app/console e:l:s bin/php/ezcache.php --allow-root-user --clear-all --purge
php app/console c:c

パーミッション設定 1

chown -R apache. ezpublish_legacy/{design,extension,settings,var}
find ezpublish_legacy/{design,extension,settings,var} -type d | xargs chmod -R 775
find ezpublish_legacy/{design,extension,settings,var} -type f | xargs chmod -R 664