Technical Manual: February 2020 Author Tecnoteca SRL
Technical Manual: February 2020 Author Tecnoteca SRL
3.2
» Technical Manual
February 2020
Author Tecnoteca srl
www.tecnoteca.com
ENG
www.cmdbuild.org
Technical Manual
No part of this document may be reproduced, in whole or in part, without the express written permission
of Tecnoteca s.r.l.
CMDBuild ® uses many great technologies from the open source community:
PostgreSQL, Apache, Tomcat, Eclipse, Ext JS, JasperSoft, JasperReports, IReport, Enhydra Shark,
TWE, OCS Inventory, Liferay, Alfresco, GeoServer, OpenLayers, Quartz, BiMserver.
We are thankful for the great contributions that led to the creation of these products.
Contents
1. Introduction................................................................................................................................. 5
1.1. The application.................................................................................................................................... 5
1.2. Official website..................................................................................................................................... 6
1.3. CMDBuild modules.............................................................................................................................. 6
1.4. Available manuals................................................................................................................................ 6
1.5. Applications based on CMDBuild......................................................................................................... 6
2. System configuration................................................................................................................... 8
2.1. Hardware requirements....................................................................................................................... 8
2.2. Software requirements......................................................................................................................... 8
2.3. Client requirements............................................................................................................................ 10
3. Installing CMDBuild...................................................................................................................11
3.1. Getting started................................................................................................................................... 11
3.2. CMDBuild installation......................................................................................................................... 11
3.3. CMDBuild installation via GUI (Windows and Linux).........................................................................11
3.4. CMDBuild manual installation (Linux and Windows)..........................................................................18
3.5. CMDBuild database configuration via Db Config Wizard (Linux and Windows).................................19
3.6. CMDBuild manual database configuration for Windows....................................................................20
3.7. CMDBuild manual database configuration for Linux..........................................................................20
4. CMDBuild version update.......................................................................................................... 21
4.1. CMDBuild update............................................................................................................................... 21
5. Configuration to access a DMS through CMIS..........................................................................22
5.1. Introduction........................................................................................................................................ 22
5.2. Configuration of categories management.......................................................................................... 22
5.3. Configuration of the DMS in CMDBuild.............................................................................................. 24
6. Backup of CMDBuild data.........................................................................................................26
6.1. Database backup............................................................................................................................... 26
6.2. Database restore............................................................................................................................... 26
7. Backup of Alfresco data.............................................................................................................27
7.1. Backup schedule............................................................................................................................... 28
8. Authentication modes................................................................................................................ 29
8.1. Introduction........................................................................................................................................ 29
8.2. Configuration of the authentication type............................................................................................. 29
8.3. Configuring LDAP authentication....................................................................................................... 29
8.4. Single sign on configuration through CAS......................................................................................... 31
9. Mobile interface activation.........................................................................................................33
9.1. Introduction........................................................................................................................................ 33
9.2. Components and architecture............................................................................................................ 33
9.3. Compatibility...................................................................................................................................... 33
9.4. Limitation of use................................................................................................................................. 34
10. GUI Framework activation.......................................................................................................35
10.1. Introduction...................................................................................................................................... 35
10.2. Configuration................................................................................................................................... 35
11. GeoServer............................................................................................................................... 37
1. Introduction
1.1. The application
CMDBuild is an open source web environment for the configuration of custom applications for the
Asset Management.
On the one hand, it provides native mechanisms for the administrator, implemented in a "core"
code which has been kept separated from the business logic, so that the system can be configured
with all its features.
On the other hand, it generates dynamically a web interface for the operators, so that they can
keep the asset situation under control and always know their composition, detachment, functional
relations and how they update, in order to manage their life-cycle in a comprehensive way.
The system administrator can build and extend his/her own CMDB (hence the name of the project),
modeling the CMDB according to the company needs; a proper interface allows you to
progressively add new classes of items, new attributes and new relations. You can also define
filters, "views" and access permissions limited to rows and columns of every class.
Using external visual editors, the administrator can design workflows, import them into CMDBuild
and put them at operators' disposal, so that they can execute them according to the configured
automatism.
In a similar way, using external visual editors, the administrator can design various reports on
CMDB data (printouts, graphs, bar code labels, etc.), import them into the system and put them at
operators' disposal.
The administrator can also configure some dashboards made up of charts which immediately show the
situation of some indicators in the current system (KPI).
A task manager included in the user interface of the Administration Module allows you to schedule
various operations (process starts, e-mail receiving and sending, connector executions) and various
controls on the CMDB data (synchronous and asynchronous events). Based on their findings, it sends
notifications, starts workflows and executes scripts.
Thanks to document management systems that support the CMIS standard (Content Management
interoperability Services) - among which there is also the open source solution Alfresco - you will
be able to attach documents, pictures, videos and other files.
There is also a Scheduling, which can be supplied both automatically when filling in a data card
and manually. This Scheduling will manage single or recurring deadlines related, for example, to
certifications, warranties, contracts with customers and suppliers, administrative procedures, etc.
Moreover, you can use GIS features to geo reference and display assets on a geographical map
(external map services) and / or on vector maps (local GeoServer and spatial database PostGIS)
and BIM features to view 3D models (IFC format).
The system also includes a REST web service, so that CMDBuild users can implement custom
interoperability solutions with external systems.
Furthermore, CMDBuild includes two external frameworks:
• the Advanced Connector CMDBuild, which is written in Java and can be configured in
Groovy: it helps the implementation of connectors with external data sources, i.e automatic
inventory systems, virtualization or monitoring ones (supplied with non-open source license
to the users that subscribe the annual Subscription with Tecnoteca)
• the GUI Framework CMDBuild, which helps the implementation of additional graphical
interfaces, i.e. web pages (simplified for non technicians) that have to be published on
external portals and that are able to interact with the CMDB through the REST web service
CMDBuild includes a mobile interface (for smartphone and tablet). It is implemented as multi-
platform app (iOS, Android) and is able to interact with the CMDB through the REST web service
(supplied with non-open source license to the users that subscribe the annual Subscription with
Tecnoteca).
CMDBuild is an enterprise system: server-side Java, web Ajax GUI, SOA architecture (Service
Oriented Architecture), based on web service and implemented by using the best open source
technologies and following the sector standards.
CMDBuild is an ever-evolving system, which has been released for the first time in 2006 and
updated several times a year in order to offer more features and to support new technologies.
2. System configuration
In the following paragraphs the software requirements needed by the CMDBuild system and how
to install and configure its components will be presented.
When planning the system configuration, information security issues must be taken into account.
The activation of a web application like CMDBuild demands the availability of hardware and
network components with suitable levels of security. This is required in order to avoid unwanted
external accesses (firewall, DMZ) and to deliver a good system on-line availability and suitable
response times.
Operating system
Every operative system that supports JVM and the needed software will support CMDBuild.
Linux operating system is suggested because CMDBuild is more extensively tested on it.
Database
PostgreSQL from version 9.5 to version 10.7 is required.
You should check whether "plpgsql" is active and whether the database is set with an UTF-8
encoding.
CMDBuild uses the library "tomcat-dbcp" to connect to the database, this library is distributed with
Tomcat but is not included in some Linux distributions. In such cases the library can be found in
the official Tomcat distribution or in the extras/tomcat-libs/{Tomcat version dir} folder inside the
CMDBuild zip file; the library must be placed in /usr/share/{Tomcat version dir}/lib.
CMDBuild supports only the PostgreSQL database, because it is the only one that implements the
functionality of "derivation" of tables in the "object oriented" meaning. This is used for managing
the sub classes and for managing the history of cards.
If you use the GIS features of CMDBuild you have to also install the PostGIS spatial extension for
PostGRES. If you require support installing and configuring PostGIS refer to postgis official docs
and support: http://www.postgis.net/install
Java Libraries
The Java Libraries are required by Apache Tomcat.
CMDBuild requires Oracle JDK 11 or OpenJDK 11.
Reference website: http://www.oracle.com/
In order to design custom reports, you can use the visual editor Jasper Studio (6.x) or IReport
(version 5.x), which produce their descriptor in compatible format with the Jasper Reports engine
(http://jasperforge.org/projects/ireport).
For designing personalized workflows we suggest using the visual editor TWE Together Workflow
Editor 4.4 (http://www.together.at/prod/workflow/twe). The editor produces in output an XPDL 2.0
file compatible with the Together Workflow Server 4.4 engine.
For integrating systems of automatic inventory we suggest using the OCS Inventory version 1.3.3
(http://www.ocsinventory-ng.org/).
Some functionalities of CMDBuild can be integrated as portlets within systems compatible with
Portal JSR, among them Liferay version 6.0.6 or more recent (http://www.liferay.com/).
All software listed above are released with an Open Source license (the operating system is not
included if you choose to not use the Linux operating system).
3. Installing CMDBuild
3.1. Getting started
CMDBuild can be installed in different ways, the installation via GUI is suggested. Anyhow the
following list of software are required before the installation:
• PostgreSQL database (it must be started and accessible)
• Tomcat application server (only if manual installation is performed)
• the DMS Alfresco (or others supporting the CMIS protocol, if you intend to use the
management of attached documents)
• the Java environment
As a first step is therefore necessary to ensure downloading and installing these products,
retrieving them from the links mentioned in the previous chapter.
Warning: you must to be careful to use directories not containing spaces within the entire path.
In this form we can decide the basic configuration of CMDBuild, the various field are now
described:
• Tomcat dir: the path where to install a fresh tomcat
• Tomcat port: the port that tomcat will use to communicate
• Database type: two basic databases are presented, an empty one where only the basic
structure is presented but no data is added, or a demo one where other than the basic
structure some data are added in for demonstration purposes
• Database host: the host where to install tomcat, localhost if we want to run it on our
machine
• Database port: the port used to communicate to the database
• Database name: the name of the database that will be created
• Database user: the basic user of the database, default: cmdbuild
• Database password: the basic user password of the database, default: cmdbuild
• Database admin user: the admin user of the database, default: postgres
• Database admin password: the admin user password of the database, default: postgres
A good practice is to test the configuration with the button “Test Config”, if everything is correctly
configured the following pop-up will appear:
As soon as the installation will be completed a pop-up will ask us if we want to start the application
or not:
By choosing yes Apache tomcat will load and the installer will notify us as soon as the application
is ready to be used:
In this form we can configure the database with the following fields:
• Type: the database we want to configure, either one of the provided ones (demo, empty),
an existing one or from a file
• Name: the name used by postgres
• Host: postgres host
• Port: postgres port
• Username: standard postgres username (suggested cmdbuild)
• Password: standard postgres password (suggested cmdbuild)
• Admin username: administrator postgres username (suggested postgres)
• Admin password: administrator postgres password (suggested postgres)
Once every field has been compiled it is suggested to use the “Test database connection” to verify
the validity of the configuration, if no errors are displayed we can proceed by pressing the
configure button.
After a successful configuration a list of patches that have to be applied to the uploaded database
might be shown, by pressing “Apply patches” the system will proceed with the application.
As soon as the login page is displayed the system is ready to be used.
When the application is next launched, on the login screen a pop-up notifying that there is a new
version installed will appear.
To restore the previously saved configurations tomcat has to be turned off again and the old
configurations have to be moved to the configuration folder.
</beans>
2) cmdbuild-model.xml
</aspects>
</model>
org.cmdbuild.dms.category.lookup
The lookup defining the categories of the documents
Example:
org.cmdbuild.dms.category.lookup AlfrescoCategory
org.cmdbuild.dms.enabled
The configuration that enables or disables the dms service
Example:
org.cmdbuild.dms.enabled true
org.cmdbuild.dms.service.cmis.user
The username used to access the dms service
Example:
org.cmdbuild.dms.service.cmis.user admin
org.cmdbuild.dms.service.cmis.password
The password used by the dms service
Example:
org.cmdbuild.dms.service.cmis.password admin
org.cmdbuild.dms.service.cmis.path
Where to locate the dms service
Example:
org.cmdbuild.dms.service.cmis.path /User Homes/cmdbuild
org.cmdbuild.dms.service.cmis.url
The url of the dms service
Example:
org.cmdbuild.dms.service.cmis.url http://localhost:10080/alfresco/api/-
default-/public/cmis/versions/1.1/atom
org.cmdbuild.dms.service.type
The type of protocol used by the dms service
Example:
org.cmdbuild.dms.service.type cmis
#!/bin/sh
ALFRESCO_SERVICE="/etc/init.d/alfresco"
TT_PG_BACKUP="/usr/local/bin/tt_pg_backup.sh"
BACKUP_HOME="/backup"
ALFRESCO_BACKUP_HOME="${BACKUP_HOME}/alfresco"
BACKUP_LOG="/var/log/cmdbuild/crontab-backup.log 2>&1"
ALFRESCO_DATABASE="alfresco"
ALFRESCO_DATA="/var/lib/alfresco/data"
TIMESTAMP=`date +%Y%m%d%H%M%S`
ALFRESCO_DATA_BACKUP="alfresco-data-${TIMESTAMP}.tar.gz"
An example:
00 19 * * * root /usr/local/bin/tt_pg_backup.sh /backup/cmdbuild cmdbuild
&>> /var/log/cmdbuild/backup/backup.log
10 19 * * 7 root /usr/local/bin/alfresco-backup.sh &>>
/var/log/cmdbuild/backup/backup.log
8. Authentication modes
8.1. Introduction
Thanks to proper configurations of CMDBuild, the authentication control can be delegated to
external services.
This possibility concerns the control of the account (username and password). Profiles and
permissions will still be managed withing the CMDBuild group to which the user belongs.
Via REST commands the configurations of the authentication can be changed, either via editconfig
rest command to open a gui showing all the available configurations (if CMDBuild is on the local
machine) or via setconfig/setconfigs rest command, in example:
cmdbuild.sh restws setconfig org.cmdbuild.auth.methods LdapAuthenticator
org.cmdbuild.auth.methods
With this parameter you can define the authentication "chain" of CMDBuild.
It is possible, i.e., to define in cascade which types of authentication you can use to allow access to
the user and set the priority.
Example
org.cmdbuild.auth.methods=LdapAuthenticator,DBAuthenticator
The configuration in the previous example indicates that whenever a user logs into the system,
CMDBuild must first verify the credentials via LDAP, and if they fail, via the data base in CMDBuild.
The accepted parameters are:
• HeaderAuthenticator (authentication via header control)
• LdapAuthenticator (authentication via credential verification on LDAP)
• CasAuthenticator (single sign through CAS)
• DBAuthenticator (standard authentication)
org.cmdbuild.auth.ldap.server.address
This attribute is used to specify the address to which you can reach the LDAP server.
Example:
org.cmdbuild.auth.ldap.server.address=localhost
org.cmdbuild.auth.ldap.server.port
This attribute is used to specify the port the LDAP server. The default is 389.
Example:
org.cmdbuild.auth.ldap.server.port=389
org.cmdbuild.auth.ldap.use.ssl
It specifies whether to use an encrypted connection to the LDAP server. The default is disabled.
Example:
org.cmdbuild.auth.ldap.use.ssl=true
org.cmdbuild.auth.ldap.use.tls
It specifies whether to use tls with the LDAP server. The default is disabled.
Example:
org.cmdbuild.auth.ldap.use.tls=true
org.cmdbuild.auth.ldap.basedn
This attribute indicates the Base DN that will be used to query the LDAP tree.
Example:
org.cmdbuild.auth.ldap.basedn=dc=example,dc=com
org.cmdbuild.auth.ldap.bind.attribute
This attribute indicates the attribute will be run on the bind user.
For example, as an attribute for specifying bind dn uid and considering the basis indicated above,
the LDAP query that will be generated uid = username, dc = example, dc = com.
Example:
org.cmdbuild.auth.ldap.bind.attribute=cn
org.cmdbuild.auth.ldap.search.filter
You can specify with this attribute, a search filter to be used for research.
Other configurations:
org.cmdbuild.auth.cas.server.url
This attribute is used to specify the address to which you can reach the CAS server.
Example:
org.cmdbuild.auth.cas.server.url=https://cas.mycompany.com/cas
org.cmdbuild.auth.cas.login.page
This attribute is used to specify the CAS login page
Example:
org.cmdbuild.auth.cas.login.page=/login
org.cmdbuild.auth.cas.service.param
Name of the parameter that CAS uses to specify the url of the authentication service.
Example:
org.cmdbuild.auth.cas.service.param=service
org.cmdbuild.auth.cas.ticket.param
Name of the parameter that CAS uses to specify the ticket reference that it generates until the
authentication is valid.
Example:
org.cmdbuild.auth.cas.ticket.param=ticket
9.3. Compatibility
The mobile system is compatible with:
• Android 4.0.3 or more recent
• IOS 6 or more recent
10.2. Configuration
The framework defines HTML pages starting from their definition in XML.
Such pages can be inserted into a HTML file, allowing the framework to insert into existing portals
access points to CMDBuild data.
The system configurability can be achieved through the definition of custom CSS and Javascript.
The element that should be inserted into the portal html is a html container (DIV, IFRAME ...) in the
following format:
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript" src="http://10.0.0.107:8080/cmdbuild-gui-
framework/api/cmdbuildAP.js"></script>
<script type="text/javascript">
$( document ).ready(function(){
$("#cmdbuilForm").cmdbuildAP({
apiUrl : 'http://10.0.0.107:8080/cmdbuild/services/rest/',
appRootUrl : 'http://10.0.0.107:8080/cmdbuild-gui-framework/api/',
appConfgUrl : 'http://10.0.0.107:8080/cbap/cbap/confg/bologna/',
cqlUrl : 'http://10.0.0.107:8080/cbap/cbap/cql/',
customjs : [
'backend/GUIForm.js',
'backend/Process.js'
],
start: "home.xml",
theme: [
"jquery-ui.theme-crt-toscana.min.css",
"custom.css"
],
});
});
</script>
<div id="cmdbuilForm"></div>
The style configuration is designated to CSS, which can directly uploaded from the Html tag. This
makes the GUI flexible, allowing the programmer to include it into the portal so that is does not look
like an unrelated element.
You can also define the servers that contain the CMDBuild system, the form configuration files and
the Cql engine, the native data query language in CMDBuild.
In the tag customjs some GUI customization files are inserted.
The tag uploads the GUI engine configuring it with the above-mentioned files.
The forms are defined in XML through a language that is similar to HTML, with the possibility of
defining data management forms directly linked to metadata defined in CMDBuild.
All GUI tags, commands and behaviours can be configured again by the programmer according to
the system criteria.
Since the library refers to JQuery, where the GUI Framework was developed, the programmer can
natively use every plugin compatible with JQuery, developing the available features.
Another element that marks the GUI operation is the "backend" mechanism, i.e. the Javascript
classes that link the GUI to the servers. In this way the application provides further freedom
provided by the possibility to define the data format the server is waiting for and the name of the
server you want to link to.
11. GeoServer
11.1. Geo Server introduction
CMDBuild includes the ability to manage the geo-reference of assets or of any other information
entities (such as customers, suppliers, locations, etc.) through the visualization on a map and/or
floor plans.
The geo-reference on the territory is made by integration external services such as
“OpenStreetMap”, Google maps, and more, while the management of plans has been implemented
by using the GeoServer open source system.
Through the use of GeoServer you can add custom layers (e.g. plans) that you can use in the GIS
module.
Supported formats are:
• Shape
• GeoTiff
• WorldImage
12. BIMServer
12.1. BIMServer introduction
BIMServer is an opensource software made to easily build bim related tools. In order to use ifc files
in CMDBuild, BIMServer has to be installed.
12.2. Installation
CMDBuild supports the version 1.5.138 of BIMServer, this can be obtained on the official GitHub of
BIMServer at the following link: https://github.com/opensourceBIM/BIMserver/releases .
After obtaining the file we can start with the installation procedure:
BIM server is a web application, you can create a new folder called "bimserver" in your local
apache tomcat installation under the webapps folder.
Now extract the war file in the newly created folder.
You can launch tomcat and take a look at the logs in the file "catalina.out", there the initial setup of
BIMServer will be displayed.
Once the app is running proceed to the address http://localhost:8080/BIMServer/ on any browser
to reach the configuration page for BIMServer:
Leave the Site address as it is and choose your server name and description.
After pressing next we'll be required to decide the administrator username and password, type
your preferred once, the username has to be an email address.
In the next step we have the possibility of setting up an email, step that isn't mandatory and won't
be done here
In the next page a list of standard plugins will be provided, this plugins will be installed for an
optimal setup of BIMServer, click next.
In the last page by pressing "Setup" the full installation and setup of BIMServer will start, both the
page and catalina.out log will tell us the stage of the installation and when it is completed.
Once the setup is finished you can refresh the page to obtain a status page of your BIMServer:
All you need to do to complete the setup of the BIM service is to go in the administration module of
CMDBuild and enable the BIM services with the information you provided during the BIMServer
setup.
In the example above the load balancer has been made by the Apache webserver.
Both load balacer and PostgreSQL database can be redundant through different techniques, which
are not considered in this chapter.
ATTACHMENT
An attachment is a file associated to a card.
In order to manage the attachments, CMDBuild uses in embedded mode any document system
which is compatible with the standard protocol CMIS.
The management of the attachments supports the versioning of those files that have been uploaded
a few times, with automatic numbering.
See also: Card
ACTIVITY
Activity: workflow step.
An activity can be an interaction with the operator (interactive) or a script that processes operations
via API (automatic).
A process instance is a single process that has been activated automatically by the application or
manually by an operator.
See also: Process
ATTRIBUTE
The term refers to an attribute of a CMDBuild class (for example in "supplier" class the attributes
can be: name, address, phone number, etc.).
CMDBuild allows you to create new attributes (in classes and domains) or edit existing ones.
In the database, every attribute is related to a column in the table which implements the associated
class and corresponds, in the Data Management Module, to a data entry field of the specific card
for the class management.
See also: Class, Domain, Report, Superclass, Attribute Type
BIM
Method with the aim to support the whole life cycle of a building: from its construction, use and
maintenance, to its demolition, if any.
The BIM method (Building Information Modeling) is supported by several IT programs that can
interact through an open format for data exchange, called IFC (Industry Foundation Classes).
CMDBuild includes a connector to sync some CI information (technical or maintenance records)
and an interactive viewer for the 3D model of the building represented by the IFC file.
See also: CI, GIS
CI
We define CI (Configuration Item) each item that provides a service to a user and has a sufficient
detail level for its technical management.
In CMDBuild, the term is applied to a generic context of Asset Management extending the concept
usually used in the management of IT infrastructure.
CI examples include: server, workstation, software, plant, electric panel, fire extinguisher, furniture,
etc.
CLASS
A Class is a complex data type having a set of attributes that describe that kind of data.
A Class models an object that has to be managed in the CMDB, such as a company, a building, an
asset, a service, etc.
CMDBuild allows the administrator - with the Schema Module - to define new classes or delete /
edit existing ones.
A class is represented in the database with a table automatically generated when defining the
class and corresponds - in the Data Management Module - to a card for the consultation and
update of the cards expected in the model.
See also: Card, Attribute
CMDB
ITIL best practice (Information Technology Infrastructure Library), which has become a "standard
de facto" and a non-proprietary system for services management, has introduced the term CMDB
referred to the Configuration Item database.
CMDBuild extends the concept of CMDB applying it to a generic Asset Management context.
See also: Database, ITIL
CONFIGURATION
The configuration management process is designed to keep updated and available to other
processes the items (Configuration Item) information, their relations and their history.
Even if it known as one of the main processes within the ITIL Best Practice, the same concept is
used in CMDBuild for generic contexts of Asset Management.
See also: CI, ITIL
DASHBOARD
In CMDBuild, a dashboard corresponds to an application page including one or more different
graphic representations, in this way you can immediately hold in evidence some key parameters
(KPI) related to management aspects of the Asset Management service.
See also: Report
DATABASE
The term refers to a structured collection of information, hosted on a server, as well as utility
software that handle this information for tasks such as initialization, allocation, optimization,
backup, etc..
CMDBuild relies on PostgreSQL, the most powerful, reliable, professional and Open Source
database, and uses its advanced features and object-oriented structure.
The Asset Management database, implemented on the basis of the CMDBuild logics and
philosophy, is also indicated as CMDB (Configuration Management Data Base).
DOMAIN
A domain is a relation between two classes.
A domain has a name, two descriptions (direct and inverse), classes codes, cardinality and
attributes.
The system administrator, using the Administration Module, is able to define new domains or
delete / edit existing ones.
It is possible to define custom attributes for each domain.
See also: Class, Relation
DATA FILTER
A data filter is a restriction of the list of those elements contained in a class, obtained by specifying
boolean conditions (equal, not equal, contains, begins with, etc.) on those possible values that can
be accepted by every class attribute.
Data filters can be defined and used exceptionally, otherwise they can be stored by the operator
and then recalled, or configured by the Administrator and made available by operators.
See also: Class, View
GIS
A GIS is a system able to produce, manage and analyze spatial data by associating geographic
elements to one or more alphanumeric descriptions.
GIS functionalities in CMDBuild allow you to create geometric attributes (in addition to standard
attributes) that represent, on plans / maps, markers position (assets), polylines (transmission lines)
and polygons (floors, rooms, etc.).
See also: BIM
GUI FRAMEWORK
It is a framework provided by CMDBuild to simplify the implementation of external custom user
interfaces and to grant a simplified access to non-technicians. They can be issued onto any
webportals and can be used with CMDBuild through the standard REST webservice.
The CMDBuild GUI Framework is based on javascript JQuery libraries.
See also: Mobile, Webservice
ITIL
It is a "best practices" system that established a "standard de facto"; it is a non-proprietary system
for the management of IT services, following a process-oriented schema (Information Technology
Infrastructure Library).
ITIL processes include: Service Support, Change Management and the Configuration
Management.
For each process, ITIL handles description, basic components, criteria and tools for quality
management, roles and responsibilities of the resources involved, integration points with other
processes (to avoid duplications and inefficiencies).
CMDBuild uses some ITIL concepts and applies them to a generic context of Asset Management.
See also: Configuration
LOOKUP
The term "Lookup" refers to a pair of values (Code, Description) set by the administrator in the
Administration Module.
These values are used to bind the user's choice (at the form filling time) to one of the preset values
(also called multiple choice or picklist).
With the Administration Module it is possible to define new "LookUp" tables according to
organization needs.
See also: Attribute type
MOBILE
It is a user interface for mobile tools (smartphones and tablets).
It is implemented as multi-platform app (iOS, Android) and can be used with the CMDB through the
REST webservice.
See also: Webservice
PROCESS
The term process (or workflow) refers to a sequence of steps that realize an action.
For each process (type of process) a new process instance will be started when users have to
carry out an action on assets according to a procedure implemented as workflow.
A process is activated by starting a new process (filling related form) and ends when the last
workflow step is executed.
The workflows managed in CMDBuild are described in the standard markup language XPDL (XML
Process Definition Language), ruled by the WFMC (WorkFlow Management Coalition).
See also: Workflow step
RELATION
A relation is a link between two CMDBuild cards or, in other words, an instance of a given domain.
A relation is defined by a pair of unique card identifiers, a domain and attributes (if any).
CMDBuild allows users, through the Management Module, to define new relations among the
cards stored in the CMDB.
See also: Class, Domain
REPORT
The term refers to a document (PDF or CSV) containing information extracted from one or more
classes and related domains.
The reports can be configured in the Administration Module importing in XML format the
description of the layout designed with the visual editor JasperReports. They can be provided to
operators in the application menu.
CMDBuild users can print reports using the Management Module, which will result as printouts,
charts, documents, labels, etc.
See also: Class, Domain, Database
CARDS
The term "card" refers to an element stored in a class (corresponding to the record of a table in the
database).
A card is defined by a set of values, i.e. the attributes defined for its class.
CMDBuild users, through the Management Module, are able to store new cards and update /
delete existing ones.
Card information is stored in the database and, more exactly, in the table/columns created for that
class (Administration Module).
See also: Class, Attribute
SUPERCLASS
A superclass is an abstract class used as template to define attributes shared between subclasses.
From the abstract class, or from abstract class hierarchies, you can derive real classes that contain
data and include both shared attributes (specified in the superclass) and specific subclass
attributes, besides the relations on the superclass domains and on specific domains.
For example, you can define the superclass "Company" with some basic attributes (VAT number,
Business name, Phone number, etc.) and the derived subclasses "Customers" and "Suppliers",
each one with both generic attributes of the superclass and its own attributes and relations.
See also: Class, Attribute
TENANT
A "tenant", in CMDBuild, is a part of the CMDB reserved to users belonging to a suborganization of
the CMDBuild instance (a Group Society, a Seat, a Division, etc.).
Working in "multitenant" mode, every user works only on data of his/her suborganization and, in
case, on common data: "tenants".
The list of usable Tenants can be defined from an applicable class of CMDBuild (seats, companies,
customers, etc.) or from a database custom function, where you can implement complex visibility
rules.
ATTRIBUTE TYPE
Each attribute has a data type that represents attribute information and management.
The type of attribute and its management modes are defined in the Administration Module.
CMDBuild manages the following attribute types: “Boolean”, “Date”, “Decimal”, “Double”, “Inet” (IP
address), “Integer”, “LookUp” (lists set in "Settings" / "LookUp"), “Reference” (foreign key), “String”,
“Text”, “TimeStamp”.
See also: Attribute
VIEW
A view includes cards defined with logic criteria of filters applied to one or more CMDB classes.
In particular, a view can be defined in CMDBuild by applying a filter to a class (so it will contain a
reduced set of the same rows) or specifying an SQL function which extracts attributes from one or
more related classes.
The first view type maintains all functionalities available for a class, the second one allows the sole
display and search with fast filter.
See also: Class, Filter
WEBSERVICE
A webservice is an interface that describes a collection of methods, available over a network and
working using XML messages.
With webservices, an application allows other information and applications to interact with its
methods.
CMDBuild includes a SOAP and a REST webservice, which are provided to external applications
to read or write data on CMDB or process operations.
WIDGET
A widget is a component of a GUI that improves user interaction with the application.
CMDBuild uses widgets (presented as "buttons") that can be placed on cards or processes. The
buttons open popup windows that allow you to consult or insert data or process other operations.
CMDBuild includes some standards widgets to process the most common operations, but it also
supplies the specifications to implement other custom widgets.