<userTask id="writeReportTask" name="Write monthly financial report" >
<documentation>
Write monthly financial report for publication to shareholders.
</documentation>
<potentialOwner>
<resourceAssignmentExpression>
<formalExpression>accountancy</formalExpression>什么意思?用户组?
</resourceAssignmentExpression>
</potentialOwner>
</userTask>
Task lists
问:??这里用用户kermit去查找他所有的任务,但在xml文件中只定义了一个会计(accountancy),但最后却用会计组也能得到和kermit相同的任务,为什么?这里也没有定义kermit在accountancy组中,如果要定义又在何处定义,具体怎么写呢?
We can now retrieve this task through the TaskService
by adding the following logic:
List<Task> tasks = taskService.createTaskQuery().taskCandidateUser("kermit").list();
Note that the user we pass to this operation needs to be a member of the accountancy group, since that was declared in the process definition:
<potentialOwner>
<resourceAssignmentExpression>
<formalExpression>accountancy</formalExpression>
</resourceAssignmentExpression>
</potentialOwner>
We could also use the task query API to get the same results using the name of the group. We can now add the following logic to our code:
TaskService taskService = processEngine.getTaskService();
List<Task> tasks = taskService.createTaskQuery().taskCandidateGroup("accountancy").list();
Since we've configured our ProcessEngine
to use the same database as the demo setup is using, we can now log intoActiviti Explorer. By default, no user is in the accountancy group. Login with kermit/kermit, click Groups and then "Create group". Then click Users and add the group to fozzie. Now login with fozzie/fozzie, and we will find that we can start our business process after selecting the Processes page and and clicking on the 'Start Process' link in the 'Actions' column corresponding to the 'Monthly financial report' process.(这里的创建组,怎么在XML中体现……)