パッケージマネージャー

パッケージを使用すると、リポジトリコンテンツの読み込みと書き出しが可能になります。パッケージを使用すると、新しいコンテンツのインストール、新しい機能のインストール、インスタンス間でのコンテンツの転送、リポジトリコンテンツのバックアップを行うことができます。

パッケージマネージャーを使用すると、開発目的で、AEM インスタンスとローカルファイルシステムの間でパッケージを転送できます。

パッケージとは

パッケージとは、リポジトリコンテンツをファイルシステムのシリアル化形式で保持する zip ファイルであり、コンテナのシリアル化と呼ばれ、使いやすく編集しやすい形式でファイルやフォルダーを表します。パッケージに含まれるコンテンツは、フィルターを使用して定義します。

パッケージには、フィルター定義や読み込み設定情報など、コンテナのメタ情報も含まれています。説明、視覚的な画像、アイコンなど、パッケージの抽出には使用されない追加のコンテンツプロパティをパッケージに含めることができます。これらの追加のコンテンツプロパティは、コンテンツパッケージのコンシューマー向けのもので、情報提供だけを目的としています。

メモ

パッケージは、そのパッケージを作成した時点におけるコンテンツの現在のバージョンを表しています。AEM がリポジトリに保持している以前のバージョンのコンテンツは含まれません。

パッケージマネージャー

パッケージマネージャーは、AEM インストール上のパッケージを管理します。必要な権限の割り当てを行うと、パッケージマネージャーを使用してパッケージの設定、ビルド、ダウンロード、インストールなど様々なアクションを実行できます。

必要な権限

パッケージを作成、変更、アップロード、インストールするには、次のノードで適切な権限が必要です。

  • /etc/packages での削除を除く完全な権限
  • パッケージコンテンツを含むノード
注意

パッケージに対する権限を付与すると、機密情報の開示やデータの損失が発生する場合があります。

これらのリスクを低減するため、専用のサブツリーに対してのみ特定のグループ権限を付与することを強くお勧めします。

パッケージマネージャーへのアクセス

パッケージマネージャーには次の 3 つの方法でアクセスできます。

  1. AEM のメインメニューから ツールデプロイメントパッケージ​を選択
  2. CRXDE Lite から上部のスイッチャーバーを使用
  3. http://<host>:<port>/crx/packmgr/ に直接アクセス

パッケージマネージャー UI

パッケージマネージャーは、次の 4 つの主な機能領域に分かれています。

  • 左ナビゲーションパネル - このパネルでは、パッケージのリストをフィルタリングおよび並べ替えることができます。
  • パッケージリスト - これは、左側のナビゲーションパネルでの選択に従ってフィルタリングおよび並べ替えられた、インスタンス上のパッケージのリストです。
  • アクティビティログ - このパネルは最初は最小化され、パッケージのビルド時やインストール時などに、パッケージマネージャーのアクティビティの詳細を表示するために拡張されます。「アクティビティログ」タブには、次の操作を行うための追加のボタンがあります。
    • ログを消去
    • 表示/非表示
  • ツールバー - ツールバーには、左側のナビゲーションパネルとパッケージリスト用の更新ボタン、およびパッケージを検索、作成、アップロードするためのボタンが含まれています。

パッケージマネージャー UI

左側のナビゲーションパネルでオプションをクリックすると、パッケージリストが直ちにフィルタリングされます。

パッケージ名をクリックすると、「パッケージリスト」のエントリが展開され、パッケージの詳細が表示されます。

展開されたパッケージの詳細

パッケージの詳細を展開すると、ツールバーのボタンを使用して、パッケージに対して様々なアクションを実行できます。

その他」ボタンの下には、利用できるアクションが他にもあります。

パッケージのステータス

パッケージリスト内の各エントリには、パッケージのステータスを一目で把握できるステータスインジケーターが表示されます。ステータスの上にマウスポインターを置くと、ステータスの詳細を示すツールヒントが表示されます。

パッケージステータス

パッケージが変更された、または構築されなかった場合、ステータスは、パッケージを再構築またはインストールするためのクイックアクションを実行するリンクとして表示されます。

パッケージ設定

パッケージとは基本的に、一連のフィルターと、これらのフィルターに基づくリポジトリデータです。パッケージマネージャーの UI を使用して、パッケージをクリックし、「編集」ボタンをクリックすると、次の設定を含むパッケージの詳細が表示されます。

一般設定

様々なパッケージ設定を編集して、パッケージの説明、依存関係、プロバイダー詳細などの情報を定義できます。

パッケージ設定​ダイアログは、パッケージの作成中または編集中に「編集」ボタンから使用できます。変更が完了したら、「 保存」をクリックします。

パッケージダイアログの一般設定の編集

フィールド 説明
名前 パッケージの名前
グループ パッケージを整理するために、新しいグループの名前を入力するか、既存のグループを選択できます
バージョン このバージョンに使用するテキスト
説明 書式設定用の HTML マークアップを許可するパッケージの簡単な説明
サムネール パッケージリストと共に表示されるアイコン

パッケージサムネール

サムネールは、パッケージの内容を、視覚的にすぐに把握できるような表示を提供します。これがパッケージリストに表示され、パッケージやパッケージのクラスを簡単に識別できます。

公式パッケージで使用される規則の例を次に示します。

公式のホットフィックス

公式ホットフィックスのサムネール

拡張機能の公式 AEM インストール

公式の AEM インストールまたは拡張サムネール

公式サービスパック

公式の AEM サービスパックアイコン

パッケージに固有のアイコンを使用します。アドビが使用しているアイコンを再利用しないでください。

パッケージフィルター

フィルターは、パッケージに含めるリポジトリノードを識別します。フィルター定義​によって、以下の情報が指定されます。

  • 含めるコンテンツの​ルートパス
  • ルートパスの下で特定のノードを含める、または除外する​ルール

+ 」ボタンを使用して、ルールを追加します。「- 」ボタンを使用してルールを削除します。

ルールは順序に従って適用されるため、必要に応じて​上向き​および​下向き​の矢印ボタンを使用してルールを配置します。

フィルターにはルールを含めないことも、いくつか含めることもできます。ルールを何も定義しない場合、パッケージにはルートパスの下のすべてのコンテンツが含まれます。

1 つのパッケージに対して 1 つまたは複数のフィルター定義を指定できます。複数のルートパスのコンテンツを含めるには、複数のフィルターを使用します。

「フィルター」タブ

フィルターを作成する場合、パスを定義するか、正規表現を使用することにより、含めたり除外したりするすべてのノードを指定できます。

ルールタイプ 説明
include ディレクトリを含めると、そのディレクトリと、そのディレクトリ内のすべてのファイルとフォルダー(つまりサブツリー全体)が含まれますが、指定したルートパスの下にある他のファイルやフォルダーは含まれ​ません
exclude ディレクトリを除外すると、そのディレクトリと、そのディレクトリ内のすべてのファイルとフォルダー(つまりサブツリー全体)が除外されます。

パッケージフィルターが定義されるのは、ほとんどの場合、最初にパッケージを作成するときです。 ただし、後で編集することもできますが、後でパッケージを再作成して、新しいフィルター定義に基づいてその内容を更新する必要があります。

ヒント

1 つのパッケージに複数のフィルター定義を含めることができるので、別々の場所のノードを組み合わせて 1 つのパッケージにすることも簡単です。

依存関係

「依存関係」タブ

フィールド 説明 例/詳細
テスト環境 このパッケージのターゲットまたは互換性のある製品名およびバージョン。 6.5
修正された問題 このパッケージで修正されたバグの詳細をリストするテキストフィールド。1 行に 1 つのバグが表示されます。 -
依存 現在のパッケージがインストール時に期待どおりに実行されるように、必要なその他のパッケージをリストします。 groupId:name:version
置き換え このパッケージで置き換えられる、廃止されたパッケージのリスト groupId:name:version

詳細設定

「詳細設定」タブ

フィールド 説明 例/詳細
名前 パッケージのプロバイダーの名前 WKND Media Group
URL プロバイダーの URL https://wknd.site
リンク プロバイダーページへのパッケージ専用のリンク https://wknd.site/package/
次を必要とする パッケージのインストール時に制限があるかどうかを定義します 管理者 - パッケージは管理者権限でのみインストールする必要があります。
再起動 - AEM はパッケージのインストール後に再起動する必要があります。
AC の処理 パッケージ読み込み時にパッケージで定義されているアクセス制御情報の処理方法を指定します 無視 - リポジトリ内の ACL を保持します。
上書き - リポジトリ内の ACL を上書きします。
結合 - 両方の ACL セットを結合します。
MergePreserve - コンテンツ内に存在しないプリンシパルのアクセス制御エントリを追加して、コンテンツ内のアクセス制御をパッケージに付属するエントリと結合します。
クリア - ACL をクリアします。

パッケージスクリーンショット

パッケージに複数のスクリーンショットを添付して、コンテンツがどのように表示されるかを視覚的に示すことができます。

「スクリーンショット」タブ

パッケージアクション

1 つのパッケージで実行できるアクションは多数あります。

パッケージの作成

  1. パッケージマネージャーにアクセスします。

  2. パッケージを作成」をクリックします。

    ヒント

    インスタンスに多数のパッケージがある場合は、フォルダー構造が存在する可能性があります。そのような場合は、新しいパッケージを作成する前に必要なターゲットフォルダーに移動する方が簡単です。

  3. 新規パッケージ​ダイアログで、次のフィールドを入力します。

    新規パッケージダイアログ

    • パッケージ名 - パッケージのコンテンツを(その他のユーザーが)簡単に識別できるように、わかりやすい名前を選択します。

    • バージョン - バージョンを示すためのテキストフィールドです。これはパッケージ名に追加され、zip ファイルの名前を形成します。

    • グループ - ターゲットグループ(またはフォルダー)の名前です。グループは、パッケージの整理に役立ちます。グループのフォルダーがまだ存在しない場合は作成されます。グループ名を空白のままにすると、メインのパッケージリストにパッケージが作成されます。

  4. OK」をクリックしてパッケージを作成します。

  5. AEM では、新しいパッケージがパッケージのリストの最上部に表示されます。

    新規パッケージ

  6. 編集」をクリックして、パッケージの内容を定義します。設定の編集が完了したら、「保存」をクリックします。

  7. これで、パッケージをビルドできます。

パッケージを作成した後すぐにビルドする必要はありません。未ビルドパッケージにはコンテンツが含まれず、フィルターデータとパッケージの他のメタデータのみで構成されます。

パッケージのビルド

多くの場合、パッケージはパッケージを作成と同時にビルドされますが、後の時点で戻ってビルドまたはリビルドのいずれかを行うことができます。これは、リポジトリ内のコンテンツが変更された場合や、パッケージフィルターが変更された場合に役立ちます。

  1. パッケージマネージャーにアクセスします。

  2. パッケージ名をクリックして、パッケージリストからパッケージの詳細を開きます。

  3. ビルド」をクリックします。パッケージをビルドすると既存のパッケージの内容が上書きされるので、実行するかどうかを確認するダイアログが表示されます。

  4. OK」をクリックします。AEM はパッケージをビルドし、パッケージに追加されたすべてのコンテンツをアクティビティリストに表示します。パッケージの構築が完了すると、パッケージが構築されたことを示すダイアログが表示されます。また、(このダイアログを閉じると)パッケージリストの内容が更新されます。

パッケージの編集

パッケージを AEM にアップロードした後は、その設定を変更できます。

  1. パッケージマネージャーにアクセスします。

  2. パッケージ名をクリックして、パッケージリストからパッケージの詳細を開きます。

  3. 編集」をクリックして、必要に応じて​パッケージ設定​を更新します。

  4. 保存」をクリックして、保存します。

変更した内容を反映するには、パッケージを再構築する必要がある場合があります。

パッケージを再度含める

パッケージは、ビルド後に再度含めることができます。再度含めると、パッケージのコンテンツを変更せずに、サムネール、説明などを含まないパッケージ情報を変更します。

  1. パッケージマネージャーにアクセスします。

  2. パッケージ名をクリックして、パッケージリストからパッケージの詳細を開きます。

  3. 編集」をクリックして、必要に応じて「パッケージ設定」を更新します。

  4. 保存」をクリックして、保存します。

  5. その他-/再度含める​をクリックすると、確認のダイアログが表示されます。

他のパッケージバージョンの表示

パッケージのすべてのバージョンは他のパッケージとしてリストに表示されるので、パッケージマネージャーは選択したパッケージの他のバージョンを検索できます。

  1. パッケージマネージャーにアクセスします。

  2. パッケージ名をクリックして、パッケージリストからパッケージの詳細を開きます。

  3. その他その他のバージョン​をクリックすると、同じパッケージの他のバージョンとステータス情報が表示されたダイアログが開きます。

パッケージコンテンツの表示とインストールのテスト

パッケージがビルドされたら、コンテンツを表示できます。

  1. パッケージマネージャーにアクセスします。

  2. パッケージ名をクリックして、パッケージリストからパッケージの詳細を開きます。

  3. コンテンツを表示するには、その他コンテンツ​をクリックします。パッケージマネージャーには、パッケージのコンテンツ全体がアクティビティログにリストされます。

    パッケージコンテンツ

  4. インストールのドライランを実行するには、その他インストールをテスト​をクリックします。パッケージマネージャーは、インストールが実行されたかのように結果をアクティビティログにレポートします。

    インストールをテスト

ファイルシステムへのパッケージのダウンロード

  1. パッケージマネージャーにアクセスします。

  2. パッケージ名をクリックして、パッケージリストからパッケージの詳細を開きます。

  3. ダウンロード​ボタンか、パッケージのリンクされたファイル名(パッケージの詳細領域内)をクリックします。

  4. AEM がお使いのコンピューターにパッケージをダウンロードします。

パッケージの共有

Package Share は、コンテンツパッケージを配布するための一元化されたパブリックサービスです。Package Share は、ソフトウェア配布に取って代わられ、このボタンは機能しなくなりました。

ファイルシステムからのパッケージのアップロード

  1. パッケージマネージャーにアクセスします。

  2. パッケージのアップロード先となるグループフォルダーを選択します。

  3. パッケージをアップロード」ボタンをクリックします。

  4. アップロードしたパッケージに関する必要な情報を入力します。

    パッケージのアップロードダイアログ

    • パッケージ - 「参照…」ボタンを使用して、必要なパッケージをローカルファイルシステムから選択します。
    • アップロードを強制 - この名前のパッケージが既に存在する場合は、このオプションを選択するとアップロードが強制され、既存のパッケージが上書きされます。
  5. OK」をクリックすると、選択したパッケージがアップロードされ、それに応じてパッケージリストが更新されます。

パッケージコンテンツが AEM に存在しますが、コンテンツを使用できるようにするには、パッケージのインストールを行ってください。

パッケージの検証

パッケージは既存のコンテンツを変更する可能性があるので、多くの場合、インストール前にこれらの変更を検証すると便利です。

検証オプション

パッケージマネージャーは次の検証を実行できます。

OSGi パッケージの読み込みを検証

チェック内容

この検証では、パッケージ内のすべての JAR ファイル(OSGi バンドル)を調べ、それらの manifest.xml(OSGi バンドルが依存しているバージョン付きの依存関係が含まれているファイル)を抽出し、AEM インスタンスが正しいバージョンで依存関係を書き出すかを確認します。

レポート方法

AEM インスタンスで解決できないバージョン付きの依存関係は、パッケージマネージャーのアクティビティログに記載されます。

エラーの状態

未解決の依存関係がある場合、それらの依存関係を持つパッケージ内の OSGi バンドルは開始しません。この結果、起動されていない OSGi バンドルに依存しているものが正しく機能しなくなるため、アプリケーションのデプロイが破損します。

エラーの解決

OSGi バンドルが満たされていないことによるエラーを解決するには、満たされていない読み込みがあるバンドル内の依存関係のバージョンを調整する必要があります。

オーバーレイを検証

チェック内容

この検証では、インストールするパッケージに、宛先の AEM インスタンスにすでにオーバーレイされているファイルが含まれているかどうかを確認します。

例えば、既存のオーバーレイが /apps/sling/servlet/errorhandler/404.jsp にある場合、/libs/sling/servlet/errorhandler/404.jsp を含むパッケージは、/libs/sling/servlet/errorhandler/404.jsp の既存のファイルを変更します。

レポート方法

そのようなオーバーレイは、パッケージマネージャーのアクティビティログに記載されます。

エラーの状態

パッケージがすでにオーバーレイされているファイルをデプロイしようとしています。したがって、パッケージ内の変更はオーバーレイによって上書きされ(つまり「非表示」となり)、有効になりません。

エラーの解決

この問題を解決するために、/apps のオーバーレイファイルのメンテナンス者は、/libs のオーバーレイファイルへの変更を確認する必要があります。必要に応じて変更をオーバーレイ(/apps)に組み込み、オーバーレイしたファイルを再デプロイします。

メモ

検証メカニズムには、オーバーレイコンテンツがオーバーレイファイルに正しく組み込まれているかどうかを照合する方法はありません。したがって、この検証では、必要な変更が加えられた後も競合についてレポートし続けます。

ACL を検証

チェック内容

この検証では、どの権限が追加されるか、それらがどのように処理されるか(マージ/置換)、および現在の権限が影響を受けるかどうかを確認します。

レポート方法

権限については、パッケージマネージャーのアクティビティログに記載されます。

エラーの状態

明示的なエラーはありません。この検証は、パッケージをインストールすることで新しい ACL 権限が追加されるか、または影響があるかどうかを示すだけです。

エラーの解決

検証によって提供された情報を使用して、影響を受けたノードを CRXDE で確認したり、必要に応じて ACL をパッケージ内で調整したりできます。

注意

ベストプラクティスとして、予期しない動作を引き起こす可能性があるため、パッケージは AEM 提供の ACL に影響を与えないようにすることをお勧めします。

検証の実行

パッケージの検証は 2 とおりの方法で行うことができます。

検証は、パッケージをアップロードした後で、インストールする前に必ず行う必要があります。

パッケージマネージャーによるパッケージ検証
  1. パッケージマネージャーにアクセスします。

  2. パッケージ名をクリックして、パッケージリストからパッケージの詳細を開きます。

  3. パッケージを検証するには、その他検証​をクリックします。

  4. 表示されるモーダルダイアログボックスで、チェックボックスを使用して検証の種類を選択し、「検証」をクリックして検証を開始します。

  5. 選択した検証が実行され、結果がパッケージマネージャーのアクティビティログに表示されます。

HTTP POST リクエストを介したパッケージ検証

POST リクエストの形式は以下のとおりです。

https://<host>:<port>/crx/packmgr/service.jsp?cmd=validate&type=osgiPackageImports,overlays,acls

type パラメーターは、カンマで区切った順不同リストで、次のように構成されます。

  • osgiPackageImports
  • overlays
  • acls

明示的に値が渡されなかった場合、type のデフォルト値は osgiPackageImports に設定されます。

cURL を使用している場合は、次のようなステートメントを実行してください。

curl -v -X POST --user admin:admin -F file=@/Users/SomeGuy/Desktop/core.wcm.components.all-1.1.0.zip 'http://localhost:4502/crx/packmgr/service.jsp?cmd=validate&type=osgiPackageImports,overlays,acls'

POST リクエストを介して検証する場合、応答は JSON オブジェクトとして返されます。

パッケージカバレッジの表示

パッケージは、フィルターによって定義されます。パッケージマネージャーで既存のリポジトリコンテンツにパッケージのフィルターを適用して、パッケージのフィルター定義でカバーされるリポジトリのコンテンツを表示できます。

  1. パッケージマネージャーにアクセスします。

  2. パッケージ名をクリックして、パッケージリストからパッケージの詳細を開きます。

  3. その他対象範囲​をクリックします。

  4. 有効範囲の詳細は、アクティビティログにリストされます。

パッケージのインストール

パッケージをアップロードすると、パッケージのコンテンツがリポジトリに追加するだけで、アクセスすることはできません。パッケージのコンテンツを使用するには、アップロードしたパッケージをインストールする必要があります。

注意

パッケージをインストールすると、既存のコンテンツが上書きまたは削除される可能性があります。必要なコンテンツが削除または上書きされないと確認できる場合にのみ、パッケージをアップロードしてください。

パッケージをインストールする前に、上書きされるコンテンツを含むスナップショットパッケージがパッケージマネージャーによって自動的に作成されます。このスナップショットは、パッケージをアンインストールした場合に再インストールされます。

  1. パッケージマネージャーにアクセスします。

  2. パッケージ名をクリックして、インストールするパッケージのパッケージ詳細をパッケージリストから開きます。

  3. 項目の詳細の「インストール」 ボタンまたは「インストール」リンクのいずれかをクリックします。

  4. 確認を求めるダイアログが表示され、追加のオプションを指定できます。

    • 抽出のみ - パッケージの抽出のみを行い、スナップショットは作成されず、そのためアンインストールはできません
    • しきい値を保存 - 自動保存がトリガーされるまでの一時的なノード数です(同時修正の例外が発生した場合に増加します)
    • サブパッケージを抽出 - サブパッケージの自動抽出を有効にします
    • アクセス制御の処理 - パッケージのインストール時に、パッケージで定義されたアクセス制御情報を処理する方法を指定します(オプションは詳細パッケージ設定と同じです)
    • 依存関係の処理 - インストール中の依存関係の処理方法を指定します
  5. インストール」をクリックします。

  6. インストールの進行状況の詳細は、アクティビティログに記録されます。

インストールが正常に完了すると、パッケージリストが更新され、「インストール済み」がパッケージのステータスに表示されます。

パッケージの再インストール

パッケージの再インストールでは、すでにインストールされているパッケージに対して、最初にパッケージをインストールした時の処理と同じ手順を実行します。

ファイルシステムベースのアップロードおよびインストール

パッケージをインストールする際に、完全にパッケージマネージャーなしで済ませることができます。AEM は、ホストマシンのローカルファイルシステム上の特定の場所に配置されたパッケージを検出し、それらを自動的にアップロードしてインストールできます。

  1. AEM インストールフォルダーに、jar ファイルや license.properties ファイルと並んで crx-quicksart フォルダーがあります。パス <aem-home>/crx-quickstart/install で生成された crx-quickstart の下に install という名前のフォルダーを作成します。

  2. このフォルダーにパッケージを追加します。追加したパッケージは、インスタンスに自動的にアップロードおよびインストールされます。

  3. アップロードとインストールが完了すると、パッケージマネージャー UI を使用してパッケージをインストールしたかのように、パッケージマネージャーにパッケージが表示されます。

インスタンスを実行している場合、install フォルダーへのパッケージにインスタンスを追加すると、直ちにアップロードとインストールが始まります。

インスタンスを実行していない場合、install フォルダーに配置されたパッケージは、起動時にアルファベット順にインストールされます。

パッケージのアンインストール

パッケージをアンインストールすると、リポジトリの内容は、インストール前にパッケージマネージャーが自動的に作成したスナップショットに戻ります。

  1. パッケージマネージャーにアクセスします。

  2. パッケージリストでパッケージ名をクリックして、アンインストールするパッケージの詳細を開きます。

  3. その他アンインストール​をクリックして、リポジトリからこのパッケージのコンテンツを削除します。

  4. 確認を求めるダイアログが表示され、行われているすべての変更が一覧表示されます。

  5. パッケージが削除され、スナップショットが適用されます。処理の進行状況がアクティビティログに表示されます。

パッケージの削除

パッケージを削除すると、パッケージマネージャーからその詳細のみが削除されます。このパッケージが既にインストールされている場合、インストール済みのコンテンツは削除されません。

  1. パッケージマネージャーにアクセスします。

  2. パッケージ名をクリックして、パッケージリストから削除するパッケージのパッケージ詳細を開きます。

  3. パッケージマネージャーで、パッケージを削除してよいかどうか確認するダイアログが表示されます。「OK」をクリックして削除を確認します。

  4. パッケージ情報が削除され、詳細がアクティビティログに報告されます。

パッケージのレプリケーション

パッケージのコンテンツをレプリケートして、パブリッシュインスタンスにインストールします。

  1. パッケージマネージャーにアクセスします。

  2. パッケージ名をクリックして、パッケージリストからレプリケートするパッケージのパッケージ詳細を開きます。

  3. その他レプリケート​をクリックします。

  4. パッケージがレプリケートされ、詳細がアクティビティログに報告されます。

ソフトウェア配布

AEM パッケージを使用すると、AEM 環境全体でコンテンツを作成および共有できます。

ソフトウェア配布は、AEM パッケージの検索とダウンロードを簡素化する一元化されたサービスです。

詳しくは、ソフトウェア配布ドキュメントを参照してください。

メモ

パッケージマネージャーは、以前の Package Share サービスとは異なり、現在ソフトウェア配布と統合されていません。そのため、パッケージマネージャー内の共有ボタンや Package Share へのその他のリンクは機能しなくなりました。解決策は、パッケージをローカルディスクにダウンロードすることです。

このページ