使用alfresco Java脚本api或通过Web脚本启动工作流程 [英] start workflow using alfresco java script api or through web script

查看:208
本文介绍了使用alfresco Java脚本api或通过Web脚本启动工作流程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想以编程方式启动工作流程。因此写了一个网络脚本。

I want to start a workflow programatically. So written a web script.

执行脚本:

function startWorkflow()
{
   var workflow = actions.create("start-workflow");
   workflow.parameters.workflowName = "activiti$alfGroupReview";
   workflow.parameters["bpm:workflowDescription"] = "Please review ";
   workflow.parameters["bpm:groupAssignee"] = people.getGroup( "GROUP_site_collaborators");;
   var futureDate = new Date();
   futureDate.setDate(futureDate.getDate() + 7);
   workflow.parameters["bpm:workflowDueDate"] = futureDate; 
   workflow.execute(document);
   return ;
}

对于上述脚本,我收到错误消息未定义文档。我指的是 https://forums.alfresco.com/en/ viewtopic.php?f = 34& t = 42677 http://livinginjava.blogspot.in/2008/10/starting-alfresco-workflow-using.html链接。

For the above script, I am getting error "document is not defined". I am referring https://forums.alfresco.com/en/viewtopic.php?f=34&t=42677 and http://livinginjava.blogspot.in/2008/10/starting-alfresco-workflow-using.html links.

所以我更新了脚本到:

function startWorkflow()
{
var nodeRef = "workspace://SpacesStore/25285e6c-2995-49fe-aa50-1270cefc806a";
var docNode = search.findNode(nodeRef);
   var workflow = actions.create("start-workflow");
   workflow.parameters.workflowName = "activiti$alfGroupReview";
   workflow.parameters["bpm:workflowDescription"] = "Please review ";
   workflow.parameters["bpm:groupAssignee"] = people.getGroup( "GROUP_aloha_collaborators");;
   var futureDate = new Date();
   futureDate.setDate(futureDate.getDate() + 7);
   workflow.parameters["bpm:workflowDueDate"] = futureDate; 
   workflow.execute(docNode);
   return ;
}

在这里,nodeRef:是文档库中文档的引用。

Here, nodeRef : is ref of a document from document library.

现在新的错误是:

500 Description:    An error inside the HTTP server which prevented it from fulfilling the request.

Message:    06270056 Wrapped Exception (with status template): 06270273 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/justransform/startWF.get.js': null

Exception:  org.alfresco.scripts.ScriptException - 06270273 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/justransform/startWF.get.js': null

    org.alfresco.repo.jscript.RhinoScriptProcessor.execute(RhinoScriptProcessor.java:195)

请先谢谢。

推荐答案

如果以下条件,此代码可以正常运行:

This code runs fine if:


  • docNode不为null。您应该为此添加一个支票。

  • 您的组存在。可能值得为此添加检查。

  • 工作流程存在指定的ID。使用工作流控制台进行确认。例如,您提供的ID并非开箱即用的
    。如果是自定义的,则可能是您尚未成功部署
    工作流,或者您的ID不正确。

不要使用称为工作流的变量。 Alfresco已经定义了一个根域对象,称为工作流。说到这一点,请随时使用工作流JavaScript API 来调用工作流而不是操作。

Also, do not use a variable called "workflow". Alfresco already defines a root-scoped object called "workflow". Speaking of that, feel free to use the workflow JavaScript API to invoke your workflow instead of an action. Either should work, though.

我使用 JavaScript控制台,工作流ID为 activiti $ activitiParallelGroupReview(以及将工作流变量更改为工作流Act之后)。

I ran your code successfully using the JavaScript console and a workflow id of "activiti$activitiParallelGroupReview" (and after changing your workflow variable to workflowAct).

这篇关于使用alfresco Java脚本api或通过Web脚本启动工作流程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆