Before your business data can be processed by the Imixs Workflow engine, you need to define a business process model (workflow model).
The model describes the process flow as a state machine. The model consists of a set of process entities and activity entities. A process entity defines the state of a process instance controlled by the workflow engine. The activity entity defines the event or condition to change a process instance from one state to another. This is also called the transition.
The process activity can be triggered either by an actor or an event. When the workflow engine executes a workitem, different actions defined by an activity can be triggered.
The Imixs Workflow provides an eclipse based graphical editor to manage workflow models. You can create a model from the eclipse IDE and synchronize your model with the Imixs Workflow engine. Read the modelling section for more details about how to create a workflow model with the Imixs Modeler.
Each entity stored in a workflow model has a unique ID. The process-id and the activity-id. Before a workitem can be processed by the workflow engine a workitem need to be bound to a process entity and assigned to a valid activity entity form the model. This can be done by setting the items '$ProcessID' and '$ActivityID':
..... workitem.replaceItemValue("$processID",20); workitem.replaceItemValue("$activityID",20);
In this moment the workitem is called a 'process instance' as it is an instance of the process entity with the id=20.
After the workflow engine has processed the wokitem the next process entity will be automatically assigned to the workitem. In this example the workitem which is assigned to the process-id=20 and the activity-id=20 will be assigned to the process-id=30 when the process-step is completed.