【发布时间】:2011-09-01 00:42:10
【问题描述】:
我使用 alfresco 作为单独的前端 Web 应用程序的后端工作流程(不要问我为什么,问客户)。前端服务器对后端 alfresco webscripts 进行 ajax 调用。我遇到的问题是我的工作流 webscript 中设置的参数没有显示在自定义工作流过程的 javascript 中。
这是 webscript 的精髓。最后的信号是越过起始节点:
var timestamp = new Date().getTime();
contentName = args['name']+timestamp;
var node = userhome.createNode(contentName, "wds:Promotion");
node.properties["cm:name"]=args['title'];
node.save();
var workflowDefinition = workflow.getDefinitionByName("jbpm$pas:workflow");
var workflowPackage = workflow.createPackage();
workflowPackage.addNode(node);
var workflowParameters = new Object();
workflowParameters["bpm:groupAssignee"] = people.getGroup("regional");
workflowParameters["pas:currentReviewGroup"] = "GROUP_Regional"
var workflowPath = workflowDefinition.startWorkflow(workflowPackage, workflowParameters);
workflowPath = workflowPath.signal(null);
这是工作流程。问题出在第二节。 pas_currentReviewGroup 和 bpm_groupAssignee 在 webscript 中设置时都为空。我使用 pas_customReviewGroup 来跟踪我在工作流中的位置,因为对于不同的用户重复相同的几个步骤,所以只有一组任务。
<start-state name="pas:start-state">
<task name="pas:start" swimlane="initiator"></task>
<transition name="" to="pas:SetCurrentGroup"></transition>
</start-state>
<node name="pas:SetCurrentGroup">
<event type="node-enter">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="pas_currentReviewGroup" access="read,write" />
<variable name="bpm_groupAssignee" access="read"/>
<expression>
if (!pas_currentReviewGroup)
{
pas_currentReviewGroup = bpm_groupAssignee.properties.authorityName == "GROUP_Market" ? "GROUP_Regional" : "GROUP_Burbank";
}
</expression>
</script>
</action>
</event>
<transition name="" to="pas:DraftingUpload" />
</node>
<task-node name="pas:DraftingUpload">
<task name="pas:draftingUpload" swimlane="CreatorGroup"/>
<transition name="Submit" to="pas:PendingReview"></transition>
</task-node>
我阅读了一些关于 workflowDefinition.startWorkflow 的 workflowParameters 需要 ScriptableObject 的资料,但我找不到任何关于使用它的信息。
如何在 webscript 中设置方面变量,以便它们显示在工作流程中。当我在 alfresco share 中查看该项目时,会填充组受理人。
提前致谢
【问题讨论】:
-
你的回答是否适用于我的回答?
标签: javascript workflow alfresco