ヘッダーをスキップ
Oracle® Fusion Middleware WebCenter Sites開発者ガイド
11gリリース1 (11.1.1.8.0)
E49681-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

35 ワークフローのカスタマイズ

WebCenter Sitesのワークフロー・プロセスは、アセットがパブリッシュの過程で通過する一連の状態です。アセットはワークフロー・ステップを進み、ある状態から次の状態へ移行します。アセットの各ステップは、時間指定アクションに関連付けできます。たとえば、アセットが割り当てられるときに、電子メールをユーザーに送信する場合です。また、ワークフロー・ステップ条件に関連付けて、一定の条件が満たされていない場合、アセットが次のステップへ進むのを防ぐことが可能です。

ワークフロー・ステップの条件エレメントを作成し、アセットが次の状態へ移行するために満たす必要のある条件を指定する必要があります。また、アセットがある状態から次の状態へ移行するときに、様々なアクションを行う、ワークフロー・アクションのエレメントを作成する必要があります。この章では、これらのエレメントについてさらに詳細に説明し、各エレメント・タイプのサンプル・コードを示します。

この章には次の項が含まれます。

35.1 ワークフロー・ステップ条件

ワークフロー・プロセスは、1つ以上のワークフロー状態で構成されます。ワークフロー・ステップにより、アセットはあるワークフロー状態から次の状態へ移行します。ただし、場合によっては、アセットが次のワークフロー状態に移行しないようにする条件があります。アセットが次の状態に移行しないようにする条件(複数可)を定義したエレメントを作成する必要があります。

このエレメントは、コールされると次のデータを受信します。

ワークフロー・ステップ条件のエレメントは、条件をチェックし、ブール値を返します。値がfalseの場合は、次のステップへ進みません。

次のコードは、ワークフロー・ステップ条件エレメントのサンプルから抜粋したものです。

例35-1

  1. <?xml version="1.0" ?>

  2. <!DOCTYPE FTCS SYSTEM "futuretense_cs.dtd">

  3. <FTCS Version="1.1">

  4. <!-- OpenMarket/Xcelerate/Actions/Workflow/StepConditions/ExampleStepCondition

  5. -

  6. - INPUT

  7. -

  8. - OUTPUT

  9. -

  10. -->

  11. <csvar NAME="This step condition will check if step can be taken"/><br/>

次に示すコードの1行目では、空のReturnVal変数を設定しています。例35-64行目と9行目では、この変数に、次のステップに進めない理由が設定されます。

例35-2

  1. <setvar NAME="ReturnVal" VALUE="Variables.empty"/>

  2. <!--change the value of ReturnVal to a non-empty string later on, if you want to stop the step --> <!-- most of the stuff below are debugging statements and also show you some items available to you to set up a condition for stopping the step-->

次に示すコードの2行目では、WORKFLOWABLEASSET.GETDISPLAYABLENAMEタグを使用してワークフロー内のアセットの名前を取得します。

例35-3

  1. <!-- get asset -->

  2. <WORKFLOWABLEOBJECT.GETDISPLAYABLENAME OBJECT="Object" VARNAME="assetdisplayablename"/>

  3. Object:<csvar NAME="Variables.assetdisplayablename"/><br/>

次に示すコードの2行目では、StepUserという変数を作成し、ステップを進めようとするユーザーのIDを格納します。3行目では、USERMANAGER.GETUSERタグを使用して、ユーザーのIDをStepUser変数にロードします。4行目では、CCUSER.GETNAMEタグを使用して、判読可能なユーザー名を取得します。また、5行目では、csvarタグを使用して、そのユーザー名を表示します。

例35-4

  1. <!-- get userid -->

  2. Userid: <csvar NAME="Variables.StepUser"/><br/>

  3. <USERMANAGER.GETUSER OBJVARNAME="myUserObj" USER="Variables.StepUser"/>

  4. <CCUSER.GETNAME NAME="myUserObj" VARNAME="uname"/>

  5. Username: <csvar NAME="Variables.uname"/><br/>

次に示すコードの2行目では、WORKFLOWSTEP.GETIDタグを使用して現在のワークフロー・ステップのIDを取得します。4行目で使用されているWORKFLOWSTEP.GETNAMEタグにより、指定された名前のステップがロードされます。

例35-5

  1. <!-- getstep -->

  2. <WORKFLOWSTEP.GETID NAME="Step" VARNAME="sid"/>

  3. Stepid: <csvar NAME="Variables.sid "/>

  4. <WORKFLOWSTEP.GETNAME NAME="Step" VARNAME="sname"/>

  5. Stepname: <csvar NAME="Variables.sname"/><br/><br/>

次に示すコードでは、ステップの変更を停止する条件を定義します。forcestop変数およびnotalloweduser変数は条件チェックであり、WebCenter Sitesのインタフェースに、サンプルのステップ条件が定義された場合は、引数として設定されます。実際のステップ条件では、ここで任意の条件(たとえば、記事アセットに関連付けられたイメージがないか確認する)を設定してテストします。

例35-6

  1. <!-- This is the actual condition to stop the step. The following is just an example. -->

  2. <if COND="Variables.forcestop=true">

  3. <then>

  4. <setvar NAME="ReturnVal" VALUE="You can not take this step because forcestop=true"/>

  5. <then>

  6. <else>

  7. <if COND="Variables.uname=Variables.notalloweduser">

  8. <then>

  9. <setvar NAME="ReturnVal" VALUE="You are not allowed to take this step"/>

  10. <then>

  11. </if>

  12. <else>

  13. </if>

  14. </FTCS>

35.2 ワークフロー・アクション

アセットはワークフロー間を移動するときに、ワークフロー・アクションをトリガーできます。ワークフロー・アクションでは、電子メールの送信から、指定された時間の経過後に、デッドロックの解除を評価する必要がある新しいアセットがあるというユーザーへの警告まで、あらゆるアクションが可能です。ワークフロー・アクションには、次の5つの種類があります。

最初に、ワークフローの管理者が、WebCenter Sitesのユーザー・インタフェースを使用して、ワークフロー・アクションを定義する必要があります。その後、これらのワークフロー・アクションを実行するエレメントを作成する必要があります。WebCenter Sitesでは、参照用に複数のワークフロー・アクション定義のサンプルが提供されています。ワークフロー・アクションの定義の詳細は、『Oracle Fusion Middleware WebCenter Sites管理者ガイド』を参照してください。

次の各項では、ワークフロー・アクションのサンプル・エレメントについて説明します。

35.2.1 ステップ・アクションのエレメント

ステップ・アクションのエレメントは、コールされると次のデータを受信します。

  • WorkflowEngineというWorkflowEngineオブジェクト。

  • ObjectTotal変数: 状態が変更されているアセットの総数を表します。

  • ObjectnnnというIWorkflowableオブジェクト: 状態が変更されているアセットを表します。nnnは、0(ゼロ)とObjectTotal -1の間の数です。

  • StepというIWorkflowStepオブジェクト: 検討対象になっているワークフロー・ステップを表します。

  • StepTargetUser変数: ステップのターゲット・ユーザーのカンマ区切りリストです。

  • StepUser変数: ステップを進めようとするユーザーのIDを格納します。

  • Group変数: アセットの所属先ワークフロー・グループのIDを格納します(ワークフロー・グループを使用している場合)。

  • ワークフローの管理者がこのステップ・アクションの定義中に作成した任意の変数。

次のステップ・アクションのエレメントにより、アセットのパブリッシュが承認されます。その他のほとんどのステップ・アクションのエレメントは、割当て先に電子メールを送信するものです。

例35-7

  1. <?xml version="1.0" ?>

  2. <!DOCTYPE FTCS SYSTEM "futuretense_cs.dtd">

  3. <FTCS Version="1.1">

  4. <!-- OpenMarket/Xcelerate/Actions/Workflow/StepActions/ApproveForPublish

  5. -

  6. - INPUT

  7. - Variables.ObjectTotal - number of loaded workflowasset objects

  8. - Object[n] - loaded workflowasset objects, where n = 0 - Variables.ObjectTotal

  9. -targets - one or more comma separated names of PubTargets for which to approve the asset

  10. -

  11. - OUTPUT

  12. -

  13. -->

  14. <!-- This is an action element called by step actions ApproveForPublish-->

  15. This step action element will approve an asset for publish.<br/>

次に示すコードの2行目では、SETCOUNTERタグを使用して、承認するアセットの数を記録するカウンタを作成します。3行目から9行目では、LOOPタグを使用し、アセット間をループしてアセット・タイプとIDを取得します。

例35-8

  1. <!-- get the id and assettype of the asset(s) to approve -->

  2. <SETCOUNTER NAME="count" VALUE="0"/>

  3. <LOOP COUNT="Variables.ObjectTotal">

  4. <WORKFLOWASSET.GETASSETTYPE OBJECT="ObjectCounters.count" VARNAME="assettype"/>

  5. <WORKFLOWASSET.GETASSETID OBJECT="ObjectCounters.count" VARNAME="assetid"/>

  6. <SETVAR NAME="idCounters.count" VALUE="Variables.assetid"/>

  7. <SETVAR NAME="typeCounters.count" VALUE="Variables.assettype"/>

  8. <INCCOUNTER NAME="count" VALUE="1"/>

  9. </LOOP>

次に示すコードの2行目では、STRINGLISTタグを使用して、パブリッシュ・ターゲット名のカンマ区切りリストを作成します。6行目から21行目では、このリスト内をループし、PUBTARGET.LOADタグとPUBTARGET.GETタグを使用して、パブリッシュ・ターゲットに関する情報をPubTarget表からロードします。この情報および承認されるアセットに関する情報は、12行目でApprovePostエレメントに渡され、さらに処理されます。

例35-9

  1. <!-- approve for each destination -->

  2. <STRINGLIST NAME="publishTargets" STR="Variables.targets" DELIM=","/>

  3. <if COND="IsList.publishTargets=true">

  4. <then>

  5. <LOOP LIST="publishTargets">

  6. <PUBTARGET.LOAD NAME="pubtgt" FIELD="name" VALUE="publishTargets.ITEM"/>

  7. <if COND="IsError.Variables.errno=false">

  8. <then>

  9. Approving for publish to <CSVAR NAME="publishTargets.ITEM"/><br/>

  10. <PUBTARGET.GET NAME="pubtgt" FIELD="id" OUTPUT="pubtgt:id"/>

  11. <CALLELEMENT NAME="OpenMarket/Xcelerate/PrologActions/ApprovePost">

  12. <ARGUMENT NAME="targetid" VALUE="Variables.pubtgt:id"/>

  13. <ARGUMENT NAME="assetTotal" VALUE="Counters.count"/>

  14. </CALLELEMENT>

  15. <then>

  16. <else>

  17. Cannot approve for publish to destination: <CSVAR NAME="publishTargets.ITEM"/>, Error: <CSVAR NAME="Variables.errno"/>

  18. <else>

  19. </if>

  20. </LOOP>

  21. <then>

  22. <else>

  23. Cannot approve for publish. This step action requires a targets argument with one or more comma separated publishing destination names.

  24. <else>

  25. </if>

  26. </FTCS>

35.2.2 時間指定アクションのエレメント

時間指定アクションのエレメントは、コールされると次のデータを受信します。

  • WorkflowEngineというWorkflowEngineオブジェクト。

  • WorkflowAssignmentTotal変数: このアクションが適用される割当ての総数を格納します。

  • WorkflowAssignmentnnnというIWorkflowAssignmentオブジェクト: アクションの適用先の割当てを表します。nnnは、0(ゼロ)より大きい数です。

  • オプションのGroup変数: アセットの所属先ワークフロー・グループのIDを格納します(ワークフロー・グループを使用している場合)。

  • ワークフローの管理者がこの時間指定アクションの定義中に作成した任意の変数。

電子メールを送信する、時間指定アクション・エレメントの一部を次に示します。この電子メールの件名および本文のテキストは、「ワークフロー電子メール」フォームに設定されています。このフォームには、WebCenter Sitesのユーザー・インタフェースにある「管理」タブからアクセスします。本文テキストに予想される変数は次のとおりです。

  • Variables.assetname: 現在のアセットの名前を格納します。

  • Variables.assigner: ワークフロー・プロセス内で1つ前の状態を完了したユーザーの名前。

  • Variables.instruction: 割当て者が割当ての完了時に、「実行するアクション」テキスト・ボックスに入力するテキスト。

次に示すコードの2行目と5行目では、電子メール・オブジェクトの変数であるsubjectおよびbodyが、その値に置換されます。

例35-10

  1. <!-- translate subject -->

  2. <EMAIL.TRANSLATESUBJECT NAME="emailobject" PARAMS="assetname=Variables.assetname" VARNAME="subject"/>

  3. <!-- translate body -->

  4. <EMAIL.TRANSLATEBODY NAME="emailobject" PARAMS="assetname=Variables.assetname&#38;time=Variables.time" VARNAME="body"/>

  5. <!-- send mail -->

  6. <sendmail TO="Variables.EmailAddress" SUBJECT="Variables.subject" BODY="Variables.body"/>

  7. </THEN>

  8. <ELSE>

  9. Email address: None<br/>

  10. </ELSE>

  11. </IF>

  12. <inccounter NAME="COUNT" VALUE="1"/>

  13. </loop>

  14. <then>

  15. </if>

  16. </FTCS>

35.2.3 デッドロック・アクションのエレメント

デッドロック・アクションのエレメントは、コールされると次のデータを受信します。

  • WorkflowEngineオブジェクト。

  • ObjectTotal変数: デッドロック済アセットの総数を表します。

  • ObjectnnnというIWorkflowableオブジェクト: デッドロック済アセットを表します。

  • StepというIWorkflowStepオブジェクト: ワークフロー・ステップを表します。

  • StepTotal変数: 個々のユーザーによって選択されたステップの数を格納します。

  • StepUser変数: ステップを進めようとするユーザーのIDを格納します。

  • オプションのGroup変数: アセットの所属先ワークフロー・グループのIDを格納します(ワークフロー・グループを使用している場合)。

  • ワークフローの管理者がこのデッドロック・アクションの定義中に作成した任意の変数。

次のデッドロック・アクション・エレメントは、アセットを承認するユーザーに電子メールを送信します。

この電子メールの件名および本文のテキストは、WebCenter Sitesの管理ユーザー・インタフェースにある「ワークフロー電子メール」フォームに設定されています。本文テキストに予想される変数は次のとおりです。

  • Variables.assetname: 現在のアセットの名前を格納します。

  • Variables.headerVariables.message: 電子メールの本文のテキストを格納します。

例35-11

  1. <?xml version="1.0" ?>

  2. <!DOCTYPE FTCS SYSTEM "futuretense_cs.dtd">

  3. <FTCS Version="1.1">

  4. <!-- OpenMarket/Xcelerate/Actions/Workflow/DeadlockActions/SendEmailToAssignees

  5. -

  6. - INPUT

  7. -

  8. - OUTPUT

  9. -

  10. -->

  11. <!-- This is an action element called by step actions SendAssignmentEmail and SendRejectionEmail-->

  12. <csvar NAME="This deadlock action element will send emails"/><br/>

次に示すコードの2行目では、EMAILMANAGER.LOADタグを使用して、電子メール・オブジェクトをロードします。

例35-12

  1. <!-- load email object -->

  2. <EMAILMANAGER.LOAD NAME="Variables.emailname" OBJVARNAME="emailobject"/>

次に示すコードの1行目から9行目では、NumOfSteps変数を作成します。この変数には、委任されているアセットの総数または0(ゼロ)のいずれかが格納されます。

例35-13

  1. <!-- get total steps -->

  2. <if COND="IsVariable.StepTotal=true">

  3. <then>

  4. <setvar NAME="NumOfSteps" VALUE="Variables.StepTotal"/>

  5. <then>

  6. <else>

  7. <setvar NAME="NumOfSteps" VALUE="0"/>

  8. <else>

  9. </if>

  10. <removevar NAME="Step"/>

  11. <setvar NAME="Header" VALUE="The following users have chosen the corresponding steps that has resulted in a deadlock. Please take appropriate actions to resolve deadlock:"/>

  12. <setvar NAME="Message" VALUE="Variables.empty"/>

次に示す3つのコード例(例35-14例35-15、および例35-16)では、アセットをデッドロック状態にしたユーザーのリスト内をループして、ユーザーごとに電子メールを作成します。次に示すコードの10行目では、USERMANAGER.GETUSERタグを使用して、IDで指定されたユーザーのユーザー情報をロードします。11行目と12行目では、CCUSERタグを使用して、ユーザーの名前と電子メール・アドレスを取得します。

例35-14

  1. <!-- For each assignment object, get asignee -->

  2. <setcounter NAME="COUNT" VALUE="0"/>

  3. <if COND="Variables.NumOfSteps!=0">

  4. <then>

  5. <loop FROM="0" COUNT="Variables.NumOfSteps">

  6. <!-- get assigner -->

  7. <setvar NAME="userid" VALUE="Variables.StepUserCounters.COUNT"/>

  8. <!-- get email address --->

  9. <USERMANAGER.GETUSER USER="Variables.userid" OBJVARNAME="userobj"/>

  10. <CCUSER.GETNAME NAME="userobj" VARNAME="user_name"/>

  11. <CCUSER.GETEMAIL NAME="userobj" VARNAME="EmailAddress"/>

次に示すコードの1行目から6行目では、WORKFLOWSTEPタグとWORKFLOWSTATEタグを使用して、アセットの開始および終了のステップと状態を取得します。

例35-15

  1. <WORKFLOWSTEP.GETNAME NAME="StepCounters.COUNT" VARNAME="stepname"/>

  2. <WORKFLOWSTEP.GETSTARTSTATE NAME="StepCounters.COUNT" VARNAME="startstate"/>

  3. <WORKFLOWSTEP.GETENDSTATE NAME="StepCounters.COUNT" VARNAME="endstate"/>

  4. <WORKFLOWSTATE.GETSTATENAME NAME="Variables.startstate" VARNAME="startstatename"/>

  5. <WORKFLOWSTATE.GETSTATENAME NAME="Variables.endstate" VARNAME="endstatename"/>

  6. <setvar NAME="Message" VALUE="Variables.Message Variables.user_name: Variables.stepname - "/>

  7. <!--

  8. user:<csvar NAME="Variables.user_name"/><br/>

  9. step name:<csvar NAME="Variables.stepname"/><br/>

  10. startstate name:<csvar NAME="Variables.startstate"/><br/>

  11. endstate name:<csvar NAME="Variables.endstate"/><br/>

  12. -->

  13. <!-- get asset -->

  14. <WORKFLOWABLEOBJECT.GETDISPLAYABLENAME NAME="Variables.ObjectCounters.COUNT" VARNAME="assetname"/>

次に示すコードの3行目と6行目では、電子メール・オブジェクトの変数であるsubjectおよびbodyが、その値に置換されます。

例35-16

  1. <!-- translate subject -->

  2. <SETVAR NAME="params" VALUE="username=Variables.user_name&#38;header=Variables.Header&#38;message=Variables.Message&#38;assetname=Variables.assetname"/>

  3. <EMAIL.TRANSLATESUBJECT NAME="emailobject" PARAMS="Variables.params" VARNAME="subject"/>

  4. <!-- translate body -->

  5. <EMAIL.TRANSLATEBODY NAME="emailobject" PARAMS="Variables.params" VARNAME="body"/>

  6. <!-- send mail -->

  7. <sendmail TO="Variables.EmailAddress" SUBJECT="Variables.subject" BODY="Variables.body"/>

  8. <inccounter NAME="COUNT" VALUE="1"/>

  9. </loop>

  10. <then>

  11. </if>

  12. email message:<csvar NAME="Variables.Header Variables.Message"/><br/>

  13. </FTCS>

35.2.4 グループ・デッドロック時のアクションのエレメント

グループ・デッドロック時のアクションのエレメントは、コールされると次のデータを受信します。

  • WorkflowEngineというWorkflowEngineオブジェクト。

  • ObjectTotal変数: デッドロック済アセットの総数を表します。

  • ObjectnnnというIWorkflowableオブジェクト: デッドロック済アセットを表します。nnnは、0(ゼロ)より大きい数です。

  • StepというIWorkflowStepオブジェクト: ワークフロー・ステップを表します。

  • StepTotal変数: 個々のユーザーによって選択されたステップの数を格納します。

  • StepUser変数: ステップを進めようとするユーザーのIDを格納します。

  • Group変数: デッドロックされたワークフロー・グループのIDを格納します。

  • ワークフローの管理者がこのグループ・デッドロック時のアクションの定義中に作成した任意の変数。

次のグループ・デッドロック時のアクション・エレメントは、アセットを承認するユーザーに電子メールを送信します。

この電子メールの件名および本文のテキストは、WebCenter Sitesの管理ユーザー・インタフェースにある「ワークフロー電子メール」フォームに設定されています。本文テキストに予想される変数は次のとおりです。

  • Variables.assetname: 現在のアセットの名前を格納します。

  • Variables.headerVariables.message: 電子メールの本文のテキストを格納します。

例35-17

  1. <?xml version="1.0" ?>

  2. <!DOCTYPE FTCS SYSTEM "futuretense_cs.dtd">

  3. <FTCS Version="1.1">

  4. <!-- OpenMarket/Xcelerate/Actions/Workflow/GroupActions/SendEmailToAssignees

  5. -

  6. - INPUT

  7. -

  8. - OUTPUT

  9. -

  10. -->

  11. <!-- user code goes here -->

  12. <csvar NAME="This group deadlock action element will send emails"/><br/>

  13. <!-- load email object -->

  14. <EMAILMANAGER.LOAD NAME="Variables.emailname" OBJVARNAME="emailobject"/>

  15. <!-- get group -->

  16. <WORKFLOWENGINE.GETGROUPID ID="Variables.Group" OBJVARNAME="grpobj"/>

  17. <WORKFLOWGROUP.GETNAME NAME="grpobj" VARNAME="GroupName"/>

  18. <!-- get total steps -->

  19. <if COND="IsVariable.StepTotal=true">

  20. <then>

  21. <setvar NAME="NumOfSteps" VALUE="Variables.StepTotal"/>

  22. <then>

  23. <else>

  24. <setvar NAME="NumOfSteps" VALUE="0"/>

  25. <else>

  26. </if>

  27. <removevar NAME="Step"/>

  28. <setvar NAME="Header" VALUE="The following users have chosen the corresponding steps that has resulted in a deadlock for the group: Variables.GroupName. Please take appropriate actions to resolve deadlock:"/>

  29. <setvar NAME="Message" VALUE="Variables.empty"/>

  30. <!-- For each assignment object, get asignee -->

  31. <setcounter NAME="COUNT" VALUE="0"/>

  32. <if COND="Variables.NumOfSteps!=0">

  33. <then>

  34. <loop FROM="0" COUNT="Variables.NumOfSteps">

  35. <!-- get assigner -->

  36. <setvar NAME="userid" VALUE="Variables.StepUserCounters.COUNT"/>

  37. <!-- get email address --->

  38. <USERMANAGER.GETUSER USER="Variables.userid" OBJVARNAME="userobj"/>

  39. <CCUSER.GETNAME NAME="userobj" VARNAME="user_name"/>

  40. <CCUSER.GETEMAIL NAME="userobj" VARNAME="EmailAddress"/>

  41. <WORKFLOWSTEP.GETNAME NAME="StepCounters.COUNT" VARNAME="stepname"/>

  42. <WORKFLOWSTEP.GETSTARTSTATE NAME="StepCounters.COUNT" VARNAME="startstate"/>

  43. <WORKFLOWSTEP.GETENDSTATE NAME="StepCounters.COUNT" VARNAME="endstate"/>

  44. <WORKFLOWSTATE.GETSTATENAME NAME="Variables.startstate" VARNAME="startstatename"/>

  45. <WORKFLOWSTATE.GETSTATENAME NAME="Variables.endstate" VARNAME="endstatename"/>

  46. <!-- get asset -->

  47. <WORKFLOWABLEOBJECT.GETDISPLAYABLENAME NAME="Variables.ObjectCounters.COUNT" VARNAME="assetname"/>

  48. <!-- set message -->

  49. <setvar NAME="Message" VALUE="Variables.Message Asset: Variables.assetname, User: Variables.user_name, Step: Variables.stepname -- "/>

  50. <!-- translate subject -->

  51. <SETVAR NAME="params" VALUE="username=Variables.user_name&#38;header=Variables.Header&#38;message=Variables.Message&#38;assetname=Variables.assetname"/>

  52. <EMAIL.TRANSLATESUBJECT NAME="emailobject" PARAMS="Variables.params" VARNAME="subject"/>

  53. <!-- translate body -->

  54. <EMAIL.TRANSLATEBODY NAME="emailobject" PARAMS="Variables.params" VARNAME="body"/>

  55. <!-- send mail -->

  56. <sendmail TO="Variables.EmailAddress" SUBJECT="Variables.subject" BODY="Variables.body"/>

  57. <inccounter NAME="COUNT" VALUE="1"/>

  58. </loop>

  59. <then>

  60. </if>

  61. email message:<csvar NAME="Variables.Header Variables.Message"/><br/>

  62. </FTCS>

35.2.5 委任アクションのエレメント

委任アクションのエレメントは、コールされると次のデータを受信します。

  • WorkflowEngineというWorkflowEngineオブジェクト。

  • CurrentUser変数: アセットを委任しているユーザーのIDを格納します。

  • オプションのGroup変数: ワークフロー・グループのIDを格納します。委任されるオブジェクトはすべて、同一のワークフロー・グループに存在する必要があります。

  • ObjectTotal変数: 委任されているアセットの総数を表します。

  • ObjectnnnというIWorkflowableオブジェクト: 委任されているアセットを表します。nnnは、0(ゼロ)より大きい数を表します。

委任アクションのエレメントは、ワークフロー・アクションの他のエレメント同様のコーディングをする必要があります。