Workflow
The management of workflows is a key feature of CMDBuild, supporting collaborative activities among operators. Both cards and processes can be fully configured by the Administrator to reflect specific organizational procedures.
Within a generic asset management instance, processes supporting the asset lifecycle can be defined. In an IT environment, processes based on ITIL Best Practices (e.g., Incident Management, Change Management, Request Fulfillment) can be configured. In a Facility Management environment, processes for breakdowns and scheduled maintenance can be defined.
Similar to standard cards, the workflow management interface allows users to display cards, consult and edit detailed information, view relations, history, emails, and attachments. For each process type, users can view open or closed instances, start a new process, advance a process to the next step, and assign it to another operator group if required, until it is completed according to the predefined flow.
List of processes
Current workflow instance data is initially presented in a table.

The available operations are similar to those described for cards (paragraph 6.1), with specific elements for workflows.
The Card TAB allows starting a new process or advancing a started process. These actions can be performed only by operators belonging to a group authorized for that activity. For example, in an Incident Management process flow, both the Helpdesk group and a specialists group can classify a ticket.

Guide to compilation
The available operations are the same as described for cards (paragraph 6.2).
The following example shows how to complete an Incident process card related to the classification step.

Locking an advancing process
If the CMDBuild instance has the active lock function enabled, when a user attempts to advance a process, the system reserves the card of that instance for the user for the period defined in the configuration.
If another user attempts to edit the same process instance within that period, an error message appears. The process instance is automatically released when the first user exits the editing mode via Save, Perform, or Cancel.
Widget
Widgets, configured using the TWE editor (Together Workflow Editor), provide context-specific functions for process instances. The following standard widgets are available:
- Calendar: displays specified deadlines on a visual calendar
- Create / Modify Card: allows editing a data card from another class
- Create Report: prints a report designed in JasperStudio
- Custom Form: allows completing a form for a single card or a grid of cards
- Link Card: selects one or more data cards from a filtered list
- Manage Email: handles email exchanges during the process
- Open Attachment: consults and uploads process attachments
- Open Note: consults or edits notes related to the current process
- Preset from Card: automatically enhances fields using a selected card
- Start Workflow: starts a workflow from the current card using a popup
Custom widgets can also be implemented in ExtJS (Javascript) and made available for process management.
Calendar
Displays dates relevant to asset management (e.g., preventive maintenance, administrative deadlines). Configuration requires specifying the source class, optional filter, approximate display date, and field for the activity title. Calendar views: day, week, or month.

Create / Modify Card
Allows reading or editing a card from another class. Configuration requires specifying the class and identification code, optionally using a CQL expression based on the current card.

Create Report
Prints a report from those imported into CMDBuild. Configuration requires the report name, output type (PDF or CSV), and any parameters requested during printing.

Custom Form
Requests operator input for a single card or grid of cards. Example: recording a list of assets from a delivery note, with options to add, edit, or delete rows. Supports CSV import/export. Data is then processed by workflow scripts.
Link Card
Selects one or more cards from a pre-filled, filtered list. Example: in IT Management, selecting assets related to a ticket. Selection is returned to workflow scripts, often to create relations in the CMDB.

Manage Email
Manages email exchanges with process participants (applicant, specialists, technicians). Consult received/sent emails and compose new ones. See paragraph 6.7 for general use of the Email TAB.

Open Attachment
Displays process attachments (screenshots, manuals, technical documents) and allows uploading new files. See par paragraph 6.8 for general use of the Attachments TAB.

Open Note
Consults and edits notes linked to the process. See paragraph 6.4 for general use of the Notes TAB.
Preset from Card
Automatically enhances fields in the current process using a specified card.
Start Workflow
Starts a workflow from the current card (e.g., initiating a maintenance process from an asset card). Configuration requires specifying the workflow type and parameters.
Notes TAB
Displays notes linked to a process. During the process, notes can be inserted/edited only via the Open Note widget (paragraph 9.2.3). The Notes TAB is read-only.

Relations TAB
Displays relations linked to a process. Relations can only be inserted/edited via widgets such as Link Card and Custom Form (paragraph 9.2.3). The Relations TAB is read-only.

History TAB
Displays the history of operations on a process instance, from initiation to completion, including all attribute values across steps. Data can be used to generate SLA compliance reports. Attributes edited in previous steps are highlighted in blue.

Emails TAB
Displays emails sent and received during the process. Emails can only be managed via the Manage Email widget (paragraph 9.2.3) or received through the Task Manager. The Emails TAB is read-only.

Attachments TAB
Displays attachments during process advancement. Attachments can only be managed via the Open Attachment widget (paragraph 9.2.3). The Attachments TAB is read-only.

Interaction with External Tools
CMDBuild workflows can integrate with external tools:
- Start or advance a process instance from external applications using CMDBuild REST webservices
- Start a process instance by receiving an email from the Task Manager (configurable in the Administration Module)
In CMDBuild READY2USE (IT Management vertical application):
- Self Service Portal: allows end users to open Incident Management and Request Fulfillment processes
- Connector with Zabbix: starts new Incident Management processes when a breakdown occurs
In openMAINT (Facility Management vertical application):
- Self Service Portal: allows end users to open maintenance processes in case of breakdown
Sample user interfaces for the Self Service Portals:
