有没有办法在 Alfresco 的 Activiti 工作流中获取启动状态的 ScriptNode?我的工作流程中有一个 ScriptTask,它为 Start 事件设置了一个 Alfresco Script Listener。调用脚本时,我希望将在工作流中转换为 ScriptTask 的 ScriptNode 作为参数传递给定义为侦听器的函数。那可能吗?
为清楚起见进行编辑:这是带有 Activiti 插件的 Eclispe 的屏幕截图。 http://i.imgur.com/DAKtq.jpg
此工作流由另一个带有 webscripts 的工作流启动。
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 对象中的节点的指针。这就是问题所在。
还是我离我们如何开发这个的基础太远了,这没有意义?