コンソールのカスタマイズ

注意

このドキュメントでは、最新のタッチ操作対応 UI でのコンソールのカスタマイズ方法について説明します。クラシック UI には適用されません。

AEM には、オーサーインスタンスのコンソール(およびページオーサリング機能)をカスタマイズできる様々な仕組みが用意されています。

  • Clientlibs

    clientlibを使用すると、デフォルトの実装を拡張して、標準の関数、オブジェクト、メソッドを再利用しながら新しい機能を実現できます。 When customizing, you can create your own clientlib under /apps. For example it can hold the code required for your custom component.

  • オーバーレイ

    Overlays are based on node definitions and allow you to overlay the standard functionality (in /libs) with your own customized functionality (in /apps). Sling Resource Merger は継承を許可しているので、オーバーレイを作成するときに、オリジナルの 1 対 1 のコピーは必要ありません。

これらをさまざまな方法で使用して、AEM コンソールを拡張できます。一部については、以降で(大まかに)説明します。

メモ

詳しくは、次のセクションを参照してください。

このトピックについては、AEM Gems セッション - User interface customization for AEM 6.0 でも説明しています。

注意

/libs パス内の設定は​一切​変更しないでください。

/libs コンテンツは、インスタンスを次回アップグレードするとき(場合によってはホットフィックスまたは機能パックを適用したとき)に上書きされるからです。

設定およびその他の変更に推奨される方法は次のとおりです。

  1. Recreate the required item (i.e. as it exists in /libs) under /apps

  2. /apps 内で変更作業をおこないます。

For example, the following locations within the /libs structure can be overlaid:

  • コンソール(Granite UI ページに基づくすべてのコンソール)。次に例を示します。

    • /libs/wcm/core/content
メモ

ヒントおよびツールについて詳しくは、ナレッジベースの記事「Troubleshooting AEM TouchUI issues」を参照してください。

コンソールのデフォルト表示のカスタマイズ

コンソールのデフォルト表示(列、カード、リスト)をカスタマイズできます。

  1. 次の場所で、必要なエントリをオーバーレイすることによって、表示の順序を変更できます。

    /libs/wcm/core/content/sites/jcr:content/views

    先頭のエントリがデフォルトになります。

    使用できるノードは、使用できる表示オプションに関連しています。

    • column
    • card
    • list
  2. 例えば、リスト用のオーバーレイで、

    /apps/wcm/core/content/sites/jcr:content/views/list

    次のプロパティを定義します。

    • 名前sling:orderBefore
    • String
    • : column

新しいアクションをツールバーに追加

  1. 独自コンポーネントを作成し、カスタムアクション用のクライアントライブラリを含めることができます。例えば、次のファイルの Twitter に宣伝​アクションなどです。

    /apps/wcm/core/clientlibs/sites/js/twitter.js

    このアクションを独自コンソールのツールバー項目に関連付けることができます。

    /apps/<yourProject>/admin/ext/launches

    選択モードの例:

    content/jcr:content/body/content/header/items/selection/items/twitter

ツールバーアクションを特定のグループに制限

  1. カスタムレンダリング条件を使用すると、標準のアクションをオーバーレイし、レンダリング前に満たさなければならない具体的な条件を課すことができます。

    例えば、グループに基づいてレンダリング条件を制御するためのコンポーネントを作成します。

    /apps/myapp/components/renderconditions/group

  2. これをサイトコンソールの「サイトを作成」アクションに適用するには、

    /libs/wcm/core/content/sites

    オーバーレイを作成します。

    /apps/wcm/core/content/sites

  3. このアクションのレンダリング条件を追加します。

    jcr:content/body/content/header/items/default/items/create/items/createsite/rendercondition

    Using properties on this node you can define the groups allowed to perform the specific action; for example, administrators

リスト表示で列のカスタマイズ

メモ

This feature is optimized for columns of text fields; for other data types it is possible to overlay cq/gui/components/siteadmin/admin/listview/columns/analyticscolumnrenderer in /apps.

リスト表示で列をカスタマイズするには、次の手順を実行します。

  1. 使用可能な列のリストをオーバーレイします。

    • ノード上:

      /apps/wcm/core/content/common/availablecolumns

    • 新しい列を追加、または既存の列を削除します。

    詳しくは、オーバーレイ(および Sling Resource Merger)の使用を参照してください。

  2. 省略可能:

    • If you want to plug additional data, you need to write a [PageInforProvider](https://helpx.adobe.com/jp/experience-manager/6-4/sites/developing/using/reference-materials/javadoc/com/day/cq/wcm/api/PageInfoProvider.html) with a

      pageInfoProviderType プロパティの以前の場所への参照を更新します。
      例として、(GitHub から)以下に添付するクラス/バンドルを参照してください。

  3. これで、リスト表示の列コンフィギュレーターで列を選択できるようになります。

リソースのフィルタリング

コンソールを使用する際の一般的な使用例は、ユーザーがリソース(ページ、コンポーネント、アセットなど)から選択する必要がある場合です。これは、例えば、作成者が項目を選択する必要があるリストの形式で表示されます。

特定の用途に関連する内容を持つ妥当なサイズのリストにするには、カスタム述語の形式でフィルターを実装できます。詳しくは、この記事を参照してください。

このページ