カスタムワークフローモデルは、AEM as a Cloud Serviceでのデプロイメント後にデフォルトに戻ります
この記事では、Adobe Experience Manager as a Cloud Serviceのカスタムワークフローモデルがデプロイメント後にデフォルトの定義に戻る理由を説明し、カスタマイズが保持されるようにするための手順を説明します。
説明 description
環境
- Adobe Experience Manager as a Cloud Service
- Cloud Managerを通じてデプロイされたカスタムワークフローモデル
問題/症状
- コンテンツパッケージのデプロイメント後、最初にカスタムワークフローモデルが期待どおりに表示されます。
- 後のデプロイメントまたは環境ライフサイクルイベントの後、
/var/workflow/modelsの下のワークフローモデルには、意図したカスタム定義ではなく、デフォルト定義が含まれます。 - 元のコンテンツパッケージは、Cloud Managerのデプロイメント後にパッケージマネージャーで編集可能パッケージとして使用できません。 Cloud Managerでインストールされたパッケージは、変換された凍結された
cp2fmアーティファクトとして表示されます。
原因
この問題は、通常、広範なパッケージフィルターまたは誤ったパッケージフィルターと手動デプロイメント方法の使用によって発生します。 パッケージフィルターがモデル固有でない場合、または実稼動環境で手動インストールを使用している場合、環境同期イベントまたはライフサイクルイベント中に、カスタムワークフローモデルをデフォルト定義で上書きできます。 モデル固有のフィルターを使用して、デザイン時(/conf)とランタイム(/var)の両方のワークフローモデル定義を管理し、Cloud Managerを通じてデプロイすることで、一貫性のある自動デプロイメントが実現されます。
解決策 resolution
この問題に対処するには、次の手順に従います。
-
ワークフローモデルをカバーする広範な親レベルのルートについては、パッケージの
filter.xmlを確認してください。 ワークフローモデルツリー全体を置き換えるフィルターではなく、パッケージが所有するワークフローモデルに対して、モデル固有のフィルタールートを使用します。 デプロイメントのレビューの一環として、/conf/global/settings/workflow/models/<model>の下のデザイン時間モデルと/var/workflow/models/<model>の下の対応するランタイムモデルを確認してください。 -
すべての手順、トランジション、プロパティ、メタデータを含む、完全なフィルタールートの完全なワークフローモデル構造がパッケージに含まれている場合にのみ
mode="replace"を使用します。 メモ: FileVaultreplaceは、フィルタールートでカバーされているコンテンツを置き換え、パッケージに存在しないカバーされているリポジトリノードを削除します。 フィルターのルートは目的のモデルに制限してください。パッケージが意図的にその下のすべてのモデルを所有している場合を除き、広範な親ルートを使用しないでください。 -
ソース管理プロジェクトの
/conf/global/settings/workflow/models/<model>以下の設計時ワークフローモデルを維持します。 デプロイメント後、ワークフローモデルコンソールで**Sync**を使用し、/var/workflow/models/<model>のランタイムモデルがカスタム定義を反映していることを確認します。 ワークフロー所有者がこのデプロイメントアプローチとパッケージバリデーターがプロジェクトでサポートしていることを確認した場合にのみ、ランタイム/varモデルをパッケージに含めます。 -
ソース管理のワークフローモデルを繰り返しデプロイするには、パッケージの変更を確定し、Cloud Manager パイプラインを通じてデプロイします。 繰り返し可能なデプロイメント方法として、手動パッケージマネージャーのインストールを使用しないでください。 パッケージマネージャーは、1回限りの可変コンテンツ操作に使用できます。これにより、Cloud Manager ソース管理デプロイメントの一部を手動インストールすることはできません。
-
フィルターとデプロイメントアプローチを更新した後:
- パッケージバージョンを増分します。
- AEM プロジェクト全体を構築し、生成されたパッケージに目的のワークフローモデルが含まれていることを確認します。
- Cloud Managerを使用して、開発またはステージにデプロイします。
- ワークフローモデルコンソールでモデルを確認し、デプロイメント後および環境の再起動またはライフサイクルイベント後に、ランタイム定義が正しいままであることを確認します。
- 検証後、Cloud Managerを使用して実稼動環境にデプロイメントを昇格します。