AEM開発者ブログ by YAMATO

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

ACS AEM Commons全機能ひとこと紹介 2025年版

こんにちは、大和株式会社の長森です。
今回、人気記事であるACS AEM Commons全機能ひとこと紹介の最新版をお届いたします!

ACS AEM Commonsとは

ACS AEM Commonsとは、Adobe Consulting Serviceが提供するオープンソースの便利ツール群のことで、パッケージをインストールするだけで100個以上のツールを使用することができます。

機能がたくさんありすぎて、全て確認するのは難しいと思いますが、「こんな機能がある」というのを知っているのと知らないとでは大違いです!
この記事の機能一覧と紹介を参考にどんな機能があるのかを見てみて、気になった機能については公式サイトで詳細を確認していただくのが良いかなと思います。

ACS AEM Commonsの便利な機能をいくつか厳選して詳しくご紹介しているので、ぜひ以下の記事も覗いてみてください。

インストール方法

前回の記事でも紹介していますが、念のためおさらいします。
※AEM as a Cloud Service(AACS)の場合は、Mavenプロジェクトに含めてインストールする方法で行ってください。

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

ローカル開発環境向けのインストール方法です。

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

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

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

機能紹介

2025年6月26日現在である機能を以下8つのカテゴリに分けて紹介します。

AEMのバージョンによっては利用できないものも含まれていますので、実際に利用する際はリンク先のドキュメントの確認・事前の動作確認をお願いします。
また前回の記事同様、便利だと思われる機能には「☆」、前回(2020年)から追加された機能には「New」、廃止された機能には「×」をつけています。

オーサリング関連

機能名 概要 AACS AEM6.5.10+
JCR Compare 2つのAEMインスタンス間でJCRノードを比較する
Layer Switcher Edit / Preview / Annotate / Developer / Targeting / Toggle Side Panelのキーボードショートカットを提供する
Page Compare 2つのページのプロパティを比較する
Page and Design Reference Providers アクティベートを実行するときに、そのページが参照しているリソースもアクティベートするかどうかのダイアログを表示する
QR Code Page Editor Plug-in 異なるコンポーネント間でプロパティ値を共有できる
Shared Component Properties Edit / Preview / Annotate / Developer / Targeting / Toggle Side Panelのキーボードショートカットを提供する
Version Comparison Tool 複数バージョン間のページのプロパティを比較する
New Contextual Content Variables (CCVAR) テキストやコンテンツに書かれた変数を動的に置き換える

コンテンツ管理関連

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

ユーザー管理関連

機能名 概要 AACS AEM6.5.10+
Ensure Authorizable (FKA Ensure Service User) 指定の権限(ACE: Access Control Entry)をもつサービスユーザーをOSGi設定で管理し、自動で作成する
Exporters / User Exporter ユーザーの一覧をCSV形式で出力する
Packagers / Authorizable Packager ユーザー名・グループ名を指定して、ユーザー・グループのパッケージを作成する

AEM管理関連

機能名 概要 AACS AEM6.5.10+
Audit Log Search 監査ログを検索する
Report Builder コンテンツのステータスをリスト化したレポートを生成する
Configuring Report Builder Report Builderで表示するレポートの詳細設定(書式設定、パラメータ追加、…など)をする
Extending Report Builder Report Buiderをさらにカスタマイズ(report executors,列タイプ追加、…など)する
Health Checks / Health Check Status E-mailer ヘルスチェックを定期的に実行し、結果をメールで送信する
Health Checks / SMTP Health Check AEMからのメール送信ができるかチェックする
System Notifications AEMユーザーに通知(メンテナンスによる利用制限時間の通知など)をする
New Package Garbage Collector 条件を設定して不要なパッケージを削除する
New Sort JCR Nodes 指定パス配下の子ノードを名前やタイトルなどの基準で並び替える

コンポーネント開発関連

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

バックエンド開発関連

機能名 概要 AACS AEM6.5.10+
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
New Workflow Processes / Rendition Matter 指定された画像を所定の寸法に一致するように背景色を追加し、画像のサイズを正確に調整する
New Workflow Processes / Set Image Orientation 画像の横長・縦長・正方形のタグを自動付与して、検索しやすくするワークフローステップ
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に負荷をかけないように賢く管理・処理する
HTTP Cache OOTBのin-memory HTTP CacheやDispatcherではカバーできないような細かい条件でin-memoryキャッシュを設定する
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を提供する
New Sling Models Injectors / Content Policy Sling Models Injector コンテンツポリシーの値をインジェクトできるアノテーション @ContentPolicyValue を提供する
New Sling Models Injectors / Parent Resource ValueMap Value Injector 親コンポーネントのプロパティ取得に使えるアノテーション @ParentResourceValueMapValue を提供する
New Sling Models Injectors / Tag Property Sling Models Injector タグIDが格納された文字列プロパティから、TagをSling Modelに注入できるアノテーション@TagPropertyを提供する
ETag Support Entity Tagによるコンテンツの同一性チェックをする
E-mail / Stylesheet Inliner ページで読み込まれているCSSをインライン化する
E-mail / Email API メールを送ることができるJava APIを提供する
Sitemap Generator サイトマップを生成する
Dispatcher Flush Rules statレベルによる判定ではできないようなDispatcher Flush Ruleを設定する
New HTTP Caching Headers(Dispatcher TTL) HTTPヘッダーでブラウザやCDNのキャッシュの制御をする
New Http Client Factory OSGiで管理可能なHttpClientインスタンスを作成できる
× WCM Components / Audio Componen 音声ファイルをHTML5でサポートされているフォーマットに変換するプロセス

全般便利ツール

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

インテグレーション関連

機能名 概要 AACS AEM6.5.10+
Marketo Form Marketoと連携する
Watson Speech to Text Integration IBM Watsonとの連携
Syslog Integration Syslogサーバーとの連携
Social Integrations / Twitter Adapter Factory Twitterとの連携
Social Integrations / LinkedIn Scribe Integration LinkedInとの連携
New InDesign Dynamic Deck AEM AssetsからInDesignドキュメントを生成できる
New MS Office Asset Selector Microsoft OfficeアプリケーションからAEM Assetsを利用できる
× AEM Cloud Services / Typekit Cloud Service Typekit Cloud Serviceとの連携
× AEM Cloud Services / ShareThis Cloud Services Share This Cloud Serviceとの連携


最後に

ACS Commonsは、日々のAEM運用を支える強力なツールセットです。機能を知っているだけでも、トラブル対応や開発効率が大きく変わることがあります。ぜひ目的に応じて活用してみてください。

どれか一つでも「使ってみようかな」と思える機能が見つかれば嬉しいです!