モジュールの概要
Adobe Workfront Fusion は、次の 5 種類のモジュールを区別します。
- アクションモジュール
- モジュールの検索
- トリガーモジュール
- アグリゲーター
- イテレータ
アグリゲーターとイテレーターは、詳細なシナリオ用です。
アクションモジュール
アクションモジュールは、最も一般的なタイプのモジュールです。一般的なアクションモジュールは、アクションを実行して 1 つのバンドルを返し、バンドルは処理のために次のモジュールに渡されます。
トリガー モジュールとは異なり、アクション モジュールはシナリオの最初、中間、または最後に配置できます。
シナリオに含まれるアクションモジュールの数は無制限ですが、多数のモジュール(150 以上)がパフォーマンスに影響を与える可能性があります。
例:
- Workfront>Upload a file はファイルを Workfront に送信し、その識別子を返します。
- Image>Resize は画像を受け取り、指定された寸法にサイズ変更し、サイズ変更された画像を次のアクションに渡します。
アクションタイプには、次の 4 つのサブタイプがあります。
- 作成
- Read
- アップデート
- 削除
「更新」サブタイプには、次の 3 つの操作が含まれます。
-
フィールドの内容を消去する。この操作は、フィールドの内容が(
empty
と混同しないように)erase
キーワードに評価されたときに発生します。 -
フィールドの内容を変更しない。この操作は、フィールドが空白のままになっているか、フィールドの内容が空白と評価される(JSON の null で表される)場合に実行されます。
-
フィールドの内容を置き換える。この操作は、上記の 2 つ以外のすべての場合に実行されます。
-
erase
キーワードがマッピングパネルに表示されない場合、モジュールが更新モジュールでないか、アプリの最新の仕様に更新されていません。 -
Empty
はフィールドの内容を変更しません。 フィールドを消去する必要がある場合は、次の数式を使用できます。 -
コンテンツが空と評価された場合にフィールドを変更しないままにしておくことは、現在サポートされていません。
モジュールの検索
検索モジュールは、0 個、1 個または複数のバンドルを返し、これらは処理のために次のモジュールに渡されます。
検索モジュールは、シナリオの先頭、中間、末尾に配置できます。
シナリオに含まれる検索モジュールの数は無制限ですが、モジュールの数が多い(150 以上)とパフォーマンスに影響が出る場合があります。
例:
Workfront>Read Related Records は、特定の親オブジェクト内で、指定した検索クエリに一致するレコードを読み取ります。
トリガーモジュール
トリガーは、特定のサービスに変更があった場合(レコードの作成や更新など)にバンドルを生成します。
トリガーは、0 個、1 個または複数のバンドルを返し、それらを次のモジュールに渡して処理します。
トリガーはシナリオの実行を開始させる原因となるので、シナリオの先頭にのみ配置できます。
各シナリオにはトリガーを 1 つだけ含めることができます。
Workfront Fusion では、ポーリングトリガーとインスタントトリガーの 2 種類のトリガーを使用します。
ポーリングトリガー
ポーリングトリガーは、前のシナリオの実行以降に変更がない場合でも、指定されたサービスを定期的にポーリングします。 ポーリングトリガーを含むシナリオを、一定の間隔で実行するようにスケジュールすることをお勧めします。トリガーの設定に一致する変更がある場合、トリガーは変更に関する情報を含むバンドルを返します。 設定に一致する変更がない場合、トリガーはバンドルを出力しません。
シナリオのスケジュールを設定する手順については、 シナリオのスケジュール設定を参照してください。
ポーリングトリガーを使用すると、トリガーを保存した後やトリガーを変更した後に自動的に表示されるパネルを介して出力される最初のバンドルを選択できます。 この選択は、モジュールの最初の実行にのみ影響します。 モジュールが 1 回実行された後の後続の実行では、最後の実行後に行われた変更のみが監視されます。
詳しくは、トリガーモジュールの開始位置の選択を参照してください。
例:
-
Workfront>Watch records は、シナリオが前回実行された後に新しく追加されたレコードを返します。
-
Google Sheets>Watch Rows は、シナリオが前回実行された後に追加された新しい行を返します。
インスタントトリガー
インスタントトリガーを使用すると、サービスは変更が発生した直後に Workfront Fusion ーザーに通知を送信できます。 インスタントトリガーを含むシナリオをすぐに実行するようにスケジュールすることをお勧めします。
手順については、 シナリオのスケジュール設定を参照してください。
受信データがインスタントトリガーでどのように処理されるかについて詳しくは、 インスタントトリガー(Webhook)を参照してください。
例:
- Workfront>Watch Events は、Workfrontで特定のタイプのイベント(タスクの作成など)が発生した場合に情報を返します。
- Google Sheets>Watch Changes は、セルが更新されるたびに情報を返します。
アグリゲーター
集約モジュールは、複数のバンドルを 1 つのバンドルに蓄積する。
アグリゲータは 1 つのバンドルのみを返し、その後、さらに処理するために次のモジュールに渡されます。
アグリゲーターは、シナリオの途中にのみ配置できます。
シナリオに含まれるアグリゲータの数は無制限ですが、多数のモジュール(150 以上)がパフォーマンスに影響を与える可能性があります。
例:
- Archive>Create an archive は、複数のファイルを zip アーカイブに圧縮します。
- CSV>Aggregate to CSV は、CSV ファイルの複数の文字列を 1 行に結合します。
- Tools>Text aggregator は、複数の文字列を 1 つの文字列に結合します。
詳しくは、 アグリゲータモジュールを参照してください。
イテレータ
イテレータは、配列を個別のバンドルに分割するモジュールの一種です。
イテレータは 1 つ以上のバンドルを返し、それらを次のモジュールに渡して処理します。
イテレーターは、シナリオの途中にのみ配置できます。
シナリオには無制限の数のイテレータを含めることができますが、多数のモジュール(150 以上)がパフォーマンスに影響を与える可能性があります。
例:
Email>Retrieve attachments は、添付ファイルの配列を個別のバンドルに分割します。
詳しくは、Iterator モジュールおよび 配列のマッピングを参照してください。