Alfresco の Activiti ワークフローで状態を開始した ScriptNode を取得する方法はありますか? ワークフローに ScriptTask があり、Start イベント用に Alfresco Script Listener が設定されています。スクリプトが呼び出されたときに、ワークフローで ScriptTask に遷移した ScriptNode を、リスナーとして定義された関数にパラメーターとして渡すようにしたいと考えています。それは可能ですか?
わかりやすくするための編集: これは、Activiti プラグインを使用した Eclipse のスクリーンショットです。 http://i.imgur.com/DAKtq.jpg
このワークフローは、Web スクリプトを使用する別のワークフローによって開始されます。
var props = new Object();
var dd = new Date();
props[EL_PROP_WORK_UNIT_NAME] = "testNode" + DateISOString( dd );
props[EL_PROP_WORK_UNIT_SOURCE_CODE] = "ROB";
props[EL_PROP_WORK_UNIT_DELIVERY_DATE] = dd;
node = getHome().createNode(name, EL_TYPE_WORK_UNIT, props);
var EL_WORKFLOW = "activiti$The-workflow";
var activeWfs = node.activeWorkflows;
if( activeWfs === null || activeWfs.length === 0 )
{
var workflowPackage = workflow.createPackage();
workflowPackage.addNode( node );
var workflowDef = workflow.getDefinitionByName(EL_WORKFLOW);
var workflowPath = workflowDef.startWorkflow( workflowPackage, new Object());
}
したがって、リスナーは別の JavaScript メソッドを呼び出します...
function artPDFRename()
{
logger.log("==============================");
logger.log("<START> artPDFRename");
var workflowDef = workflow.getDefinitionByName(EL_WORKFLOW);
var activeInstance = workflowDef.getActiveInstances();
// ????
}
目標は、この処理を自動化することです。私たちは、手動による介入をできるだけ少なくしてこれを設計しようとしており、実行するタスクをユーザーに割り当てていません。はい、おそらくPDFファイルの名前を変更する別の方法がありますが、ここにリストされているドキュメントから、bpm_packageオブジェクトに入れたノードへのポインターを取得する方法がわかりません。それが問題です。
それとも、私たちがこれをどのように開発しているかに基づいていないので、意味がありませんか?