Hi, please help.
I searched information in the Internet but no success. I have the following challenge.
How I can get a list of workflows relating to a user by simple JavaScript script (which we plan to use as rule in future). If possible please provide a full source code.
I know how to get a list of workflows by RESTful:
http://localhost:8080/alfresco/service/api/workflow-instances
but I do not know how we can call it from simple JavaScript ?!
I tried to use "remote" object in JavaScript Console (by Florian Maul) but system reported the "remote is not defined":
var url = "http://localhost:8080/alfresco/service/api/workflow-instances";
var json = remote.call(url);
I also know how to get a workflow relating to some file(s) but that's not what I'm looking for:
var docNodeRef = "workspace://SpacesStore/c86cbdb5-6bbc-4a30-8c8d-be610bee4a63";
var theDocument = search.findNode(docNodeRef);for each(wf in theDocument.activeWorkflows)
{
logger.log(wf.);
}
So I need to get a list of all workflows relating to a some user by simple JavaScript script from user session. We plan to place this script file in "Repository -> Data Dictionary -> Scripts" and use it in Alfresco' Rule.
Thank you very much in advance for any help!
Best regards,
Egor
Solved! Go to Solution.
I don't know this is exactly which you are looking. but I have worked on workflow in javascript. So putting some snippet.
You can try few.
var wf = workflow.getAssignedTasks();
for (var w = 0; w < wf.length; w++) {
a = "activiti$" + wf[w].properties["bpm:taskId"];
if (a == activitiId) {
var workflowUsers = wf[w].properties["xxx:relatedUsers"].split(',');
if (workflowUsers.indexOf(user.properties.userName) > -1)
{
activiti = true;
}
}
}
others:
var task = workflow.getTask(activitiId);
I don't know this is exactly which you are looking. but I have worked on workflow in javascript. So putting some snippet.
You can try few.
var wf = workflow.getAssignedTasks();
for (var w = 0; w < wf.length; w++) {
a = "activiti$" + wf[w].properties["bpm:taskId"];
if (a == activitiId) {
var workflowUsers = wf[w].properties["xxx:relatedUsers"].split(',');
if (workflowUsers.indexOf(user.properties.userName) > -1)
{
activiti = true;
}
}
}
others:
var task = workflow.getTask(activitiId);
Hi Ratik!
Yes this seems what I'm looking for. Let me ask two questions:
1. Where I can find a descriptions of a workflow object which used in your example ?
2. Where I can find a description of all wf[w].properties["?"] ?
Thanks a lot !
Best regards,
Egor
Hi Egor,
You can find few APIs here and also get some idea by using core APIs.
You can check context object here.
few example:
workflowUsers.indexOf(users.properties.userName),
model.users.push(users.properties.userName),
wf[w].properties["bpm:description"];
workflow.parameters.workflowName = "";
workflow.parameters["bpm:workflowDescription"] = "";
workflow.parameters["abc:workflowRelatedUsers"] = "";
workflow.parameters["bpm:assignee"] = "";
workflow.parameters["bpm:workflowDueDate"] = "";;
Dear Ratik,
You provide an information about how to get a list of tasks assigned on me (getAssignedTasks() but could you provide also an example about - how we can get a list of tasks which a user assign to others ?
Many thanks!
Best regards,
Egor
Dear Ratik,
the list of Root Objects listed by the link - Surf root-scoped objectsdo not contains a reference on workflow object, why ?!
JYI
We are using Alfresco Community 5.1
Thanks a lot !
Best regards,
Egor
var members = people.getMembers(people.getGroup("GROUP_Workers"));
var assignedTasks = workflow.getAssignedTasks();
var name = members.properties["cm:userName"];
You can find the desire result by using these 3 lines. Hope it will work.
Dear Ratik,
I have checked there is no possibility to get a list of tasks assigned by a user to others by JavaScript API.
In any way Thank you very much for your answers!
Best regards,
Egor
Ask for and offer help to other Alfresco Content Services Users and members of the Alfresco team.
Related links:
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.