AEM開発者ブログ by YAMATO

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

ACS AEM Commons全機能ひとこと紹介

f:id:yamato_tech:20200316171211p:plain

こんにちは、大和株式会社の浅尾です。

みなさん、ACS AEM Commonsはご存知でしょうか?

ACS AEM Commonsとは、Adobe Consulting Serviceが提供するオープンソースの便利ツール群のことで、
AEMインスタンスにパッケージをインストールすれば、

などなど、細かく分けると100個以上の便利ツールが使えるようになります。

ACS AEM Commonsで使える全機能は公式サイトで確認できるのですが、名前だけではどんな機能なんだかわからないものがたくさんあります。
一応それぞれの機能についてドキュメントが用意されているので、一つひとつ読んでいけば機能を確認していくこともできなくはないんですが、……やっぱり大変ですよね。

ということで今回は、ACS AEM Commonsの全機能に日本語でひとこと説明をつけてみました!

100個以上の機能があって一覧を見るだけでも大変かと思うので、今回はそれを以下の7つのカテゴリー

  • オーサリング関連
  • コンテンツ・ユーザー管理関連
  • AEM管理関連
  • コンポーネント開発関連
  • バックエンド開発関連
  • 全般便利ツール
  • インテグレーション関連

に分けて紹介しています。
さらに、私が「便利!」と勝手に思った機能には☆マークをつけてありますので、そこだけでも眺めてみてください!

インストール方法

機能紹介の前にインストール方法を簡単に。

お手軽なインストール方法

  • インストールするAEMのバージョンと互換性があるバージョンのうち、最新のものをここで調べる
  • リリースからそのバージョンのアセット(acs-aem-commons-content-[ver].zipもしくは、acs-aem-commons-ui.apps-[ver].zip とacs-aem-commons-ui.content-[ver].zip)をダウンロードする
  • AEMのPackage Managerでインストールする

Mavenプロジェクトに含めてインストールする方法

上の手順とは別に、Mavenでビルドしたプロジェクトパッケージのサブパッケージとして含めるという方法があります。
詳しくは、Using with Mavenで詳しく説明されているので、こちらを参考にしてください。

機能紹介

ここで紹介している機能は2020年3月16日現在のものです。(随時更新予定)
AEMのバージョンによっては利用できないものも含まれていますので、実際に利用する際はリンク先のドキュメントの確認・事前の動作確認をお願いします。

オーサリング関連

機能名 概要
QR Code Page Editor Plug-in ページの外部URLをQRコードで表示するボタンが編集画面に追加される
Page Compare 2つのページのプロパティを比較する
Shared Component Properties 異なるコンポーネント間でプロパティ値を共有できる
JCR Compare 2つのAEMインスタンス間でJCRノードを比較する
Version Comparison Tool 複数バージョン間のページのプロパティを比較する
Layer Switcher Edit / Preview / Annotate / Developer / Targeting / Toggle Side Panelのキーボードショートカットを提供する
Page and Design Reference Providers アクティベートを実行するときに、そのページが参照しているリソースもアクティベートするかどうかのダイアログを表示する

コンテンツ・ユーザー管理関連

機能名 概要
File Fetcher URLで指定したファイルを定期的にDAM Assetに配置し直すジョブ
Remote Assets 2つのAEMインスタンス間でDAM Assetを同期させるジョブ
Ensure Authorizable (FKA Ensure Service User) 指定の権限(ACE: Access Control Entry)をもつサービスユーザーをOSGi設定で管理し、自動で作成する
Review Task Asset Mover レビュータスクで承認・却下されたアセットを指定のフォルダに自動で移動させる
Property Merge POST Processor 複数のプロパティをひとつのプロパティにマージする
Manage Controlled Processes (MCP) 複雑なタスクを実行するためツールが詰まったダッシュボード(ツールの追加開発が可能)
MCP Tools / Renovator 大量のコンテンツを移動・リネームするための補助ツール
MCP Tools / Refresh Asset Folder Thumbnails 大量のアセットフォルダーのサムネイルを更新するための補助ツール
MCP Tools / Data Importer (Excelの表形式で表現された)コンテンツデータをインポートする
MCP Tools / URL Asset Import URLで指定されたアセットをインポートする
MCP Tools / S3 Asset Ingestor Amazon S3上にあるアセットをインポートする
MCP Tools / Asset Ingestor ローカルにあるアセットをインポートする
MCP Tools / Asset Folder Creator (Excelの表形式で表現された)フォルダ構造をインポートする
MCP Tools / Asset Reporting 指定したフォルダ以下のアセット情報のレポートを出力する
MCP Tools / Tag Creator (Excelの表形式で表現された)タグ構造をインポートする
MCP Tools / Deep Prune 再帰的にコンテンツを削除する
Exporters / Tags Exporter タグの一覧をCSV形式で出力する
Exporters / User Exporter ユーザーの一覧をCSV形式で出力する
Workflow Remover 大量のワークフローインスタンスを削除する
Packagers / Asset Packager 指定したパス以下のページに含まれるアセットのパッケージを作成する
Packagers / Authorizable Packager ユーザー名・グループ名を指定して、ユーザー・グループのパッケージを作成する
Packagers / Query Package クエリ結果からパッケージを作成する
Packagers / ACL Packager 指定パス以下のACLのみを含んだパッケージを作成する
Package Replication Status Updater パッケージでレプリケートされたリソースのReplication Statusを更新する
Dispatcher Flush UI 手動でDispatcher FlushができるUIを提供する
Bulk Workflow Manager v2 クエリで取得したページ・アセットすべてに対してワークフローを一挙に実行する

AEM管理関連

機能名 概要
Report Builder コンテンツのステータスをリスト化したレポートを生成する
Extending Report Builder Report Builderをさらにカスタマイズする
Configuring Report Builder Report Builderで表示するレポートを詳細設定する
Health Checks / Health Check Status E-mailer ヘルスチェックを定期的に実行し、結果をメールで送信する
Health Checks / SMTP Health Check AEMからのメール送信ができるかチェックする
Audit Log Search 監査ログを検索する
System Notifications AEMユーザーに通知(メンテナンスによる利用制限時間の通知など)をする

コンポーネント開発関連

機能名 概要
Parsys Limiter Parsysコンポーネントに配置できるコンポーネントの数を制限する
On-Deploy Scripts デプロイ時に実行したいスクリプト(sling:resourceTypeを一斉に書き換えるなど)を設定する
Assets Components / Copy Publish URL アセットのプロパティにPublish URLを表示する
Assets Components / Assets Geolocation Map アセットのプロパティに地理位置情報を書き換える
Assets Components / Asset Edit History アセットのプロパティに編集履歴を表示する
Assets Components / Asset Fonts アセットのプロパティに、そのアセットで利用されているフォントを表示する
Assets Components / Assets Color Swatches アセットのプロパティに、そのアセットに利用されている色情報のリストを表示する
UI Widgets / Contextual Pathfield Browser ルートパスを動的に取得できるようにした拡張版pathbrowser
UI Widgets / Show/Hide Widgets 選択された値によって他のWidgetを表示/非表示を制御するTouch UI Widget
UI Widgets / Query Autocomplete Datasource クエリで取得したリストをドロップダウンに表示し、さらに補完機能もついた拡張版select
UI Widgets / Path Render Condition Touch UI Widgetの表示/非表示を指定のパスに含まれるかどうかで制御できる機能
UI Widgets / Draggable Lists ドラッグで順番変更が可能なリスト型のTouch UI Widget
UI Widgets / Icon Picker アイコンが選択できるリスト型のTouch UI Widget
WCM Components / Long-form Text Component テキストの段落の間にParsysコンポーネントを自動で挟むコンポーネント
Component Error Handler コンポーネントで実行時エラーが発生したときの出力を制御する
Versioned ClientLibs クライアントライブラリーをバージョンごとに異なるファイル名で出力する
Error Page Handler 40X、50Xのエラーページを設定する
Generic Lists 異なるコンポーネント間で共有できる、ダイアログのドロップダウンリストを生成する

バックエンド開発関連

機能名 概要
Workflow Processes / Sync Smart Tags to XMP Metadata Node アセットのSmart TagをJCRノードに変換して保存するワークフロープロセス
Workflow Processes / Brand Portal Sync AEM AssetsとAEM Assets Brand Portalを同期するワークフロープロセス
Workflow Processes / Set Replication Status レプリケーションステータスを変更するワークフロープロセス
Workflow Processes / Workflow Delegation ペイロードのパスを判定して、ワークフローの途中で別のワークフローを開始するワークフロープロセス
Workflow Processes / Send Template'd E-mail テンプレート化されたメールを送信するワークフロープロセス
Workflow Processes / Replicated By Workflow Initiator cq:lastReplicatedByをワークフロー開始者に変更するワークフロープロセス
Workflow Processes / Content Traversing - Synthetic Workflow Wrapper 対象のペイロード配下のコンテンツすべてに対して新規にワークフローを開始するワークフロープロセス
Workflow Processes / Content Traversing - Replicate with Options 対象のペイロード(と、設定すれば配下のコンテンツすべてに対して)レプリケーションエージェントを指定してレプリケートするワークフロープロセス
Workflow Processes / Rendition Watermarker アセットに透かしを入れたレンディションを追加するワークフロープロセス
Workflow Processes / DAM Metadata Property Reset アセットのプロパティの上書きを防ぐために、プロパティ値を別のプロパティに退避させるワークフロープロセス
Workflow Processes / Abstract Rendition Modifying Process レンディションを操作するために使えるJavaのAbstract Class
Adobe I/O APIs Adobe I/OのAPIをバンドルから呼びやすくする
Redirect Map Manager Apache httpd Redirect Mapの作成・管理の補助ツール
Utils & APIs / Data APIs Excelファイルを扱うためのSpreadsheet API、シンプルな値を色々な型に変換するためのVariantクラスを提供する
Utils & APIs / Permission Sensitive Cache Servlet リクエストユーザーの権限ごとにレスポンスのDispatcherキャッシュをコントロールする
Utils & APIs / Children as Property Resource Wrapper API 高いパフォーマンスでJCR上で大量のツリー上データを扱えるようにするAPI
Utils & APIs / Resource Resolver Mapping Rewriter URLのResource Resolver Mappingをaタグhref属性以外にも適用させる
Utils & APIs / Static Reference Rewriter 画像・JS・CSSなどの静的コンテンツをクッキーレスドメインから取得するようにhtml内のURLをリライトする
Utils & APIs / ACS AEM Commons Utils APIs AEM開発に便利なJava Utilityパッケージ(com.adobe.acs.commons.util)を提供する
Utils & APIs / Delegating Servlet sling:resourceTypeの参照先を別のsling:resourceTypeに偽装させるサーブレットを提供する
Utils & APIs / NodeExists QueryBuilder Predicate QueryBuilderで、Nodeの存在チェックができるPredicateが使えるようになる
Vanity Path Rewrite Mapper DispatcherからのVanity Pathのリクエストを賢く解決する
Named Transform Image Servlet AEM上の画像に対して、特定の変換(リサイズ・回転・グレースケール化など)を行なった画像を返すサーブレットを提供する
Automatic Package Replication 指定のパッケージをレプリケートをスケジュールによる実行、イベントトリガーによる実行、もしくはワークフロープロセスにより実行する
Fast Action Manager 大量の処理(ワークフローの実行、レプリケーション、…など)をOSに負荷をかけないように賢く管理・処理する
WCM Components / Audio Component 音声ファイルをHTML5でサポートされているフォーマットに変換するプロセス
HTTP Cache OOTBのin-memory HTTP CacheやDispatcherではカバーできないような細かい条件でin-memoryキャッシュを設定する
Dispatcher TTL Dispatcherと組み合わせてキャッシュの有効期限を細かく制御する
Ensure Oak Index /apps内に置いたOakインデックスの設定をデプロイ時に/oak:indexに配置する
Synthetic Workflow ワークフローをJavaコード内で実行する
OSGi Component & Bundle Disablers AEM(再)起動時に、指定したOSGiコンポーネント・バンドルを起動しないように設定する
JSON Event Logger OSGiイベントをjson形式でログ出力する
Sling Models Injectors / Child Resource From Request Injector @ChildResourceが使えないケースでも使えるアノテーション@ChildResourceFromRequestを提供する
Sling Models Injectors / Hierarchical Page Property Sling Models Injector 親にさかのぼってページプロパティを取得できるアノテーション@HierarchicalPagePropertyを提供する
Sling Models Injectors / I18n Sling Models Injector i18nを簡単に適用できるアノテーション@I18Nを提供する
Sling Models Injectors / Shared Component Properties Injector 「Shared Component Properties」を利用するときに便利なアノテーション@SharedValueMapValueを提供する
Sling Models Injectors / JsonValueMapValue Sling Models Injector プロパティにJSON形式で保存されている値を扱いやすくするアノテーション@JsonValueMapValueを提供する
Sling Models Injectors / AEM Objects Sling Models Injector <cq:defineObjects/>で呼び出していたようなオブジェクトをInjectできるアノテーション@AemObjectを提供する
ETag Support Entity Tagによるコンテンツの同一性チェックをする
E-mail / Stylesheet Inliner ページで読み込まれているCSSをインライン化する
E-mail / Email API メールを送ることができるJava APIを提供する
Sitemap Generator サイトマップを生成する
Dispatcher Flush Rules statレベルによる判定ではできないようなDispatcher Flush Ruleを設定する

全般便利ツール

機能名 概要
Quickly AEM内のページ移動を簡単にするUIを提供する
AEM Environment Indicator いま見ているAEM環境がどの環境(開発、本番、…、etc)であるかがわかるタブを表示する

インテグレーション関連

機能名 概要
Marketo Form Marketoと連携する
Watson Speech to Text Integration IBM Watsonとの連携
Syslog Integration Syslogサーバーとの連携
AEM Cloud Services / Typekit Cloud Service Typekit Cloud Serviceとの連携
AEM Cloud Services / ShareThis Cloud Services Share This Cloud Serviceとの連携
Social Integrations / Twitter Adapter Factory Twitterとの連携
Social Integrations / LinkedIn Scribe Integration LinkedInとの連携