Imixs Workflow ...the open source workflow technology for business applications

Engine

Version Plugin

This plugin handles the creation and management of versions inside the Imixs JEE Workflow. A versioning process is defined by the workflow model. The plugin can generate new versions (e.g. creating a version of a master version) and also converting a existing version into a master version.

Note:
The Version Plugin depends on the org.imixs.workflow.jee.ejb.WorkflowManager. So the Plugin can not be used in other implementations.

The creation and management of a version is defined by the workflow model (See the Imixs Modeler).

All versions of the same workitem can be identified by the property $workitemid. This property is for all versions equals. A version of a workitem holds additional a reference to the sourcworktiem the workitem descends from. This property is named "$workitemIDRef" and holds the "$UniqueID" from the sourceworkitem.

There are currently two different modes supported in which this plugin can run

Create a new Version from a workitem

In this mode the plugin creates a new version of the current workitem. The two workitems are identically except the attributes $unqiueID and $workitemidRef. The attribute $workitemidRef points to the $uniqueid form the source workitem. So the availability of this property indicates that the workitem is a new version of a source workitem. The source workitem has typically no $workitemidRef attribute - except if the source worktitem itself is a version from another worktiem. The Source Workitem is also named Master Version.

After the new version is created the plugin processes the version with the activity provided by the model (numVersionActivityID) if provided by the model.

Convert an existing version back into a master version

In this mode the plugin converts an existing version of a workitem into a Master Version. This means that the $workitemIDRef will be nulled. An existing Master Version will be processed by the activity provided by the model (numVersionActivityID). Also the $workitemidRef will be set to the current $workitemID.