2014-06-24 24 views
0

由於內容規則,我想自動在文件夾中的所有文件上添加工作流程。我已經看到一個工作流程已經存在(審查組),但我想添加一個僅允許網站管理員驗證文檔(經理審查)的工作流程。我添加了一個JavaScript腳本,這是我的代碼,不工作:在Alfresco中創建一個javascript工作流程

var workflow = actions.create("start-workflow"); 
workflow.parameters.workflowName = "jbpm$wf:parallelgroupreview"; 
workflow.parameters.requiredApprovePercent = 20; 
workflow.parameters["bpm:workflowDescription"] = "Please review and approve: " + document.name; 
workflow.parameters["bpm:assignee"] = site.listMembers(null, "manager", 0, true); 
var futureDate = new Date(); 
futureDate.setDate(futureDate.getDate() + 7); 
workflow.parameters["bpm:workflowDueDate"] = futureDate; 
workflow.execute(document); 

請你能幫助我,因爲我有點困惑。

謝謝!

回答

1

你必須稍微調整一下文件的SiteManager-Group。以下片段將啓動並行組審查工作流程。 我已經使用了基於Activiti的,我會推薦使用的Activiti代替jBPM的工作流程:

var ctx = Packages.org.springframework.web.context.ContextLoader.getCurrentWebApplicationContext(); 
var javaSiteService = ctx.getBean("siteService"); 
var site = javaSiteService.getSite(document.nodeRef); 
var siteManagerGroup = javaSiteService.getSiteRoleGroup(site.getShortName(), "SiteManager", true); 
var groupAssignee = people.getGroup(siteManagerGroup) 

var workflow = actions.create("start-workflow"); 
workflow.parameters.workflowName = "activiti$activitiParallelGroupReview"; 
workflow.parameters.requiredApprovePercent = 20; 
workflow.parameters["bpm:workflowDescription"] = "Please review and approve: " + document.name; 
workflow.parameters["bpm:groupAssignee"] = groupAssignee; 
var futureDate = new Date(); 
futureDate.setDate(futureDate.getDate() + 7); 
workflow.parameters["bpm:workflowDueDate"] = futureDate; 
workflow.execute(document); 
+0

感謝您的幫助。我已經在「data dictionnary/scripts」中添加了這個腳本,並將其與內容規則一起使用。經理們沒有任何關於他們的舞臺上的通知,我沒有任何錯誤。我可以使用哪些工具來測試此腳本?或調試它? – Lilawood14

+0

使用Florian's Alfesco JS控制檯:https://github.com/share-extras/js-console 如果此腳本是在規則外執行的,則必須自己定義文檔變量,例如, var document = utils.getNodeFromString(yourNodeRefString); – alfrescian

相關問題