Track processes and task statistics

Hello everyone, 

I would like to be able to track processes and task statistics.

I thought about 2 Business Data Model Objects :

 

PROCESSES :
instanceID (long)
name (String 70)
beginningDate (date time no timezone)
endDate (date time not timezone)
task (multiple, composition)

TASK : 
instanceID (long)
name (String 70)
beginningDate (date time no timezone)
endDate (date time not timezone)
actor (String 30, example of value walter.bates)

 

Could you tell me if this BDM seems correct ?
By the way, what could be other interesting elements to track ?

 

Now we have to complete this model.

Processes is a business variable, and its init script is :

import java.time.LocalDateTime;

def processusVar = new fr.universitedesantilles.model.Processus()
processusVar.instanceID = processInstanceId
processusVar.name = "nom processus"
processusVar.beginningDate = LocalDateTime.now()
processusVar.endDate = null
processusVar.task = []
return processusVar

 

However, I don't know how to proceed concerning tasks...
A new task instance should be created when a task begins, with the name of the task, beginningDate.
endDate is set when the task is finishing.

I don't know how to proceed. 

 

Maybe there is a simpler method to track statistics during a process execution.

 

Thank you for your help and advice !

Hi,

I would not create a BDM for this as TaskInstance and ProcessInstance objects already exists in Bonita.
You can have a look to the bpm API.

By example, a TaskInstance already have the following attributes:

{ "id": "the task id (long)", "type": "the task type (string): USER_TASK", "name": "the task technical name (string)", "displayName": "the human readable task name (string)", "description": "the task description (string)", "displayDescription": "the human readable task description (string)", "state": "the current state of the task (string, possible values: ready, completed, failed)", "reached_state_date": "the date ('yyyy-MM-dd HH:mm:ss.SSS') when this task reached the current state, for example '2014-10-17 16:05:42.626'", "last_update_date": "the date ('yyyy-MM-dd HH:mm:ss.SSS') when this task was last updated, for example '2014-10-17 16:05:42.626)", "dueDate": "the date ('yyyy-MM-dd HH:mm:ss.SSS') when this task is due, for example '2014-10-17 16:05:42.626'", "priority": "the priority (string) of the current task",

“processId”: “the process definition id (long) of the case which define this task”,
“parentCaseId”: “the immediate containing case id (long, a.k.a process instance id)”,
“rootCaseId”: “the top/root case id (long, a.k.a process instance id). In the case of an event sub process, parentCaseId will the id of the case called while rootCaseId will be the one from the caller case”,
“rootContainerId”: “same as rootCaseId”,

“executedBy”: “the id (long) of the user who performed this task. The task has to be a human task otherwise its value will be 0”,
“executedBySubstitute”: “the id (long) of the user who did actually performed the task in the case of has been done in the name of someone else. Value is 0 otherwise”,
“actorId”: “the id (long) of the actor that can execute this task, null otherwise”,
“assigned_id”: “the user id (long) that this task is assigned to, or 0 if it is unassigned”,
“assigned_date”: “the date (‘yyyy-MM-dd HH:mm:ss.SSS’) when the current task was assigned, for example ‘2014-10-17 16:05:42.626’”
}

Same goes for ArchivedTaskInstance, ProcessInstance and ArchivedProcessInstance.

You can also use the apiAccessor in process groovy scripts or rest api extensions to retrieve those.

HTH
Romain

It's important for your business to track the processes and task statistics of your work. Must you check this https://catchcheatingspouse.net/ and get learn more steps about partner cheating. You need to know how well your processes are working if you want to grow your company. But it's not enough just to know how much money you actually made or spent on a certain project. To be able to build a successful business you need to be able to measure how many platforms, users, and salespeople were involved in every part of the process.