Alfresco Share 4.2:如何在文件夹规则中执行脚本的选项中启动自定义工作流?
在Alfresco Share 4.2中,您可以选择在文件夹上定义规则。预定义选项之一是脚本执行。我想执行一个脚本来启动自定义工作流的执行,但我没有看到任何这样的例子,也没有看到必须将该脚本放在何处 此外,在开箱即用配置中,当您选择脚本执行选项时,您可以(仅)执行一个名为“在组中启动审阅和批准工作流”的脚本,但如果我选择此选项并在文件夹中创建规则,生成文件夹中的事件时,此规则不起任何作用 ******向第一个和第二个答案添加信息****************** 我在Windows7环境中使用Alfresco Enterprise Edition,我没有任何名为“Data Dictionary”的文件夹,在我的安装中也不存在任何名为“start Poolled review workflow.js”的文件。如果问题是这样的,我会在其他电脑上安装Community Edition来查找此文件夹 你能写下我要放脚本的完整路径吗?。你提到的其他选择对我来说很难 还有一件事,我正在尝试使用activiti执行此工作流,我不知道应该在哪里更改,alfresco-global.properties在哪里。我一直在锁定一个名为alfresco-global.properties的文件,但它在我的安装中不存在Alfresco Share 4.2:如何在文件夹规则中执行脚本的选项中启动自定义工作流?,alfresco,Alfresco,在Alfresco Share 4.2中,您可以选择在文件夹上定义规则。预定义选项之一是脚本执行。我想执行一个脚本来启动自定义工作流的执行,但我没有看到任何这样的例子,也没有看到必须将该脚本放在何处 此外,在开箱即用配置中,当您选择脚本执行选项时,您可以(仅)执行一个名为“在组中启动审阅和批准工作流”的脚本,但如果我选择此选项并在文件夹中创建规则,生成文件夹中的事件时,此规则不起任何作用 ******向第一个和第二个答案添加信息****************** 我在Windows7环境中使用
脚本
start poolled review workflow.js
shipping with Alfresco实际上是一个很好的示例,可以启动工作流。您应该在“存储库>数据字典>脚本”中找到它。这是:
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文件夹中。(另一种方法是创建一个从脚本
派生的spring托管bean或一个用Java编码的操作)
如果“在组中启动审阅和批准工作流”是脚本执行的唯一选项,则您的安装很可能有问题。禁用jbpm并改用activiti-不推荐使用alfresco中的jbpm工作流