Skip to main content

Main mechanisms

CMDBuild provides several configuration mechanisms that allow administrators to design, extend and adapt the application to the specific needs of the organization. These mechanisms operate at different levels — data model, processes, reports, dashboards, interoperability, plugins and user interface behaviours — and are based on a metadata‑driven approach that keeps the core code separated from the application logic.

The following sections describe the main configuration features available in CMDBuild and how they contribute to building a flexible, maintainable and extensible solution.

Configurability of the data model

CMDBuild provides a sophisticated mechanism that allows users to configure or edit the data model of their application instance.

You can define additional attributes and even create a complete custom database from scratch by configuring:

  • classes, i.e. database tables
  • class attributes, i.e. table columns (of any type, including lists with closed values — single or multiple — foreign keys, files, formulas) and related layout (rows and columns)

Additional elements include:

  • domains, i.e. relation types, with optional specific attributes
  • lookup lists with closed values that can be associated with class attributes
  • inheritance, i.e. the possibility to specialize a class into subclasses (with multiple levels), adding specific attributes and domains while inheriting those of the superclass
  • views configured through the user interface, based on filters or SQL queries
  • user interface behaviours specific to each class: data validation, automation on data update, contextual menus, online help and more

Entities configured through the Administration Module can be provided to users through custom menus, according to role.

The complete configurability of the data model allows you to:

  • adopt a gradual approach when building the CMDB, developing its structure step by step and reducing the risks of complex projects
  • manage autonomously new item types without requiring expensive software changes
  • select a detail level proportional to organizational, human, financial and technological resources, without overloading the initial model

Editor and workflow engine

A key added value of CMDBuild is the possibility to define processes for managing operational activities while ensuring:

  • correct and consistent updating of the CMDB, with which the workflow system is fully integrated
  • a standard interface for users
  • complete tracking of activities, supporting control activities and the extraction of periodic statistics (SLA monitoring)

As with the data model, the workflow definition system is fully configurable in terms of information, management and automation.

CMDBuild does not provide predefined static processes, but a generic configuration system that can be adapted to the needs of each organization.

Each workflow is described in terms of:

  • persistent data structures (specific classes and related attributes and domains)
  • roles authorized to perform each interactive step
  • sequence of activities (interactive steps and automation), with conditional flows
  • information and widgets to be displayed or filled in each step
  • tasks executed when advancing the flow (start sub‑processes, update CMDB data, send emails, generate reports, interact with external applications, etc.)

Workflows are designed using the external visual editor Together Workflow Editor, then imported into CMDBuild as standard XPDL files and executed by the Together Workflow Server engine.

These mechanisms allow configuration of all ITIL processes in the IT environment (Incident Management, Change Management, Request Fulfillment, Service Catalog, etc.) and all maintenance processes in the Facility Management environment.

Editor and report engine

Efficient management requires reports that allow consulting and controlling the data stored in the system.
Simple table reports can be created directly through the CMDBuild interface by printing class or view content in PDF or CSV.
For more advanced reports you can use the external visual editor Jaspersoft Studio. It allows intuitive management of layout, formatting, grouping, sorting, totals, subreports, images, charts and more.

As with workflows, the visual editor generates an XML descriptor that is imported into CMDBuild and associated with the corresponding report.

The internal engine interprets the XML file and executes the report, enabling the creation of tables, lists, letters and documents, statistics with charts, labels with barcodes or QR codes and more.

This approach ensures full separation between core code and metadata, allowing users to extend and customize the reporting system.

With proper training, system administrators can acquire the necessary skills to implement custom reports and quickly address new business needs.

Dashboard configuration

It is important for company management to monitor the trend of key performance indicators (KPI), obtained by analysing data and processes stored in the CMDB.

CMDBuild allows the definition of dashboard pages, each dedicated to a specific area and containing one or more charts.

Dashboard configuration can be fully managed from the Administration Module, consistent with the way other configurable components of CMDBuild are defined. Each dashboard is structured as a page that may include several elements combined according to the needs of the organization. Charts, data grids and text blocks can be added and arranged to provide an immediate and aggregated view of key indicators derived from classes, views and processes. This approach allows the creation of flexible dashboards tailored to different analytical or operational areas, while remaining fully aligned with the metadata‑driven model that characterizes the entire platform.

As with reporting, dashboard configuration can be carried out by internal technicians once they are familiar with CMDBuild’s basic structure.

The CMDBuild Service Bus waterWAY for interoperability

CMDBuild is a web enterprise system based on a Service Oriented Architecture (SOA) and designed to support interoperability.

In advanced implementations, this architecture is supported by a Service Bus (ESB), a middleware infrastructure enabling interoperability among applications and systems through standard services for coordination, security, messaging, routing and transformations.

waterWAY, the CMDBuild Service Bus includes:

  • management of data flows and messages (receipt, routing, processing, sending)
  • distributed load management for some batch processes
  • input/output modules coordinating data sending, receiving and synchronization processes
  • error and notification management
  • webhook features to subscribe to events occurring in the CMDB
  • support for the chat service enabling communication among CMDBuild users

Extending the application with plugins

Alongside interoperability mechanisms, CMDBuild provides a Plugin Manager that further extends the platform’s ability to integrate and customize external and internal functionalities.

Through a centralized and intuitive interface, administrators can manage plugins used to extend functionalities, integrate external systems and adapt the application environment without requiring complex interventions.

Plugins are handled directly from the Administration Module, simplifying installation, update and configuration operations and ensuring consistent control over the system.

Available plugins fall into three main categories:

  • extensions of internal functionalities Used to enhance or expand services already provided by the platform.

  • connectors to external systems Useful to integrate CMDBuild with third‑party applications such as discovery tools, monitoring systems and similar solutions.

  • generic plugins Such as Data Model Synchronization, used to compare and manage differences between data models.

The Plugin Manager consolidates these mechanisms in a single interface, supporting the evolution and customization of CMDBuild in a controlled and modular way.

Configuration of GUIs and custom business logics

In addition to integration and extension mechanisms, CMDBuild also provides tools to customize user interface behaviours and business logic.

Together with data model design, you can configure behaviours applied when editing forms: validation criteria, dynamic hiding or locking of attributes, and enhancement of one attribute based on others.

Thanks to the features of the Sencha ExtJS framework, you can develop custom JavaScript pages accessible from the application menu and subject to standard security mechanisms.

It is possible to develop custom JavaScript widgets, available as pop‑ups during card and process updates.

Contextual menus can be configured from the Administration Module. These speed up execution of context‑specific commands, are available during data visualization and navigation, have their own user interface created like custom pages and are implemented using JavaScript.

Finally, triggers can be configured from the Administration Module. They are executed when specific events occur (view, pre‑load, post‑confirmation, etc.) and are written in JavaScript.