cancel
Showing results for 
Search instead for 
Did you mean: 

Execute action agains multiple documents

zkiss77
Champ in-the-making
Champ in-the-making
I'm trying to develop a webscript, which receive one or more document id, and a username (and some toher data) and register an ad-hoc workflow (task) with the documents to the given user.

I have the next sample working code. It creates the task, and assign it to the user. But only with 1 document.


var workflow = actions.create("start-workflow");
var mydoc = search.findNode("workspace://SpacesStore/66232487-5846-4960-a865-1463c89fe6ca");
var mydoc2 = search.findNode("workspace://SpacesStore/bf848871-ffa3-48dc-b089-b208ca44c3ff");
workflow.parameters.workflowName = "jbpm$wf:adhoc";
workflow.parameters["bpm:workflowDescription"] = "Test ad-hoc task";
workflow.parameters["bpm:assignee"] = people.getPerson("test_user");
var futureDate = new Date();
futureDate.setDate(futureDate.getDate() + 21);
workflow.parameters["bpm:workflowDueDate"] = futureDate;
workflow.parameters["bpm:workflowPriority"] = 1;
workflow.execute(mydoc);

How is possible to associate multiple documents in one task? I'm not insist on script solution. Java based soultion is also a good one for me.
Can anybody help with it?
5 REPLIES 5

jayjayecl
Confirmed Champ
Confirmed Champ
I think you have to write into variable bpm_package and add as many documents as you want

zkiss77
Champ in-the-making
Champ in-the-making
I think you have to write into variable bpm_package and add as many documents as you want

But how can I access bpm_package variable?
This script runs not in a jbpm workflow, but in a webscript context. And now it is just an action ("start-workflow") call. I couldn't find any other sample to start workflow from script.

zkiss77
Champ in-the-making
Champ in-the-making
Thanks JayJayECL! I find it.


var mydoc = search.findNode("workspace://SpacesStore/3cacf305-4e5f-4643-9b25-55a54d6539e5");
var mydoc2 = search.findNode("workspace://SpacesStore/ade24790-19df-41d3-b16c-5b6ad0a5b932");

var workflowDefinition = workflow.getDefinitionByName("jbpm$wf:adhoc");

var workflowPackage = workflow.createPackage();
workflowPackage.addNode(mydoc);
workflowPackage.addNode(mydoc2);

var workflowParameters = new Array();
workflowParameters["bpm:assignee"] = people.getPerson("test_user");
workflowParameters["bpm:workflowDescription"] = "Test ad-hoc task";
var futureDate = new Date();
futureDate.setDate(futureDate.getDate() + 21);
workflowParameters["bpm:workflowDueDate"] = futureDate;
workflowParameters["bpm:workflowPriority"] = 1;

var workflowPath = workflowDefinition.startWorkflow(workflowPackage, workflowParameters);

jayjayecl
Confirmed Champ
Confirmed Champ
Thanks for thanking me when you obviously found it yourself Smiley Wink

zkiss77
Champ in-the-making
Champ in-the-making
I'm newby with Alfresco, and I found this kind of workflow calling by your tip just now  Smiley Very Happy