Tôi muốn có thể chuyển danh sách người dùng làm ứng viên cho một tác vụ. Người dùng được truy xuất từ danh sách dữ liệu và không có sẵn dưới dạng nhóm. Activiti: ứng cử viênNgười dùng dường như là phương pháp phù hợp.Làm cách nào để chuyển danh sách người dùng ứng cử viên đến một tác vụ quy trình làm việc hoạt động trong alfresco?
Giả sử rằng người dùng đã được lấy và đặt trong biến, ipw_reviwers.
<serviceTask id="alfrescoScripttask1" name="Alfresco Script Task" activiti:class="org.alfresco.repo.workflow.activiti.script.AlfrescoScriptDelegate">
<extensionElements>
<activiti:field name="script">
<activiti:string>logger.log("IPW - setup task");
execution.setVariable('ipw_reviwers', "tom, dick, harry");</activiti:string>
</activiti:field>
</extensionElements>
</serviceTask>
Sau đây để sử dụng ipw_reviewers biến
<userTask id="adhocTask" name="Adhoc Task" activiti:candidateUsers="${ipw_reviewers}" activiti:formKey="wf:activitiReviewTask">
<extensionElements>
<activiti:taskListener event="create" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener">
<activiti:field name="script">
<activiti:string>logger.log("IPW - create task");
if (typeof bpm_workflowDueDate != 'undefined') task.setVariableLocal('bpm_dueDate', bpm_workflowDueDate);
if (typeof bpm_workflowPriority != 'undefined') task.priority = bpm_workflowPriority;</activiti:string>
</activiti:field>
</activiti:taskListener>
</extensionElements>
</userTask>
Không ai có thể nhìn thấy hoặc yêu cầu nhiệm vụ. Nếu chỉ có một người dùng trong danh sách, người dùng đó có thể xác nhận tác vụ.
Nếu activiti: candidateUsers được khai báo là
activiti:candidateUsers="tom, dick, harry"
sau đó cả ba người dùng có thể tuyên bố nhiệm vụ.
Danh sách người dùng có thể được chuyển đến activiti: ứng cử viênNgười dùng trong biến hoặc phương pháp khác nên được sử dụng không?
là câu trả lời của tôi làm việc cho bạn? –
Tương tự như câu trả lời mới nhất từ user68910801, bạn cũng có thể tạo danh sách bằng JavaScript dựa trên Rhino (được sử dụng trong Alfresco). Nó chỉ là một chút khó chịu hơn để xử lý vì a) bạn không có thao tác 'Java.type()' (thay vào đó bạn sử dụng 'Packages.java.util.ArrayList'), b) kiểu String JavaScript trong Rhino không ánh xạ tới chuỗi Java và c) danh sách được xử lý ngầm như đối tượng giống mảng và một số phương thức của nó (như thêm) có thể bị ẩn –