1. Create a Task List page--Query the list of tasks owned by the user based on nickname as assignee
2. Add the handle button after the task
3. Click the handle button, the process box appears, which shows detailed information about the task, the details of the customer in this example
4. Create a specific Task table page for each business object, pass in the business object type ClassType, its ID (objId), and the task ID, and the Formkey
5. In the process box, by sending the Formkey to the controller, the controller forwards to the resource in Web-inf represented by Formkey (the Task table page)
6. At this point, the Task table page is displayed in the Process check box, and the relevant business information (information for customer in this process) needs to be loaded.
7. When you send a request with ClassType and ObjID parameters to the customer's controller and get the details of the encapsulated customer and echo back to the task table, notice that in the Task table you add a hidden field that encapsulates the task ID, which is TaskID, Used to pass to the Controller for task completion. This taskId property is passed by using Data.taskid=taskid in the returned data (the second taskId is passed in with parameters such as ClassType before clicking the handle button)
8. Click the handle button to send a request to the process controller to complete the task. (Background to receive taskid in hidden fields)
"Activiti" CRM and Workflow integration, a complete process instance creation to the task completion process