パッケージによって、リポジトリコンテンツの読み込みと書き出しが可能になります。例えば、パッケージを使用すると、新しい機能のインストール、インスタンス間でのコンテンツの転送、リポジトリコンテンツのバックアップが可能です。
パッケージは、以下のページからアクセスおよび保守できます。
パッケージマネージャー:ローカルの AEM インスタンスでパッケージを管理する際に使用します。
ソフトウェア配布:公開パッケージと会社の個人用パッケージの両方を一元的に管理します。パブリックパッケージには、ホットフィックス、新機能、ドキュメントなどを含めることができます。
パッケージは、Package Manager、ソフトウェア配布、およびファイルシステムの間で転送できます。
パッケージとは、ファイルシステムシリアル化(「vault」シリアル化)の形式でリポジトリコンテンツが格納されている zip ファイルです。これにより、使いやすく編集しやすい方法でファイルおよびフォルダーを表現できます。
パッケージには、フィルターを使用して選択された、ページコンテンツとプロジェクト関連コンテンツの両方のコンテンツが含まれます。
パッケージには、フィルタ定義やインポート設定情報などのボールトメタ情報も含まれます。説明、表示画像、アイコンなど、パッケージには追加のコンテンツプロパティ(パッケージ抽出に使用されないプロパティ)を含めることができます。これらのプロパティは、コンテンツパッケージコンシューマー向けのもので、情報提供のみを目的としています。
パッケージは、そのパッケージを作成した時点におけるコンテンツの現在のバージョンを表しています。AEM がリポジトリに保持している以前のバージョンのコンテンツは含まれません。
パッケージでは以下のアクションを実行できます。
パッケージの定義は、次のような様々な種類の情報で構成されています。
様々なパッケージ設定を編集して、パッケージの説明、関連するバグ、依存関係、プロバイダー情報などの側面を定義できます。
パッケージ設定ダイアログは、パッケージを作成または編集中に「編集」ボタンをクリックすると表示され、設定用のタブが 3 つ含まれます。変更をおこなったら、「OK」をクリックして保存します。
フィールド | 説明 |
---|---|
名前 | パッケージの名前。 |
グループ | パッケージの追加先の、パッケージを整理するためのグループの名前。新しいグループの名前を入力するか、既存のグループを選択します。 |
バージョン | カスタムバージョンに使用するテキスト。 |
説明 | パッケージの簡単な説明。書式設定に HTML マークアップを使用できます。 |
サムネール | パッケージリストと共に表示するアイコン。「参照」をクリックしてローカルファイルを選択します。 |
フィールド | 説明 | 形式/例 |
---|---|---|
名前 | プロバイダーの名前。 | AEM Geometrixx |
URL | プロバイダーの URL。 | https://www.aem-geometrixx.com |
リンク | プロバイダーページへの、パッケージ専用のリンク。 | https://www.aem-geometrixx.com/mypackage.html |
次を必要とする |
|
|
AC の処理 | パッケージ読み込み時の、パッケージで定義されているアクセス制御情報の処理方法を指定します。
デフォルト値は Ignore です。 |
|
フィールド | 説明 | 形式/例 |
---|---|---|
テスト環境 | このパッケージのターゲットまたは互換性のある製品名およびバージョン。 | AEM 6 |
修正された問題 | このパッケージで修正されたバグの詳細をリストできるテキストフィールド。バグはそれぞれ別々の行に入力してください。 | バグ番号と概要 |
依存 | 現在のパッケージを期待どおりに実行するために他のパッケージが必要な場合に配慮する必要のある依存関係情報をリストします。このフィールドはホットフィックスを使用する場合に重要です。 | groupId:name:version |
置き換え | このパッケージで置き換えられる廃止されたパッケージのリスト。インストール前に、古いパッケージの必要なコンテンツがすべてこのパッケージに含まれていることを確認し、コンテンツが上書きされないようにしてください。 | groupId:name:version |
フィルターは、パッケージに含めるリポジトリノードを識別します。フィルター定義は、次の情報を指定します。
フィルターには、0個以上のルールを含めることができます。ルールを定義しない場合、パッケージのルートパスの下にすべてのコンテンツが含まれます。
パッケージに対して、1つ以上のフィルター定義を定義できます。複数のルートパスのコンテンツを含めるには、複数のフィルターを使用します。
次の表で、これらのルールについて説明し、例を示します。
ルールタイプ | 説明 | 例 |
---|---|---|
include | パスを定義するか、正規表現を使用して、含めるすべてのノードを指定できます。 ディレクトリを含めると、
|
/libs/sling/install(/.*?lang=ja)? |
exclude | パスを指定するか、正規表現を使用して、除外するすべてのノードを指定できます。 。 。 ディレクトリを除外すると、そのディレクトリと、そのディレクトリ内のすべてのファイルおよびフォルダー(サブツリー全体)が除外されます。 |
/libs/wcm/foundation/components(/.*?lang=ja)? |
1 つのパッケージに複数のフィルター定義を含めることができるので、別々の場所のノードを組み合わせて 1 つのパッケージにすることも簡単です。
パッケージフィルターは多くの場合、初めてパッケージを作成するときに定義されますが、後から編集することもできます(その後パッケージを再ビルドする必要があります)。
パッケージにスクリーンショットを付加すると、コンテンツの外観を視覚的に表現できます。例えば、新機能のスクリーンショットを用意するなどです。
また、パッケージにアイコンを付加すると、パッケージの内容をすぐに参照できるように視覚的に表現できます。これはパッケージリストに表示され、パッケージやパッケージのクラスを簡単に識別できます。
1 つのパッケージに含めることができるアイコンは 1 つなので、公式のパッケージには以下の規則が使用されます。
混乱を避けるために、パッケージには説明的なアイコンを使用し、公式アイコンは使用しないでください。
公式のホットフィックスパッケージ:
公式の AEM インストールまたは拡張パッケージ:
公式の機能パック:
パッケージマネージャーでは、ローカルの AEM インストール環境でパッケージが管理されます。必要な権限の割り当てをおこなってから、Package Manager を使用してパッケージの設定、構築、ダウンロード、インストールなど様々なアクションを実行できます。設定する主な要素は次のとおりです。
パッケージを作成、変更、アップロードおよびインストールする権限をユーザーに付与するには、以下の場所で適切な権限を指定する必要があります。
権限の変更手順については、権限の設定を参照してください。
新しいパッケージ定義を作成するには:
AEMのようこそ画面で、「パッケージ」をクリックします(または、ツールコンソールの重複から、パッケージをクリックします)。
次に「パッケージマネージャー」を選択します。
「パッケージを作成」をクリックします。
多数のパッケージを含むインスタンスの場合は、フォルダー構造が存在する可能性があるので、必要なターゲットフォルダーに移動してから新しいパッケージを作成できます。
次のダイアログで、以下の操作をおこないます。
以下を入力します。
Group Name
ターゲットグループ(またはフォルダ)の名前。 グループは、パッケージの整理に役立つように意図されています。
グループにフォルダーが存在しない場合は、フォルダーが作成されます。 グループ名を空白のままにすると、メインのパッケージリスト(ホーム/パッケージ)にパッケージが作成されます。
パッケージ名
新しいパッケージの名前です。 パッケージの内容を簡単に識別できるように、わかりやすい名前を選択します。
バージョン
バージョンを示すためのテキストフィールド。 これはパッケージ名に付加され、zipファイルの名前になります。
「OK」をクリックしてパッケージを作成します。
AEMは、新しいパッケージを適切なグループフォルダーにリストします。
アイコンまたはパッケージ名をクリックして開きます。
必要に応じて、後からこのページに戻ることができます。
「編集」をクリックして、パッケージ設定を編集します。
ここで、情報の追加や一定の設定の定義ができます。これには、説明、アイコン、関連するバグ、プロバイダーの詳細などが含まれます。
設定の編集が完了したら、「OK」をクリックします。
必要に応じて、スクリーンショットをパッケージに追加します。パッケージ作成時は、インスタンスは 1 つです。必要に応じて、サイドキックのパッケージスクリーンショットを使用して追加します。
実際の画像を追加するには、「スクリーンショット」領域で画像コンポーネントをダブルクリックし、画像を追加して、「OK」をクリックします。
パッケージフィルターを定義するには、サイドキックからフィルター定義のインスタンスをドラッグし、ダブルクリックして編集用に開きます。
以下を指定します。
ルートパス
パッケージ化するコンテンツ。サブツリーのルートを指定できます。
RulesRules
はオプションです。単純なパッケージ定義の場合、「含む」または「除外する」のルールを指定する必要はありません。
必要に応じて、「を含める」または「を除外する」のルールを定義し、パッケージの内容を正確に定義することができます。
+記号を追加使用するルール、または-記号を使用するルールを削除します。 ルールは順序に従って適用され、上ボタンと下ボタンを使用して、必要に応じて配置します。
「OK」をクリックして、フィルターを保存します。
フィルター定義は必要に応じていくつでも使用できますが、競合しないように注意する必要があります。プレビューを使用して、パッケージのコンテンツがどうなるかを確認します。
パッケージの内容を確認するには、プレビューを使用できます。ビルドプロセスのドライランが実行され、実際のビルド時にパッケージに追加されるものがすべてリストされます。
これで、パッケージをビルドできます。
この時点でパッケージをビルドしなければならないわけではありません。後からビルドしても構いません。
パッケージは多くの場合、パッケージ定義の作成と同時にビルドされますが、後から戻ってパッケージをビルドまたは再ビルドできます。これは、リポジトリ内のコンテンツが変更された場合に便利です。
パッケージをビルドする前に、パッケージのコンテンツをプレビューすると便利な場合があります。これを行うには、「プレビュー」をクリックします。
パッケージマネージャーからパッケージ定義を開きます(パッケージのアイコンまたは名前をクリック)。
「ビルド」をクリックします。パッケージをビルドすることを確認するダイアログが表示されます。
これは、パッケージを再ビルドする場合は特に重要です。パッケージのコンテンツが上書きされるからです。
「OK」をクリックします。パッケージが構築されます。パッケージに追加されたすべてのコンテンツがリストされます。パッケージの構築が完了すると、パッケージが構築されたことを示すダイアログが表示されます。また、(このダイアログを閉じると)パッケージリストの内容が更新されます。
パッケージは、ビルド後に必要に応じて再度含めることができます。
リラップは、パッケージの内容を変更せずにパッケージ情報を変更します。パッケージ情報は、サムネールや説明などです。つまり、パッケージ設定ダイアログで編集できるものはすべて編集をクリックします。
再ラップの主な使用例は、パッケージの準備時です。 例えば、既存のパッケージを持っていて、他のユーザーと共有することを決定したとします。 サムネールを追加し、説明を追加する場合は、 すべての機能を含むパッケージ全体を再作成する代わりに(時間がかかり、パッケージが元のものと同じでなくなる可能性があります)、パッケージを再ラップして、サムネールと説明を追加するだけで済みます。
パッケージマネージャーからパッケージ定義を開きます(パッケージのアイコンまたは名前をクリック)。
「編集」をクリックして、必要に応じてパッケージ設定を更新します。「OK」をクリックして保存します。
「再度含める」をクリックすると、確認のダイアログが表示されます。
パッケージ定義に関する情報を表示または編集するには:
パッケージマネージャーで、表示するパッケージに移動します。
表示するパッケージのパッケージアイコンをクリックします。パッケージページが開き、パッケージ定義に関する情報が表示されます。
このページからも、パッケージに対する編集や一定のアクションを実行できます。
使用可能なボタンは、パッケージがビルド済みかどうかによって異なります。
パッケージがビルド済みの場合は、「コンテンツ」をクリックします。ウィンドウが開き、パッケージのコンテンツ全体が表示されます。
パッケージがビルドされたら、コンテンツを表示できます。
パッケージマネージャーで、表示するパッケージに移動します。
表示するパッケージのパッケージアイコンをクリックします。パッケージページが開き、パッケージ定義に関する情報が表示されます。
コンテンツを表示するには、「コンテンツ」をクリックします。ウィンドウが開き、パッケージのコンテンツ全体が表示されます。
インストールのドライランを実行するには、「インストールをテスト」をクリックします。アクションを確定すると、ウィンドウが開き、インストールが実行されたかのように結果が表示されます。
ここでは、パッケージマネージャーを使用して AEM からファイルシステムへパッケージをダウンロードする方法について説明します。
AEMのようこそ画面で、「パッケージ」をクリックし、「パッケージマネージャー」を選択します。
ダウンロードするパッケージに移動します。
ダウンロードするパッケージの、zip ファイルの名前から形成された(下線付きの)リンク(export-for-offline.zip
など)をクリックします。
AEMは、(標準のブラウザダウンロードダイアログを使用して)パッケージをコンピュータにダウンロードします。
パッケージのアップロードでは、ファイルシステムからAEM Package Managerにパッケージをアップロードできます。
パッケージをアップロードするには:
パッケージマネージャーに移動します。次に、パッケージのアップロード先のグループフォルダーに移動します。
「パッケージをアップロード」をクリックします。
File
ファイル名を直接入力するか、参照…ダイアログが開き、ローカルファイルシステムから必要なパッケージを選択できます(選択後、「OK」をクリックします)。
アップロードを強制
この名前のパッケージが既に存在する場合は、このボタンをクリックして、強制的にアップロードします(そして既存のパッケージを上書きします)。
「OK」をクリックすると、新しいパッケージがアップロードされ、パッケージマネージャーのリストに表示されます。
AEM でコンテンツを利用できるようにするには、必ずパッケージをインストールしてください。
パッケージをインストールする前に、内容を確認することが可能です。パッケージは/apps
の下のオーバーレイファイルを変更したり、ACLの追加、変更、削除を行ったりする可能性があるので、多くの場合、インストール前にこれらの変更を検証すると役に立ちます。
検証メカニズムは、次のようなパッケージの特性を確認できます。
これらのオプションについて、以下に説明します。
OSGi パッケージの読み込みを検証
チェック内容
この検証では、パッケージ内のすべての JAR ファイル(OSGi バンドル)を調べ、それらの manifest.xml
(OSGi バンドルが依存しているバージョン付きの依存関係が含まれているファイル)を抽出し、AEM インスタンスが正しいバージョンで依存関係を書き出すかを確認します。
レポート方法
AEMインスタンスで満たされないバージョン付きの依存関係は、Package Managerのアクティビティログに一覧表示されます。
エラーの状態
未解決の依存関係がある場合、それらの依存関係を持つパッケージ内の 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 とおりの方法で行うことができます。
検証は、パッケージをアップロードした後で、インストールする前に必ず行う必要があります。
パッケージマネージャーによるパッケージ検証
https://<server>:<port>/crx/packmgr
のパッケージマネージャーを開きます
リストーでパッケージを選択し、見出しから「詳細」ドロップダウンを選択し、ドロップダウンメニューから「検証」を選択します。
これは、コンテンツパッケージをアップロードした後、パッケージをインストールする前に実行する必要があります。
表示されるモーダルダイアログボックスで、チェックボックスを使用して検証の種類を選択し、「検証」をクリックして検証を開始します。あるいは「キャンセル」をクリックします。
選択された検証が実行されます。実行結果は、パッケージマネージャーのアクティビティログに表示されます。
HTTP POST リクエストを介したパッケージ検証
POST リクエストの形式は以下のとおりです。
https://<host>:<port>/crx/packmgr/service.jsp?cmd=validate&type=osgiPackageImports,overlays,acls
type
パラメーターは、カンマで区切った順不同リストで、次のもので構成されます。
osgiPackageImports
overlays
acls
type
の値は、渡されない場合はデフォルトでosgiPackageImports
になります。
以下は、cURL を使用してパッケージ検証を実行する例です。
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'
要求された検証が実行され、応答が JSON オブジェクトとして送り返されます。
検証 HTTP POST リクエストへの応答は、検証結果を含む JSON オブジェクトになります。
パッケージをアップロードしたら、コンテンツをインストールする必要があります。パッケージコンテンツがインストールされ、機能する状態になるには、以下の両方の条件が満たされている必要があります。
aemに読み込まれる(ファイルシステム](#uploading-packages-from-your-file-system)からアップロードされるか、ソフトウェア配布からダウンロードされる)[
インストールされていること
パッケージをインストールすると、既存のコンテンツが上書きまたは削除される可能性があります。必要なコンテンツが削除または上書きされないと確認できる場合にのみ、パッケージをアップロードしてください。
パッケージのコンテンツまたは影響を確認する方法は以下のとおりです。
内容を変更せずに、パッケージのテストインストールを実行します。
パッケージを開き(パッケージのアイコンまたは名前をクリック)、「テストインストール」をクリックします。
パッケージの内容のリストを参照してください。
パッケージを開き、「目次」をクリックします。
パッケージのインストールの直前に、上書きされるコンテンツを含むスナップショットパッケージが作成されます。
このスナップショットは、パッケージをアンインストールした場合に再インストールされます。
デジタルアセットをインストールする場合は、次の手順を実行する必要があります。
最初に、ワークフローランチャーをアクティベート解除します。
com.day.cq.workflow.launcher.impl.WorkflowLauncherImpl
を非アクティブにするには、OSGiコンソールの「Components」メニューオプションを使用します。
次に、インストールが完了したら、ワークフローランチャーを再アクティベートします。
ワークフローランチャーをアクティベート解除しておくと、インストール時に Assets インポーターフレームワークによって、アセットに意図しない操作がおこなわれることはありません。
パッケージマネージャーで、インストールするパッケージに移動します。
まだインストールされていないパッケージの横に、「インストール」ボタンが表示されます。
また、パッケージのアイコンをクリックしてパッケージを開き、そこで「インストール」ボタンにアクセスすることもできます。
「インストール」をクリックしてインストールを開始します。確認のダイアログが開き、おこなわれているすべての変更が表示されます。完了したら、ダイアログで「閉じる」をクリックします。
インストールが完了すると、そのパッケージの横に「インストール済み」と表示されます。
別の方法でパッケージをインスタンスにアップロードおよびインストールすることもできます。ファイルシステムには、jarファイルとlicense.properties
ファイルと共にcrx-quicksart
フォルダーがあります。 crx-quickstart
の下にinstall
という名前のフォルダーを作成する必要があります。 その後、次のようなメッセージが表示されます。<aem_home>/crx-quickstart/install
この install フォルダーにパッケージを直接追加できます。追加したパッケージは、インスタンスに自動的にアップロードおよびインストールされます。完了すると、パッケージマネージャーにそれらのパッケージが表示されるようになります。
インスタンスが実行中の場合、install
フォルダーにパッケージを追加すると、ただちにそのインスタンスに対してアップロードおよびインストールが開始されます。インスタンスが実行中でない場合、install
フォルダーに追加したパッケージは起動時にアルファベット順にインストールされます。
この作業はインスタンスの初回起動前におこなうこともできます。その場合は、crx-quickstart
フォルダーを手動で作成し、その下に install
フォルダーを作成してそこにパッケージを追加する必要があります。これで、インスタンスの初回起動時に、パッケージがアルファベット順にインストールされるようになります。
AEMでは、パッケージをアンインストールできます。 このアクションにより、パッケージのインストール直前に作成されたスナップショットに含まれているリポジトリのコンテンツが元に戻ります。
インストール時に、上書きされるコンテンツを含むスナップショットパッケージが作成されます。
このパッケージは、パッケージをアンインストールしたときに再インストールされます。
パッケージマネージャーのリストからパッケージを削除するには:
パッケージからインストール済みのファイルやノードは削除されません。
ツールコンソールで、パッケージフォルダーを展開し、右側のウィンドウにパッケージを表示します。
削除するパッケージをクリックして強調表示し、以下のいずれかの手順を実行します。
パッケージの削除を確認するメッセージが表示されます。 「OK」をクリックして削除を確認します。
このパッケージが既にインストールされている場合、インストール済みの**コンテンツは削除**されません**。
パッケージのコンテンツをレプリケートして、パブリッシュインスタンスにインストールします。
パッケージマネージャーで、レプリケートするパッケージに移動します。
レプリケートするパッケージのアイコンまたは名前をクリックして展開します。
ツールバーの「詳細」ドロップダウンメニューで、「レプリケーション」を選択します。
パッケージ共有は、コンテンツパッケージを共有できるように一元化されたサーバです。
ソフトウェア配布に置き換えられました。
ソフトウェア 配布は、AEMパッケージの検索とダウンロードを簡単にするように設計された新しいユーザーインターフェイスです。
詳細については、ソフトウェア配布ドキュメントを参照してください。
現時点では、AEM package managerはソフトウェア配布では使用できません。パッケージをローカルディスクにダウンロードしてください。