在Alfresco-Share 4.2中,您可以选择在文件夹上定义规则。其中一个预定义的选项是脚本执行。我想执行一个脚本,启动自定义工作流程的执行,但我没有看到任何这样的例子,你必须把这个脚本放在哪里。
此外,在开箱即用的配置中,当您选择脚本执行选项时,您可以(仅)执行一个名为“启动审阅和批准的工作流程”的脚本,但是如果我选择此选项并在文件夹中创建规则,此规则在生成文件夹中的事件时不会生成任何内容。
** * ** 将信息添加到第一和第二个答案 ** * ** * ** * ** * ** * **** 我在Windows 7环境中使用Alfresco企业版,我没有任何名为“数据字典”的文件夹,在我的安装中不存在任何名为“start-pooled-review-workflow.js”的文件。如果问题是这个,我会在其他PC中安装Community Edition来找到这个文件夹。
你能写出我必须把脚本放到哪里的完整路径吗?你提到的其他替代方案对我来说很难。
还有一件事,我试图用activiti做这个工作流程,我不知道我应该在哪里改变,alfresco-global.propierties在哪里。我一直在锁定一个名为alfresco-global.propierties的文件,但它在我的安装中不存在。
答案 0 :(得分:1)
与Alfresco一起发布的脚本start-pooled-review-workflow.js
实际上是一个很好的例子,说明了如何启动工作流程。你应该在" Repository>中找到它。数据字典>脚本&#34 ;.这是:
function startWorkflow(assigneeGroup)
{
var workflow = actions.create("start-workflow");
workflow.parameters.workflowName = "jbpm$wf:reviewpooled";
workflow.parameters["bpm:workflowDescription"] = "Please review " + document.name;
workflow.parameters["bpm:groupAssignee"] = assigneeGroup;
var futureDate = new Date();
futureDate.setDate(futureDate.getDate() + 7);
workflow.parameters["bpm:workflowDueDate"] = futureDate;
return workflow.execute(document);
}
function main()
{
var name = document.name;
var siteName = document.siteShortName;
if (siteName == null)
{
if (logger.isLoggingEnabled())
logger.log("Did not start workflow as the document named " + name + " is not located within a site.");
return;
}
var reviewGroup = "GROUP_site_" + siteName;
// make sure the group exists
var group = people.getGroup(reviewGroup);
if (group != null)
{
if (logger.isLoggingEnabled())
logger.log("Starting pooled review and approve workflow for document named " + name + " assigned to group " + reviewGroup);
startWorkflow(reviewGroup);
if (logger.isLoggingEnabled())
logger.log("Started pooled review and approve workflow for document named " + name + " assigned to group " + reviewGroup);
}
else if (logger.isLoggingEnabled())
{
logger.log("Did not start workflow as the group " + reviewGroup + " could not be found.");
}
}
main();
我猜你的失败是因为在最近的Alfresco版本中默认禁用了jbpm引擎。设置
system.workflow.engine.jbpm.enabled=true
alfresco-global.properties中的应该可以解决问题。
所以只需将脚本放在数据字典的Scripts文件夹中即可。 (另一种方法是创建一个源自script
的Spring托管bean或一个用Java编码的Action)。
如果"启动审核批准工作流程"是您执行脚本的唯一选择,您的安装很可能出现问题。