While saving a UserTask in the Task table where do we store the current status of the Task. we have the following possible outcomes {Assigned, Completed, Suspended (can be resumed later), Withdrawn, Expired, Errored (while processing), Alerted, Information Requested}
I don't see a status column in the Task table. I can see the history table from where I can fetch all (completed + Assigned) Tasks while Task table will have all Assigned tasks.
My questions are :-
Q1) Do I have to do a union or subtraction between these 2 tables to identify my Tasks status, or I use the "deleteReason" column of Historic task to identify the status.
Q2) Also does a finished task also includes the ones which are Suspended or Expired or Deleted.
Q3) Does Activiti supports all the status which I have listed above ? I know they wont be directly supported, but in case by adding extra predicates or where clause can I extract tasks with those status ??
Q4) Is it acceptable to save TaskId and TaskStatus in our business data table so that in future we can correlate Tasks in Activiti tables (Task table + History table) with actual business data which was approved/rejected etc.. That way we can have user defined status for Tasks but drawback we see it that we will need to join this tables every time we browse through tasks in our Tasklist ??