如何通过Javascript添加资源启动Alfresco Workflow [英] How to start an Alfresco Workflow through Javascript adding a resource

查看:225
本文介绍了如何通过Javascript添加资源启动Alfresco Workflow的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Alfresco中开始使用规则和简单的javascript非常简单,但我仍然试图通过javascript添加资源来启动工作流程。



我的目标是添加用于启动流程的文档(或文档),因此我可以在Alfresco WorkDesk的Alfresco BPM的OW_ATTACHMENTS中获取引用。
我用bpm尝试了很多次:workflowpagckage或bpm:包没有运气....帮助!



编辑:

  function startWorkflow(name,docNode)
{
var workflow = actions.create(start-workflow);
workflow.parameters [bpm:workflowPackage] = docNode;
workflow.parameters.workflowName =activiti $ AdHocactivitiTimer;
workflow.parameters [bpm:assignee] = people.getPerson(admin);
workflow.parameters [bpm:workflowDescription] =test;
workflow.parameters [bpm:workflowPriority] =2;
workflow.parameters [bpm:sendEMailNotifications] = true;
workflow.parameters [initiator] = people.getPerson(admin);
var today = new Date();
var duedate = today.getDate()+ 1;
workflow.parameters [bpm:workflowDueDate] = duedate;
workflow.execute(document);
}

函数main()
{
var docNode = search.findNode(document.nodeRef);
var name = document.name;
startWorkflow(name,docNode);
}


main();

谢谢!

解决方案

bpm:package或bpm_package在启动之前不可用。
那么你将文件添加到bpm_package会发生什么。



在你的工作流程中你可以访问 bpm_package 作为变量。使用 bpm_package.addNode(doc); ,您可以添加节点。



可以通过search / childbynamepath / xpath等找到这些节点。 / p>

如果您不使用该操作,则另一种方式是:

  var workflowAction = workflow.getDefinitionByName('activiti $ AdHocactivitiTimer'); 
var package = workflow.createPackage();
package.addNode(document);
workflowAction.startWorkflow(包,参数);


Starting using a rule and a simple javascript in Alfresco is quite easy but i'm stuck on trying to start a workflow through javascript adding a resource.

My goal is to add the document (or documents) used to start the flow, so i can obtain a reference in the "OW_ATTACHMENTS" of the Alfresco BPM of the Alfresco WorkDesk. I've tried many times with the bpm:workflowpagckage or bpm:package with no luck....help!

Edit:

  function startWorkflow(name,docNode)
{    
    var workflow = actions.create("start-workflow");
    workflow.parameters["bpm:workflowPackage"] = docNode;
    workflow.parameters.workflowName = "activiti$AdHocactivitiTimer";
    workflow.parameters["bpm:assignee"] = people.getPerson("admin");
    workflow.parameters["bpm:workflowDescription"] = "test";
    workflow.parameters["bpm:workflowPriority"] = "2";
    workflow.parameters["bpm:sendEMailNotifications"] = true;
    workflow.parameters["initiator"] = people.getPerson("admin"); 
    var today = new Date();
    var duedate = today.getDate() + 1; 
    workflow.parameters["bpm:workflowDueDate"] = duedate;
    workflow.execute(document);
}

function main()
{    
    var docNode = search.findNode(document.nodeRef); 
    var name = document.name;  
        startWorkflow(name,docNode); 
}


main();

thanks!

解决方案

The bpm:package or bpm_package is not available before start. So what happens you're document is added to bpm_package.

And in your workflow you can access bpm_package as a variable. And with bpm_package.addNode(doc); you can add nodes.

These nodes can be found through search/childbynamepath/xpath etc.

If you don't use the action the other way is:

var workflowAction = workflow.getDefinitionByName('activiti$AdHocactivitiTimer');
var package= workflow.createPackage();
package.addNode(document);
workflowAction.startWorkflow(package, parameters);

这篇关于如何通过Javascript添加资源启动Alfresco Workflow的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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