CMDBuild has a simple but powerful feature that allows each user to configure and change the data model of their application instance. It is not simply to possibility to define some fields, like other products allow you to do, CMDBuild can also create from scratch a fully customized database in terms of:
- "classes", ie database tables
- "attributes" of the classes, such columns of tables (of all possible types)
- "domain", which are the types of relationships, even with any additional specific attribute
- "lookups", which are the lists of values associated with a specific classes attribute
- "inheritance", which is the possibility of "specializing" a class by adding specific "attributes" and "domains" and sharing the "attributes" and "domains" of the superclass (also multi-level)
- "views" based on filters or SQL queries
- gradually adopt the CMDB, developing the data structure step-by-step and therefore reducing the risks involved in starting a project which is too complex
- autonomously solve the need to manage new types of objects, without expensive software changes
- select the right level of detail to start with, which must be adapted to the needs of the organization and the human, financial, information and technology resources available in order to avoid a “too heavy to handle” initial scheme
In this way all types of entities needed in a IT Governance can be configured (Configuration Items, Suppliers and Orders, Locations, staff and offices, etc.) or other specific entities in require in your organization
|Administrator manual, class management, domains management, lookup|
One of the most important value of CMDBuild is the possibility to easily configure the workflows through which you can manage in a collaborative way all the activities you need to perform to manage your IT infrastructure. Thanks to this, you can be sure that you will have:
- the correct updating of the CMDB that is fully integrated with the workflows systems
- a step-by-step process for all users which will be subject to standard procedures
- a repository of data on ended activities, which can provide useful statistics and verification of the SLAs contracted with customers
Data persistence is managed through special classes that are configured in the same way as described in the Database modeling.
The process flow is designed with a specific open source editor Together Workflow Editor (TWE) and includes:
- user roles allowed to perform the steps of the workflow
- sequence of the operations, with the affected flows
- information and widgets that the user can see at every step of the flow thanks to a specific data entry form that is automatically generated by the system
- automatic activities that run between one step and the following (launch dependent processes, DB update, email sending, etc.)
The flow is designed using an XML descriptor, which is imported in CMDBuild and associated to the process that is already configured for persistence aspects.
The internal engine Together Workflow Server (TWS) will then read the XML file and dynamically start/advance the process.
With these basic mechanisms all processes can be configured in a "ITIL compliant" way that use ITIL best practices or other operational processes useful for any organization.
|Administrator Manual: Workflow management|
For a more effective operational management it is often useful to have several kind of reports that clearly show the data contained in the system: summary, analitical, statistical reports with different types of graphs.
Simple tabular reports can be automatically produced by printing the content of classe or views.
For the design of more complex reports you can use the Visual editor Ireport which is part of the JasperReports open source suite. This tool enables you to manage in an easy and intuitive way the formatting, grouping, sorting, summing, subreports, pictures graphs, etc. of the reports you want to have.
Just like the workflow management also for the reports you have a Visual editor that creates an XMLdescriptor which is imported in CMDBuild and associated with the corresponding report.
The JasperReport engine will then dynamically read the XML file and run the report.
- lists and tabs
- documents and letters
- statistical information shown in different graph styles
- barcode/qr code
Also, thanks the Versioning of the data sheets in CMDBuild you can create a report to show any information at a certain moment in time.
|Administrator Manual: Report|
It’s important for the IT Manager and for his collaborators to have the possibility to consult quickly the main Indicators’ trend (KPI or Key Performance Indicator) processed by the system, analyzing the information in CMDB (data tabs and process).
For this aim it’s possible to define pages like “dashboard” and each of them controls different issues (Asset configuration, service desk performance, costs breakdown, etc.) and has one or more graphics inside that represent different interest rates.
To configure a dashboard you have to:
- Create the new dashboard page from the Administration Module
- Enter in the page one or more graphics through:
- data source definition in the form of database function
- defining the characteristics of the graph using a special wizard in the Administration module
- define the best layout by moving ("drag and drop") each chart in the desired position within the dashboard
|Administrator Manual: Dashboard|
Interoperability and connectors
The IT service management in organizations and medium to large businesses is necessarily performed with several systems that must be able to cooperate and communicate in the management of the activities and the assets.
CMDBuild is extremely useful to automatically receive and incorporate any information from the main management tool ("master") or to automatically verify the matching between the information recorded in the CMDB with those detected “on the field” and notify any discrepancies in the data.
CMDBuild can be also useful to receive from the monitoring system automatic notifications of assets failures
CMDBuild architecture provides interoperability solutions based on:
- Native SOAP webservice
- native REST webservice
- webservice SOAP CMDBf standard compliant (contribution of the University of Bologna-Italy)
Thanks to the SOAP and REST webservices, CMDBuild provides:
- a connector ("Basic Connector"), configurable through the XSLT transformation language which can communicate with an external system via direct access to its database
- an advanced connector ("Advanced Connector", available for those who subscribe to the Annual subscription). The advanced connector is based on a configurable framework through the Groovy scripting language which is able to communicate with external systems using webservice or through a direct access to the DB or CSV files or receiving e-mails.
- a simplified connector ("Wizard" Connector "), configurable from the user interface of the admin module of CMDBuild when the synchronization needs are less complex (we create a direct mapping between the entities that we want to update)
CMDBuild, thanks to the SOAP and REST web services, can implement some internal interoperability mechanisms such as the "mobile app" for smartphones and tablets and the GUI Framework.
Each CMDBuild user can then use the same webservices to implement customized interoperability solutions.
GIS and BIM
In the IT management operations it is often useful to know and keep updated the precise location of every item (GeoReference).
CMDBuild includes three possible solutions in order to do so, which can also be used together:
- GeoReference of objects on territorial map (e.g. buildings or data lines or assets placed externally to buildings such as cabinets, traffic lights, traffic cameras, etc)
- GeoReference of objects on floor plans of buildings (e.g. IT assets or furniture, fire extinguishers, etc.)
- GeoReference objects within 3D models
In all three cases the position of items display, query and editing are available directly from the web browser, without the need for any plug-ins.
In the first case, you can use several map services (OpenStreetMap, Google maps, etc).
In the second case you can load the plans as "background files", while the position of the item is stored in the same database PostgreSQL, using the PostGIS spatial extension.
In the third case, CMDBuild supports the BIM paradigm (Building Information Modeling), which is a conceptual solution that aims to manage the process of architectural design, from the initial idea to the construction phase of the building, its use and maintenance, until demolition at the end of its life cycle.
CMDBuild can automatically synchronize in a bidirectional way the information handled in a 3D architectural design software, with its own database using open standard IFC (Industry Foundation Classes).
CMDBuild comes with an interactive 3D Model Viewer, integrated in the standard user interface, through which you can view the interiors of buildings and the related assets.
BIM capabilities have been implemented with the collaboration of the Department of Mathematics and Computer Science of the University of Udine - Italy.
|Administrator Manual: GIS, BIM|
CMDBuild standard user interface is addressed to the technical operators who use it regularly.
However, it’s often necessary to make some CMDBuild features usable for non-IT users who want to work in intranet portals or, in wider terms, on pre-existing or developed ad hoc external web pages. An external portal, earlier connected to CMDBuild, allows for example to start and follow a fault reporting procedure, to look up some FAQ, to approve requests from other users, to consult one’s own assets, etc.
It can also be useful to implement in CMDBuild some pages with an user interface which is more complex than the one automatically produced by CMDBuild according the data model.
CMDBuild GUI Framework is the problem’s solution for these requirements.
More specifically, GUI Framework offers the following characteristics:
- It’s available as “custom” page’s type inside CMDBuild Menu to implement sophisticated functional interfaces useful to solve some critical recurring necessities.
- It allows to have an almost restricted freedom in the graphical layout design which is editable through an XML descriptor and it’s possible to work on CSS style sheet.
- It ensures reduced configuration time thanks to specific features for the interaction with CMDBuild and to native graphic solutions (form, grid, upload and other widget buttons)
- It communicates with CMDBuild core through the REST webservice
Many of the operations performed in the Asset Life-Cycle Management take place “on field”
(delivery/computer and peripherals withdrawal, malfunctioning solving, inventory, etc.) and recording them straight during their development it’s particularly useful to avoid delays and mistakes.
For this aim, we have created a CMDBuild “Mobile” Interface for smartphone and tablet.
CMDBuild “Mobile” also includes the additional functionalities typical of the desktop interface:
- possibility to take photographs and store them in CMDB as attached files
- possibility to read barcodes and QR codes and access automatically to the correspondent data tab viewing.
CMDBuild “Mobile” can be used with Android devices (version 4.0.3 or higher) and iOS (version 6 or higher).
To access to the app you need to subscribe to the maintenance service.
According to ITIL, an essential requirement for a CMDB (Configuration Management Database) is to allow tracing of all Configuration Item (CI) and the correlations between them.
Correlations between CIs are just as important as the descriptive information of the CIs since they inform you about the dependencies of each entities with others. Consider the following as an example:
- Who is the seller of a CIs and what kind of warranty is provided
- Which CIs form a workplace
- Who is the owner of a CI and who is the technical contact
- Which servers provide what services
- Which user uses what service and with which SLA
The database modeling mechanism which is available in CMDBuild let you create all kind of domains" (relation types) that you consider useful both for cardinality 1: N (in this case related to "reference" attributes, which correspond to the "foreign key"), and for cardinality N:M.
It is also possible to configure a specific relational attribute (for instance the role that an operator has when he’s responsible for a CI, the color of a cable that connects two ports, and so on..).
The Data Management Module interface includes a special TAB for each page, which allows you to:
- display predefined relationships
- create new relationships (those associated with "reference" type attributes are implicitly created)
- change a relationship (depending on the cardinality of the "domain")
- delete a relationship
- display the connected sheet
- browse the linked sheet, similar as following a link
|Administrator Manual: Manage Domains|
|User Manual: Cards - Relations TAB|
To ensure a full traceability of all operations performed over time, CMDBuild automatically saves all modified sheets and relationships.
The archive of historical sheets includes all attributes of the sheets (the interface will show in different colors the values that have changed),the start and end dates of validity and the username of the user who performed the change activity.
It is therefore possible to analyze changes made to a card or display (via a "view") or print (via a report) at any given day and time (inventory, list of the open tickets, etc).
The Data Management Module interface includes for each data card a special page (TAB), which lists all versions stored for that card.
Technically speaking, the mechanism is made possible thanks to the "object features” that are available from the PostgreSQL database.
CMDBuild adopts these features to create “historical” tables next to each "class" and "domain" using the SQL syntax "inherits". These tables are created from the main table and kept up to date with each change of the datasheet or a relationship.
|User Manual: Cards - History TAB|
The documents are important elements of information that can be related to any Configuration Item stored in the CMDB: manuals and technical documents, contracts, forms, error screenshots, technical drawings, images of objects and locations, videos, etc.
The Data Management Module interface of CMDBuild for each data sheet includes a special page (TAB) that lists all files attached to the card. It is possible therefore to display documents or to attach new ones.
CMDbuild uses as a repository in embedded mode the Alfresco document management system, which is the market leader in the open and closed source solutions.
The Documents Read and Write operations are perfomed in Alfresco by CMDBuild through the SOAP and FTP protocols.
|User Manual: Cards - Attachments TAB|
Emails are extremely important in the management of IT Services, as they are the main mechanism of CMDBuild communication between users and for event notification.
Emails can be generated from:
- workflow engine, manually through the use of interactive management widgets or automatically via API
- by the Scheduler, automatically following a received email on a specific account, as a warning of operations performed on the data, etc.
- a data sync connector, attached to the list of performed activities
- by an operator who is working in the Data Management Module, through the specific page (TAB) for the email management which is available in every tab.
The physical forwarding to the mail server is managed by a dedicated "daemon" by using a queue stored on the database, which allows to centrally check any sending error.
The mail management system allows you:
- to select in the Administration Module
- the involved mail accounts
- the ready-to-use templates (that are updated with the data added in the interface)
- have Data Management Module of the following features:
- writing an email from blank
- creating an email from a template of your choice
- automatic regeneration of the email according to the value of the fields shown in the template
- sending attachments stored in your system or already loaded in the Alfresco document system
- delay the sending (in hours, days, weeks, months)
|Administrator Manual: Manage Mail|
|User Manual: Cards - Mail TAB|
Barcode e QR code
IT service managers very often have the necessity to identify automatically the CI they are working on.
It can be a computer delivery / withdrawal operation, or the recording of an activity carried out on a computer after the opening of a ticket, or the recording of some inventory operations, or simply the identification of an object to be automatically placed by the system on its data tab.
To make the above-written automatisms available, CMDBuild lets you:
- print labels with barcode, simply using the standard Reporting system.
- print labels with QR code, using a workflow that requests codes and quantities and to produce the final report (looking forward to having available a new type of report which will be directly configurable from the Administration module).
- using the Mobile interface (smartphone and tablet) to read the labels and retrieve automatically the processing object code.
The Relationships Graph is a tool for viewing and analyzing the correlations between data cards.
The current version will be replaced by the one that is described below which currently under development will come out within the current year.
The relationships Graph has two main goals:
- analyze the correlations between data cards, with the help of Visual features available (scheduled for late this year)
- create complex mechanisms to perform functions of "impact assessment" on data (MTO, planned for the first half of next year)
An important element of Visual innovation is the decision of working in 3D mode, having in this way a spatial dimension in which working and ensuring optimal results in the display of graphs containing thousands of nodes and relationships.
Regarding the features available for the first goal, the tool will let you:
- act on the area occupied by the graph: pan, zoom, rotate, regeneration of the graph
- select a tab and navigate in 3D mode following its relations (all of them or manually filtered on specific domains or automatically filtered by applying a default template)
- select a subset of business classes and operate on the restricted graph
- explore clusters of objects which will appear as a single element
- apply algorithms (distances calculation, shortest distances, etc)
- always have complete data available of datasheets and scanned reports
Concerning the second objective, which will only be available to those who have subscribed to the maintenance service, the instrument will apply semantic functionalities to the shown entities and will perform "what if" analysis (data impact analysis), which are useful to manage complex operations with a high impact on users.
The user interface of the relationships Graph will consist of a "custom" page inside CMDBuild, based on the GUI Framework.
From a technical point of view the 3D, and the consequent attention to performance issues, led to the choice of standard library Three.js which is widely used. This library relies on the power of OpenGL. We then decided to integrate in a unique environment, Cytoscape.js library, which is rich of graph analysis algorithms and has been used for years especially in the field of molecules studies.
CMDBuild includes a scheduler that can be configured to run automated tasks in the background, both synchronous and asynchronous.
The scheduler allows you to:
- check incoming emails from default accounts and/or with known patterns and register them in the system along with the attachments, notify the incoming, starts a workflow using its basic information (date, sender, subject, etc) or by running the"parsing" of the body of the email
- check if certain asynchronous conditions happen on CMDB data (such as the upcoming expiration of a warranty) and notify you via email, start a workflow, perform a system script
- check if certain asynchronous conditions happen on CMDB data (such as the change of a CI from an user to another) and notify you via email, start a workflow, perform a system script
- start a workflow, with a set frequency
- start an instance of the Wizard Connector with a set frequency
The control panel of the Scheduler (Task Manager) which is available in the Administration module, shows the tasks and their status and allows you to:
- start a task that is not active
- pause a started task
- configure a new type of task
- change the configuration of an already created task
- remove a task
- clone a task
The system is based on open source tool Quartz.
|Administrator Manual: Task Manager|
Having a strong but flexible system for data protection is extremely important in those applications where sensitive data are stored.
Thanks to its architecture, CMDBuild is able to manage access permissions to objects in a logical and granular way.
In a logical way because it is independent from the channel of the origin of the request, whether it comes from the desktop user interface or from a SOAP webservice (or other applications) or REST (mobile interface or GUI Framework or other applications).
In a granular way because the grants and roles can be defined on classes and process, search filters, views, reports, dashboards.
On classes and processes it is also possible to:
- specify access permission (no access, view only, edit) for each class/process
- restrict such permission to a subset of data sheets/process, using filters that can be applied to any attribute for the class, or to the relations with other classes, or returned by specific and complex database functions
- restrict such permissions to a subset of the attributes of that class/process, through a direct selection
The permissions are always assigned to groups of users and each user can belong to one or more groups, so you can decide whether your group can operate with normal restrictions or with the combination of every groups restriction.
For each group of users a custom menu can be configured.
User authentication can be performed by:
- local control on CMDBuild databases
- local control of user presence in CMDBuild databases and password control on LDAP system
- activating a system SSO (Single Sign On) through additional product installation such as open source CAS
|Administrator Manual: User groups, Users, Menu|
CMDBuild includes two main modules:
- the Administration Module, only for administrators users, is intended for the startup of the basic configuration and the consecutive modifications.
- the Data Management Module, used by operators, lets you manage for the data cards consultation and update, run the processes, print of the reports, etc.
The main features of the Administration Module include:
- Data model definition
- creation of new “classes”, that is to say, new types of objects in the system
- creation and modification of the “attributes” of a class (normal and geographic)
- definition of the “widgets” to be placed on the “class” management form
- definition of the workflows persistence information
- importing of the workflow
- printing of the data model schema (complete or only limited to the requested class)
- creation of “domains”, that is to say, types of relations and their possible attributes
- creation of list of tables (“lookup”) to manage the attributes of default values
- Views and filters definition
- creation of default filters that can be used during the data consultation on different classes
- creation of “views” both using data filters and using SQL query
- Navigation trees definition
- Dashboard and report definition
- dashboard configuration
- external report customs’ layout import
- Users and groups management
- creation of users
- creation of users’ groups
- definition of the grants and roles for each group and each class or subset of class’ rows and columns.
- definition of customized menu for different type of users
- Task Manager and background processes configuration
- Mail management
- account configuration
- definition of the templates for mails notification
- GIS configurations
- BIM configurations
- Parameters and options settings
Data Management Module
CMDBuild includes two main modules:
- The Administration Module, only for administrators users, is intended for the startup of the basic configuration and the consecutive modifications.
- The Data Management Module, used by operators, lets you manage for the data cards consultation and update, run the processes, print of the reports, etc.
The main features of the Data Management Module include:
- Data tabs management or “views” on data tabs
- Researches on data tabs specifying both the filters on data and parameters on the classes relationship, with the possibility of saving new filters or using predefined filters
- Data tabs input, creation and modification
- Usage of the expected widgets
- Master view – detail
- Creation and modification of the relationships between data tabs
- Research of the editing’s history to data and to the relationships between the managed objects
- Attachments uploading connected to data tabs
- Visualization of geo-referenced tabs on cartography
- BIM models 3D viewer
- Printing of the tabs list with the column selection and row filter setting
- Printing of the current tab with detail report
- Workflow management
- Starting of processes
- Advancing of processes using the expected widgets
- Consulting of the intermediate steps of the workflow
- Complex reports execution designed by an external editor and imported into the system (including several types of graphics, barcode, crosstab and other advanced elements)
- Analysis of the configured graphics in the system and check of their KPI
- Relation graph
- -Utility functions
- – massive editing of data tabs
- CSV import
- CSV export