AEM開発者ブログ by YAMATO

アドビ社のデリバリーパートナー大和株式会社のAEM開発者ブログです。

【AEM as a Cloud】ページプロパティのバルク編集 

こんにちは! 大和株式会社の青葉です。

アドベントカレンダー5日目は、AEM as a Cloud(AACS)関連のTipsをご紹介したいと思います。

AACSになってから変わったこと

突然ですが、AACSではページプロパティのバルク編集がデフォルトで無効になっています!

AEM 6.5では、ページプロパティのバルク編集はデフォルトでできますが、プロジェクトによってバルク編集する項目が異なるという理由でAACSからは無効にされています。

ページプロパティ バルク編集を有効化するには?

端的に言うと、CRXDEの/apps下にバルク編集を有効にするようノード・プロパティ構造を作ればOKです。やり方はいくつかあると思いますが、ここではローカル環境でWKNDサイトの例を使って有効化する方法をご紹介します。順番に見ていきましょう。

(1) CRXDEにアクセスする
(2) /libs/wcm/foundation/components/basicpage/v1/basicpage/cq:dialogにて、cq:dialogノードをコピーする

f:id:yamato_tech:20201214163246p:plain

(3) WKNDサイトで使っている、ページコンポーネントのノードを開く:/apps/wknd/components/structure/page

f:id:yamato_tech:20201214163400p:plain

(4) pageノードの下にペーストし、保存する
(5) ペーストしたcq:dialogノード構造を展開する

f:id:yamato_tech:20201214163850p:plain

(6) items下にぶら下がっているノード構造を削除し、保存する ※items下にノードが1つもない状態であることを確認
(7) /libs/wcm/foundation/components/basicpage/v1/basicpage/tabs/basicにて、basicノードをコピーする

f:id:yamato_tech:20201214164126p:plain

basic下にぶら下がっているノード構造は、ページプロパティの基本タブに表示されている項目群に該当します。

(8) /apps/wknd/components/structure/page/cq:dialog/content/items/tabs/itemsにて、itemsノードの下にペーストし、保存する

f:id:yamato_tech:20201214164340p:plain

★この時点で、サイトコンソールにて複数ページを選択してプロパティを開くと、「基本」タブにある項目のバルク編集はできるようになります。

発展編:特定の項目だけバルク編集を有効化するには?

せっかくなので、一部の項目だけ編集できるように調整するやり方もご紹介したいと思います。例えばタグ項目だけバルク編集できるようにして、他の項目は無効化するにはどうしたらいいのか、順番に見ていきましょう。

実作業に入る前に、CRXDE上のノードと、ページプロパティ上のどの項目が一致しているか、確認しておきましょう。 下の図をご覧ください。

f:id:yamato_tech:20201214154635p:plain CRXDEのパス:
/apps/wknd/components/structure/page/cq:dialog/content/items/tabs/items/basic/items/column/items

tagsノードのallowBulkEditプロパティだけtrueにセットされるように調整すればよいですね。他はfalseにセットします。

(1) バルク編集を無効にする項目のノードをクリック
(2) プロパティ一覧にallowBulkEditがあれば値をfalseに設定する
(3) 子ノード(granite:data)があればクリックし、プロパティ一覧にallowBulkEditがあれば値をfalseに設定する

以下はオンタイム項目の例:

f:id:yamato_tech:20201214173234p:plain

(4) サイトコンソールに戻り、タグ項目だけバルク編集できるか確認する

f:id:yamato_tech:20201214173558p:plain

最終的に変更を加えたノードは以下の通りです:

f:id:yamato_tech:20201214155037p:plain

※ほとんどの項目はgranite:dataノードのallowBulkEditfalseにすればよいのですが、ナビゲーションタイトル項目のみ、navigationtitleノードとgranite:dataノードのプロパティを編集する必要があります。

次回予告

次回は狩野さんが担当します、テーマは"HTL to Java, Java to HTL"です!
私も楽しみにしています~!