AEM Forms ワークフローでの LDAP の使用

送信者のマネージャーへの AEM Forms ワークフロータスクの割り当て。

AEMワークフローでアダプティブフォームを使用する場合、フォーム送信者のマネージャーにタスクを動的に割り当てる必要があります。この使用例を実現するには、LDAP で AEM を設定する必要があります。

LDAP で AEM を設定するために必要な手順の詳細についてはこちらを参照してください。

この記事のために、Adobe LDAP で AEM を設定する際に使用する設定ファイルを添付します。これらのファイルは、パッケージマネージャーを使用してインポートできるパッケージに含まれています。

以下のスクリーンショットでは、特定のコストセンターに属するすべてのユーザーを取得しています。LDAP のすべてのユーザーを取得する場合は、追加のフィルターを使用できません。

LDAP の設定

以下のスクリーンショットでは、LDAP から AEM に取得したユーザーに、グループを割り当てます。読み込まれたユーザーに forms-users グループが割り当てられていることに注意してください。AEM Forms を操作するには、ユーザーがこのグループのメンバーである必要があります。また、manager プロパティは AEM の profile/manager ノードの下にも保存されます。

Synchandler

LDAP を設定し、ユーザーを AEM に読み込んだら、送信者のマネージャーにタスクを割り当てるワークフローを作成できます。この記事では、シンプルな 1 ステップの承認ワークフローを開発しました。

ワークフローの最初のステップで、initialstep の値を「いいえ」に設定します。アダプティブフォーム内のビジネスルールでは、「送信者の詳細」パネルが無効になり、initialstep 値に基づいて「承認者」パネルが表示されます。

2 番目のステップでは、タスクを送信者のマネージャーに割り当てます。カスタムコードを使用して、送信者のマネージャーを取得します。

タスクの割り当て

public String getParticipant(WorkItem workItem, WorkflowSession wfSession, MetaDataMap arg2) throws WorkflowException{
resourceResolver = wfSession.adaptTo(ResourceResolver.class);
UserManager userManager = resourceResolver.adaptTo(UserManager.class);
Authorizable workflowInitiator = userManager.getAuthorizable(workItem.getWorkflow().getInitiator());
.
.
String managerPorperty = workflowInitiator.getProperty("profile/manager")[0].getString();
.
.

}

コードスニペットには、マネージャー ID を取得し、タスクをマネージャーに割り当てる役割があります。

ワークフローを開始した人物がわかります。次に、 manager プロパティの値を取得します。

manager プロパティが LDAP にどのように保存されるかに応じて、manager ID を取得するのに文字列操作が必要になる場合があります。

この記事を読んで、独自の ParticipantChooser を実装してください。

これをシステムでテストする(アドビ従業員の場合は、このサンプルをすぐに使用できます)

NOTE
マネージャー名を抽出するこのカスタムコードは、Adobe LDAP に対してテスト済みです。別の LDAP に対してこのコードを実行する場合は、マネージャーの名前を取得するために、独自の getParticipant 実装を変更または作成する必要があります。
recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e