Actually Process Monitor has been developed to monitor the overall tasks in each process as described in 6.4.7.1 and 6.4.7.2. However if the user wants to implement custom Monitoring Dashboard by using the various programming languages or the ONEWEB Dashboard utility, he must know the important table relationships between "BPM" schema and "PD" schema in order to retrieve the tasks that are executing.


"BPM" schema is used to store the process runtime configuration. There are 3 important tables which as shown in below figure.



  • "wf_t1_definition" table is used to keep the process deployment structure. There are 3 important columns:
    • "id_" is the primary key.
    • "bytes" is used to store the xml structural of process deployment.
    • "process_key" is the prorcess name which can be a relation with "project_process_name" of "project_process" table on "PD" schema.


  • "wf_t2_task" is used to store all activity human tasks that occur in the process. There are 7 important columns:
    • "id_" is the primary key of this table.
    • "activity_id" is the id of node task which can be a relation with "id" of "node_task_property" table on "PD" schema.
    • "assign_status" is a status of task. There are 3 types - ASSIGNED, WAITING, CLAIM.
    • "claim_user" is a column to store the user that has claimed the task.
    • "distributor_type" is the type of task assignment method used. There are 5 type - "Pull", "Round Robin", "Load Balance", "Routing Policy" and "Custom".
    • "instance_id" is the unique id of executed process runtime; whenever the process is executed by process runtime, the instance id is generated automatically.
    • "work_party_name" is the work-party name that is assigned on the task.


  • "wf_t3_activity" is a log table that is used to store all the activities of node tasks that are executed by each "instance_id" of the process. The main columns are:
    • "id_" is a primary key of table,
    • "instance_id" is the unique id of executed process runtime.
    • "activity_id" is the id of node task which can be used to a relation with "node_property_id" column of "node_property" table on "PD" schema.
    • "activity_name" is a name of node task.
    • "activity_type" is a type of node task.
    • "start_time" is the time of node task is start.
    • "end_time" is the time of node task is end.
    • "duration" is duration time of node task is executed.


"PD" is used to store the design of process. There are 3 important tables:



  • "project_process" is the table used to store the process data. There are 2 important columns:
    • "project_process_id" is the primary key of table.
    • "project_process_name" is the name of process. This column can be used to a relation with "process_key" column on "wf_t1_definition" table.


  • "process_template" is a table that is used to store the JSON process diagram. There are 3 important columns:
    • "pd_process_template_id" is a primary key of table.
    • "project_process_id" is a foreign key of "project_process" table.
    • "pd_pro_tp_json" is a column that is used to keep json diagram.


  • "node_property" is the table used to store the details of node tasks in the process diagram. There are 5 important columns:
    • "node_property_id" is a primary key of table.
    • "pd_process_template_id" is a foreign key of process_template table.
    • "node_property_name" is a name of node task.
    • "node_property_key" is a key of node task.
    • "node_category" is a type of node task