最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

How to start an Alfresco Workflow through Javascript adding a resource - Stack Overflow

programmeradmin1浏览0评论

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!

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!

Share Improve this question edited Apr 24, 2013 at 15:35 Black.Jack asked Apr 22, 2013 at 21:12 Black.JackBlack.Jack 1,9572 gold badges25 silver badges42 bronze badges 0
Add a ment  | 

1 Answer 1

Reset to default 5

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);
发布评论

评论列表(0)

  1. 暂无评论