ドキュメントAEMAEM チュートリアルAEM Forms のチュートリアル

カスタム列の追加

最終更新日: 2025年3月27日
  • 適用対象:
  • Experience Manager 6.5
  • トピック:
  • アダプティブフォーム

作成対象:

  • 経験者
  • 開発者

インボックスにワークフローデータを表示するには、ワークフローで変数を定義し、設定する必要があります。変数の値は、タスクがユーザーに割り当てられる前に設定する必要があります。素早く作業を開始できるように、AEM サーバーにデプロイする準備が整ったサンプルワークフローを用意しています。

  • AEM へのログイン
  • レビューワークフローの読み込み
  • ワークフローのレビュー

このワークフローには 2 つの変数(isMarried と income)が定義されており、それらの値は変数設定コンポーネントを使用して設定されます。これらの変数は、AEM インボックスに追加する列として使用できるようになります。

サービスの作成

インボックスに表示する必要のある列ごとに、サービスを記述する必要があります。次のサービスでは、isMarried 変数の値を表示する列を追加できます。

import com.adobe.cq.inbox.ui.column.Column;
import com.adobe.cq.inbox.ui.column.provider.ColumnProvider;

import com.adobe.cq.inbox.ui.InboxItem;
import org.osgi.service.component.annotations.Component;

import java.util.Map;

/**
 * This provider does not require any sightly template to be defined.
 * It is used to display the value of 'ismarried' workflow variable as a column in inbox
 */
@Component(service = ColumnProvider.class, immediate = true)
public class MaritalStatusProvider implements ColumnProvider {@Override
public Column getColumn() {
return new Column("married", "Married", Boolean.class.getName());
}

// Return True or False if 'ismarried' is set. Else returns null
private Boolean isMarried(InboxItem inboxItem) {
Boolean ismarried = null;

Map metaDataMap = inboxItem.getWorkflowMetadata();
if (metaDataMap != null) {
if (metaDataMap.containsKey("isMarried")) {
    ismarried = (Boolean) metaDataMap.get("isMarried");
}
}

return ismarried;
}

@Override
public Object getValue(InboxItem inboxItem) {
return isMarried(inboxItem);
}
}
メモ
上記のコードを機能させるには、プロジェクトに AEM 6.5.5 Uber.jar を含める必要があります

uber-jar

サーバーでテストします

  • AEM web コンソールにログインします
  • インボックスカスタマイズバンドルをデプロイして開始します
  • インボックスを開きます
  • 「作成」ボタンの横にある「リスト表示」アイコンをクリックして管理コントロールを開きます
  • 既婚の列をインボックスに追加し、変更を保存します
  • FormsAndDocuments UI に移動します
  • 作成 ​メニューから​ ファイルをアップロード ​を選択して、サンプルフォームを読み込みます
  • フォームをプレビューします
  • _婚姻ステータス_を選択し、フォームを送信します
    インボックスを表示します

フォームを送信するとワークフローがトリガーされ、タスクが「admin」ユーザーに割り当てられます。このスクリーンショットに示すように、「既婚」列の下に値が表示されます。

既婚列

次の手順

既婚列の表示

recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e