Integria IMS: Help desk Software

Transcripción

Integria IMS: Help desk Software
 Administration & Userguide v4.0 Content table Integria IMS 4.0 – Administration & userguide PDF Version 1ª Edition, 19th November 2013 © Artica Soluciones Tecnológicas 2009-­‐2013 You can see this documentation online at http://wiki.integriaims.com Pag 2 Content table 1. Content table 1. Content table ............................................................................................................................................................... 3 2. What is Integria .......................................................................................................................................................... 8 About Integria IMS ............................................................................................................................................................. 8 Main Features ....................................................................................................................................................................... 8 Incident Management (Ticketing) ............................................................................................................................... 9 Project Management .......................................................................................................................................................... 9 Customer Management System (CRM) ...................................................................................................................... 9 Wiki ......................................................................................................................................................................................... 10 Inventory (CMDB) ............................................................................................................................................................ 10 What do you need to install Integria IMS ? ............................................................................................................ 10 3. Installing Integria .................................................................................................................................................... 11 Required Dependencies ................................................................................................................................................. 11 Installing from Sources ................................................................................................................................................... 11 Previous Installing of the necessary Software ..................................................................................................... 11 Downloading Sources ...................................................................................................................................................... 12 Installing ............................................................................................................................................................................... 12 Installing in a Web hosted enviroments ................................................................................................................. 17 Installing through Packages ......................................................................................................................................... 18 Installing Integria IMS through Debian (.DEB) package .................................................................................. 19 Installing Integria IMS through the .RPM package ( .......................................................................................... 19 Installing Integria IMS on Windows ......................................................................................................................... 20 Installing WAMP ................................................................................................................................................................ 20 Installing Integria .............................................................................................................................................................. 22 Installing the Enterprise version ............................................................................................................................... 27 Installing the Enterprise version on Windows .................................................................................................... 28 Installing the Maintenance Script .............................................................................................................................. 29 In Unix systems .................................................................................................................................................................. 30 In Windows systems ........................................................................................................................................................ 30 Integria Update .................................................................................................................................................................. 31 Update with RPM .............................................................................................................................................................. 31 Update with DEB ............................................................................................................................................................... 31 Update with Tarball ......................................................................................................................................................... 31 After updating .................................................................................................................................................................... 32 4. Users in Integria ....................................................................................................................................................... 33 Users and Groups .............................................................................................................................................................. 33 Users ....................................................................................................................................................................................... 33 "My user" Menu ................................................................................................................................................................. 34 "User Report" Menu ......................................................................................................................................................... 39 User Reports ........................................................................................................................................................................ 39 User Management (as Administrator) ..................................................................................................................... 45 Managing Roles .................................................................................................................................................................. 48 Pag 3 Content table Import Users from CSV ................................................................................................................................................... 49 Groups .................................................................................................................................................................................... 50 Group Management .......................................................................................................................................................... 50 Mail Queue Management ............................................................................................................................................... 52 Profiles and Users ............................................................................................................................................................. 53 Types of Users .................................................................................................................................................................... 54 Flags Table for ACL ........................................................................................................................................................... 54 5. Incident Management ............................................................................................................................................ 60 Example of Ticketing flow with Integria ................................................................................................................. 60 Incidents status .................................................................................................................................................................. 64 Kinds of Users in an Incident ....................................................................................................................................... 65 Incident creator ................................................................................................................................................................. 65 People in charge of the incident ................................................................................................................................. 65 User with Writing Access to the Incident ............................................................................................................... 66 User with Reading Access to the Incident .............................................................................................................. 66 User with Management access to the Incident ..................................................................................................... 66 User closes an Incident ................................................................................................................................................... 66 User assigned to an incident ........................................................................................................................................ 66 First Steps with an Incident .......................................................................................................................................... 67 Types of Incidents ............................................................................................................................................................. 67 Incident Creation ............................................................................................................................................................... 68 First task with the incident: Creation of the first WU ....................................................................................... 71 Dashboard (Main View) ................................................................................................................................................. 72 Search View ......................................................................................................................................................................... 72 Incident Statistics/General Report ............................................................................................................................ 75 Operation on the Incident ............................................................................................................................................. 77 Customized Incident Searches .................................................................................................................................... 79 SLA Management ............................................................................................................................................................... 80 Creation of Incidents through a Web form ............................................................................................................ 83 Managing incidents using email ................................................................................................................................. 86 Create a new incident using email ............................................................................................................................. 88 To add a new workunit ................................................................................................................................................... 89 Incident Update and Workunit customization ..................................................................................................... 90 Mask email addresses workunits ............................................................................................................................... 92 6. Project management system ............................................................................................................................... 93 Projects and Tasks ............................................................................................................................................................ 93 Roles assignment .............................................................................................................................................................. 94 New tasks creation ........................................................................................................................................................... 95 Tasks and costs .................................................................................................................................................................. 96 Tasks and projects deletion .......................................................................................................................................... 97 Project management using Task Planning ............................................................................................................. 98 Reports and results .......................................................................................................................................................... 99 Time Map Projects by person ...................................................................................................................................... 99 Project Overview ............................................................................................................................................................ 100 Task Scheduler ................................................................................................................................................................ 101 Time Map ........................................................................................................................................................................... 102 Interactive Gantt Diagram .......................................................................................................................................... 103 Task Overview ................................................................................................................................................................. 104 Detail of Hour Assignation ......................................................................................................................................... 105 Creation of New Work Units ..................................................................................................................................... 106 Pag 4 Content table Task Attached Files ....................................................................................................................................................... 108 Move Task ......................................................................................................................................................................... 108 Task Report ...................................................................................................................................................................... 108 Task Tracking .................................................................................................................................................................. 109 General Tracking Reports .......................................................................................................................................... 110 Work Orders ..................................................................................................................................................................... 112 Email Notifications ........................................................................................................................................................ 112 Creation of Notes by email ......................................................................................................................................... 113 Global Task Assignation .............................................................................................................................................. 113 7. Customer Relationship Management (CRM) ............................................................................................ 115 Companies / Accounts ................................................................................................................................................. 115 Company roles ................................................................................................................................................................. 115 Contacts .............................................................................................................................................................................. 115 Contracts ............................................................................................................................................................................ 116 Invoices .............................................................................................................................................................................. 116 Invoice lock ....................................................................................................................................................................... 119 Main view (Companies) .............................................................................................................................................. 119 Reports and listing ........................................................................................................................................................ 121 Leads .................................................................................................................................................................................... 123 Creating a Lead through a Web form .................................................................................................................... 124 Campaigns ......................................................................................................................................................................... 128 Example of a Campaign Creation ............................................................................................................................ 129 8. Inventory .................................................................................................................................................................. 132 Creation of a Type of Inventory Object ................................................................................................................. 132 Creating an Inventory Object .................................................................................................................................... 135 Inventory Searches ........................................................................................................................................................ 137 Importing Inventory Data from CSV ...................................................................................................................... 140 Inventory Synchronization with Pandora FMS ................................................................................................. 140 Remote Inventory based on Pandora FMS agents ........................................................................................... 143 Remote Inventory Internal Performance ............................................................................................................ 143 Installing tentacle_server ........................................................................................................................................... 149 Remote Inventory Configuration ............................................................................................................................ 150 Configuring Pandora FMS agents ............................................................................................................................ 151 Inventory Customization ............................................................................................................................................ 151 9. Knowledge Base .................................................................................................................................................... 152 Introduction ..................................................................................................................................................................... 152 Knowledge Base Management ................................................................................................................................. 152 Managing Categories .................................................................................................................................................... 153 Managing Products ........................................................................................................................................................ 153 Creating a New Article in the KB ............................................................................................................................. 154 Creating a New Article from an Incident ............................................................................................................. 156 KB Permissions ............................................................................................................................................................... 156 10. File Distribution System ................................................................................................................................. 158 Introduction ..................................................................................................................................................................... 158 General View .................................................................................................................................................................... 158 Creating one Category .................................................................................................................................................. 159 Access Management ...................................................................................................................................................... 160 Pag 5 Content table Creating a File Release ................................................................................................................................................. 161 11. Newsletter ............................................................................................................................................................. 163 Issues ................................................................................................................................................................................... 163 Addresses .......................................................................................................................................................................... 164 Sending Queue ................................................................................................................................................................. 164 Newsletter WEB Visualization ................................................................................................................................. 166 Newsletter Subscription Form ................................................................................................................................. 167 Newsletter Un-­‐subscribing Form ............................................................................................................................ 169 12. Wiki .......................................................................................................................................................................... 170 Basic syntax ...................................................................................................................................................................... 170 Headers .............................................................................................................................................................................. 170 Ordered and Unordered list ...................................................................................................................................... 170 Links, images and external files ............................................................................................................................... 171 Images ................................................................................................................................................................................. 172 Table of Contents ........................................................................................................................................................... 172 Preformatting / Code ................................................................................................................................................... 172 Horizontal bar ................................................................................................................................................................. 173 Avoiding WIKI interpreter ......................................................................................................................................... 173 HTML Code ....................................................................................................................................................................... 173 Blank lines ......................................................................................................................................................................... 173 Wiki menu ......................................................................................................................................................................... 173 Wiki rights management ............................................................................................................................................ 174 13. Configuration ....................................................................................................................................................... 176 Configuration Items ...................................................................................................................................................... 177 General Configuration .................................................................................................................................................. 177 Visual Configuration ..................................................................................................................................................... 178 Password Policy Setup ................................................................................................................................................. 178 Incident Setup .................................................................................................................................................................. 179 E-­‐mail configuration ..................................................................................................................................................... 181 EMail Templates ............................................................................................................................................................. 184 Menu Visibility ................................................................................................................................................................ 186 Inventory ........................................................................................................................................................................... 187 Authentication ................................................................................................................................................................. 188 CRM ...................................................................................................................................................................................... 190 Old Data Management .................................................................................................................................................. 192 Project Management ..................................................................................................................................................... 192 System Tools .................................................................................................................................................................... 193 Translate strings ............................................................................................................................................................ 193 System global news Manager .................................................................................................................................... 195 SQL Manager .................................................................................................................................................................... 196 File manager ..................................................................................................................................................................... 196 Links .................................................................................................................................................................................... 196 System Events ................................................................................................................................................................. 197 Audit Log ............................................................................................................................................................................ 197 Error Log ............................................................................................................................................................................ 198 Alert and notifications system ................................................................................................................................. 198 Offline update .................................................................................................................................................................. 198 14. Integria external API ........................................................................................................................................ 201 Pag 6 Content table Security ............................................................................................................................................................................... 201 White list IP authentication ....................................................................................................................................... 201 Authentication with password ................................................................................................................................. 202 15. API functions ........................................................................................................................................................ 203 Returning information about Integria IMS ......................................................................................................... 203 Incidents ............................................................................................................................................................................ 203 get_incidents .................................................................................................................................................................... 203 get_incident_details ....................................................................................................................................................... 204 create_incident ................................................................................................................................................................ 204 update_incident .............................................................................................................................................................. 205 delete_incident ................................................................................................................................................................ 205 Workunits .......................................................................................................................................................................... 206 get_incident_workunits ............................................................................................................................................... 206 create_workunit .............................................................................................................................................................. 206 Files ...................................................................................................................................................................................... 207 get_incident_files ............................................................................................................................................................ 207 download_file ................................................................................................................................................................... 208 attach_file .......................................................................................................................................................................... 208 delete_file ........................................................................................................................................................................... 209 Users .................................................................................................................................................................................... 209 create_user ........................................................................................................................................................................ 209 validate_user .................................................................................................................................................................... 210 Leads .................................................................................................................................................................................... 210 create_lead ........................................................................................................................................................................ 210 Others .................................................................................................................................................................................. 210 get_incident_tracking ................................................................................................................................................... 210 get_incidents_resolutions ........................................................................................................................................... 211 get_incidents_status ...................................................................................................................................................... 211 get_incidents_sources ................................................................................................................................................... 212 get_groups ......................................................................................................................................................................... 213 get_users ............................................................................................................................................................................ 213 get_stats .............................................................................................................................................................................. 214 get_inventories ................................................................................................................................................................ 215 get_last_cron_execution ............................................................................................................................................... 216 get_num_queued_emails ............................................................................................................................................. 216 16. API Extension ...................................................................................................................................................... 217 Examples of API functions ......................................................................................................................................... 217 Example of function that return a single value ................................................................................................. 217 Example of function that returns a list of values .............................................................................................. 217 17. Extension system ............................................................................................................................................... 219 Extension Menu .............................................................................................................................................................. 219 Creating an Extension Menu ..................................................................................................................................... 219 Setup extensions ............................................................................................................................................................ 220 Creating a setup extension ......................................................................................................................................... 220 Tab extensions ................................................................................................................................................................ 221 Creating a tab extension .............................................................................................................................................. 221 Available tab lists ........................................................................................................................................................... 222 Pag 7 What is Integria 2. What is Integria Integria IMS is a software tool for the complete management of organizations and teams. IMS are acronyms for "ITIL Management System", that means, Integria is useful to manage an organization from ITIL viewpoint [1] In a more functional level, we can define Integria as a tool to manage projects, human resources, hours assignment/time tracking, incident tracking (ticketing), combined with a comprehensive inventory system and a CRM system (Client manager), a Wiki, task assignment management, a Knowledge Base, a file distribution system and other functionalities. All of them via Web, multiuser/multiprofile. There is an "Enterprise" (not free) part on Integria, it adds a powerful ACL system, based on user, group and profile, to control the access to the different elements of Integria.These are the features that makes the difference between the OpenSource and the Enterprise versions. About Integria IMS
Integria IMS was originally designed as a bugs incident/tracking system, simple but oriented to be multiuser and multigroup, with support for diferent profiles and audit internal capacity. Integria was a partial derivative of the project Pandora FMS. The first version (v1.0) was released in 2007, but it was less more than an internal project with OpenSource code that was released at Sourceforge. Later, there were more versions (1.1, 1.2, 2.0 y 2.1) between 2008 and 2013, until with version 4.0 we have closed an stable and mature version after many years using it in our clients and also internally. Integria IMS is developed by a company from Madrid, Spain,[Artica ST]. The official page is http://integriaims.com. Main Features
§
§
§
§
Incident Management (ticketing) Project Management, Time Management (Time tracking) knowledge management(Knowledgue Base). Pag 8 §
§
§
§
§
§
What is Integria Inventory system (cmdb) Agenda. Wiki. Management of Leads, contracts, contacts and invoices (CRM). Software downloads centralized environment. Employee Control Integria is a tool that can be used in "onsite" mode (installed in a Windows or Linux server), or as service, in a hosting (SAAS mode). It is a 100% web tool, with a user interface translated to several languages (Spanish, English, Chinese, Portuguese,Russian, French; Italian among other languages). Next are detailed the main features of each one of the Integria IMS functionalities Incident Management (Ticketing)
Integria IMS implements a management system for business incidents or ticketing. It can be used in Software development projects, like helpdesk tool or adapted to your needs to attend any need of interaction with clients or users. It allows notification by mail in both directions, included the ticket creation through email. It has a complete web interface, a simplified WEB interface and an interface for mobile devices. It is possible to create incidence customized types with customized fields for each type. With Integria you can implement a versatile methodology (KANBAN) or a more classic system of ticket management. It is possible to do a detailed monitoring of each status of the incidence, its total time, and the SLA fulfillment level.The system has also available a tool to measure the client satisfaction level. Project Management
Integria can be used to do a project classic methodology (based on Gantt, milestones and tasks) or also on agile methodologies (SCRUM). It has available several types of reports and metrics based on time and costs. It allows to define roles and costs. At each role it integrates simultaneously the planning with the cost and time assignment. ALl updates are notified via email. Customer Management System (CRM)
Pag 9 What do you need to install Integria IMS ? It is by itself a fully functional CRM. It includes newsletter management. It is used to manage client accounts, contacts, contracts, leads, and it has an issued invoices management that is integrated in the system. Wiki
A Wiki is a well known system (think in Wikipedia!), to share and publish information and track changes. It's easy, fast and very useful. Now Integria gives you a full featured wiki, with access controls enabled, to use in your team. Inventory (CMDB)
Integria integrates a flexible inventory system, where the types of objects, the fields and the relationships between them are defined by the administrator. This allows from managing a device stock in a simple way, to implement a CMDB with data that already exists in its company. The inventory system is linked (optionally) to the CRM and to the Ticketing system. What do you need to install Integria IMS ? Integria is a tool developed in PHP5 and that uses MySQL as database. Apache/PHP is used as WEB application engine. It could be installed in any server (Linux, Windows, Solaris), provided it supports PHP5 and MySQL [2],that installs all the necessary in order Integria works. If you download the Vmware image or the installation CD will have a system ready to work based on CentOS Linux. It is also possible to configure Integria IMS in Windows environments , using WAMP metapackage For more information about the installation, please visit Installation chapter Pag 10 Installing Integria 3. Installing Integria Required Dependencies
Integria IMS is PHP application that needs a MySQL database to work. Actually, it only supports MySQL and needs a PHP 5.2 or higher version (due to its intensive use of AJAX between other reasons). Integria IMS is a fully Web application, so you could install it in a server and to have access to it from any work place with an update browser (Firefox, or Internet Explorer from version 6). The minimum resolution to work is 1024x768. The graphs use Flash and you could need a complement to visualize them. Integria IMS can work on Windows, Unix or Linux providing it has their dependencies fulfilled. However, our favorite platform is CentOs Linux. All the dependencies needed that our system should have for the correct performance of Integria IMS are: php php-cli php-gd php-intl curl php-ldap php-imap php-mysql php-mbstring php
It will be necessary to restart the apache server once the changes have been done: service httpd restart
We can do the installation in a manual way through sources (.tar.gz), packages .DEB for systems based on Debian, or .RPM for Suse, Hat Enterprise Linux, Fedora and CentOS, or also downloading the code of the development version, using the SVN (Subversion). Integria IMS can also be installed on Microsoft Windows Operative Systems, through WAMP package Server[1],that installs Apache, PHP 5 and MySQL in the operative System Installing from Sources
Previous Installing of the necessary Software
You should have at least the tar tool to unzip the installation "tarball" package. Don't forget to install subversion', and of course, fulfill all the installation pre-­‐
requisites previously mentioned. Pag 11 Installing Integria Downloading Sources
We will need to download the tarball from the last version of Integria IMS. In order to do this, we have two options: the first one is to download the .tar.gz of the last version from Sourceforge [2],and the second one is to download the developing version through the Subversion client (svn) using the command line: svn co https://svn.code.sf.net/p/integria/code/trunk/ integria
It is recommendable to execute this command in the web publication directory directly (/srv/www/htdocs/ para Suse o /var/www/ para Ubuntu/Debian) because the unzipped version will be downloaded in that folder and we can follow with the installation from there. Installing
Once we have the installing tarball, for example in /tmp, we do root: su -
And we go to the web publication web directory (/srv/www/htdocs/ for Suse or /var/www/ for Ubuntu/Debian) to unzip the package: cd /var/www/ tar xvzf /tmp/IntegriaIMS-xxx.tar.gz
Changing the permissions to the directory should be property of the web server user: For example, in Debian systems: chown -R www-data /var/www/integria
Now we should go via web to your server IP address to continue with the Integria IMS installing. This part of the installation is useful to create the Integria database and to configure the access credentials (user, password and DB name) to the DDBB fixed by the user: Pag 12 Installing Integria http://ip_servidor/integria/install.php http://ip_servidor/integria/trunk/install.php (si se
ha optado por descargar usando svn)
We follow the installing steps: Pag 13 Installing Integria Click on Next, accept the license and we press the following: This screen verifies that all required dependencies are installed correctly: Pag 14 Installing Integria Here we will set the MySQL access credentials so that the installer is able to create the new database Integria: Pag 15 Installing Integria Installation complete After completing all the steps, we will have successfully completed the installation of IMS and Integria and can access the system. Remember credentials (username and password) by default are ' admin' with password 'Integria'. Pag 16 Installing Integria http://ip_servidor/integria/index.php
Installing in a Web hosted enviroments
Default install of Integria assumes you have root account to create the Integria database and make the automated install. This section describe the way on how to do the "manual" installation, used for example, in a web hosted environment. §
NOTE: Some hosted environments don't have compiled PHP IMAP module required for email incident management feature. First, you need to get the Tarball and decompress in a temporal dir, for example: tar xzf integria_xxxx.tar.gz
This will create a directory called "trunk" in your current directory. Move it to your web publishing directory, under a new directory, for example "integria": Pag 17 Installing Integria mv trunk /srv/www/htdocs/integria
Your hosting environment should have a full installation of PHP 5.x (this includes some extensions like gettext, json, mysql, ldap, mbstring and zlib). Graphviz is also required to the "tree" graphs. You need to create the database with the mechanism your hosting provide. After that you will have a database host, database user, database password and database name. Import these two files (in this order) in your new database: integria_db.sql integria_dbdata.sql
This could be done by using the mysql cli command line : mysql -u user -p -D databasename -h hostname
<It will ask your password> mysql> use pandora; mysql> source integria_db.sql; mysql> source
integria_dbdata.sql;
After that, you will need to edit the file "include/config.inc.php" adding these lines, with the values you have in your setup: $config["dbname"] = "integria";
// MySQL DataBase name $config["dbuser"] = "integria";
$config["dbpass"] = "integria"; // DB Password $config["dbhost"] = "localhost"; // DB Host
$config["homedir"] = " /srv/www/htdocs/integria/";
// Config homedir $config["base_url"]
= "http://mydomain.net/integria";
// Public URL
Save the file or rename it as "include/config.php" and give it permissions only for read to your web application (usually apache or http). Delete install.php and proceed to enter to integria: http://youraddress/integria
Installing through Packages
First we should get the Integria installing packages, that could be downloades from [3].You should download the packages for their distribution, the .deb for Pag 18 Installing Integria Debian/Ubuntu or the .rpm fro Suse/Red Hat Enterprise Linux/Fedora/CentOS. Installing Integria IMS through Debian (.DEB) package
Integria installation from the .deb package is very simple. You will only need to execute as root the following command: dpkg -i IntegriaIMS_xxx.deb
If you don't have Internet connection and you have left dependencies not filled, then it'll be necessary to download the dependencies and next to install the packages. If on the contrary we have Internet, and there is any dependency not resolved, we execute: apt-get -f install
This command will try to download all the necessary packages that are missing to install Integria in the system. Once the necessary dependencies have been installed, it'll be possible to install the Integria package. After installing the package, it will show us a message like this in the command line: Please, now, point your browser to http://your_ip_address/integria/install.php and follow all the steps described on it From here, we will follow the same steps that we saw in the installing via web from the sources, where we'll configure the MySQL credentials to create the Integria IMS database. Installing Integria IMS through the .RPM package (
This is valif for CentOS, Redhat, SUSE, OpenSuse and all systems using RPM packaging. Once the package have been download, you can install Integria FMS executing as root following command: rpm -i IntegriaIMS-xxx.noarch.rpm
Pag 19 Installing Integria Same as with the .deb packages installing, you should solve the dependencies that aren't filled when trying to install the package. When you finish to install the package through the command line, you will be notified that it should be continue through an explorer. We should follow the same steps that with the installation via web from sources to create the database on which Integria IMS will be supported. Installing Integria IMS on Windows
Installing WAMP
To install Integria on Windows Operative system, we should use the WAMP Server metapackage [4] that installs all the things necessary in order Integria could execute correctly. This is, a server MySQL, Apache and PHP.Once downloaded, we execute it and follow the necessary steps to install it. For WAMP works properly you must have installed the Redistributable Package Visual C++ 2010 SP1. In some systems the version 2.2 can cause problems, if so, try installing the version 2.1. Pag 20 Installing Integria First will be fix a root password for MySQL,that we will use later to install the Integria database.To do this, we go to phpMyAdmin through the WAMP icon, which will open us an explorer from we could manage the MySQL.Press on Priviledges and edit the root user. Pag 21 Installing Integria In the root user configuration, in Changing password we should fix the password that this user will use to connect to MySQL. It will be necessary to restart the MySQL and the Apache server to the changes will apply. Installing Integria
Next, we should download the Integria .tar.gz from sourceforge [5].We can also download the code from the svn, using a Subversion client for Windows, for example TortoiseSVN, that we can download from sourceforge [6]. We create a directory named Integria in the wwwdirectory of the WAMP server C:\wamp\www\integria
If you have installed the WAMP server in other place that wasn't the location by default (C:\wamp), this path will change. Pag 22 Installing Integria Now, unzip the integria tarball and copy all the files that are in the trunk directory to the new directory that we have created. If the download has been done through subversion, we should copy the content of the trunkfile of the ortoiseSVN, download directory to the WAMP server publication directory, where we have previously created the integria directory. From this point, same as with the other systems, we have access through an explorer to continue with the Integria installation and could create the Integria database: http://ip_servidor/integria/install.php
Where "ip_servidor" can be "localhost" if we are in our own machine. Press on next and accept the license; Pag 23 Installing Integria In the following screen will be shown the dependencies that are correctly installed or if on the contrary remain unresolved or aren't correctly installed. Depending on this, it will be necessary to have access to the WAMP PHP extensions and activate the ones that remain unresolved. For example, if you say that does not have support for Gettext: access the menu of WAMP (in the icon tray), and on the "PHP extensions" locate and select the extensions that are missing, as seen in the screenshot below : Pag 24 Installing Integria Here you can see how we have finally solved all the problems. Note that by default graphviz verifies if is installed in "c:\program files/graphviz 2.28". If Pag 25 Installing Integria you have it installed somewhere else and fails, don't worry, make sure you have graphviz in the system path and, if necessary, restart WAMP. Once all the dependencies have been resolved, click on next and in this screen we should introduce the root password that we configured before in PHPMyAdmin.We press on the following one, and, if all goes well, it should have created the new database where Integria will be based. Pag 26 Installing Integria Click on next and once the installation is finised, we could have access to the Integria login screen through an explorer, writing: http://ip_servidor/integria/index.php
We could have access to Integria through the adminuser and the default password integria. Installing the Enterprise version
Once we have the file compressed with the Enterprise part of Integria, for example IntegriaIMS_enterprise_xxx.tar.gz, we should work in a similar way as you did for the installing from the sources. For it, uncompress the tarball: su - cd /tmp tar xvzf IntegriaIMS_enterprise_xxx.tar.gz
Once it has been unzip, it will create a file called enterprise that we will move into the integriafile that is in the publication directory Pag 27 Installing Integria For Debian/Ubuntu, just install the package: dpkg -i integriaims_enterprise_xxxx.deb
For Suse / CentOS / Redhat, just install the package: rpm -i integriaims_enterprise_xxxx.rpm
The last step is to open a web browser and introduce: http://server_ip_address/integria/
We accept the license and with this we will have Integria IMS installed with the enterprise version. Installing the Enterprise version on Windows
Pag 28 Installing Integria The enterprise version installation on Windows is done from the compressed file. For it, unzip the file and copy the enterpise file in the www directory that is in our WMPS server installation. If, for example, this is installed int the C:\directory, we should copy the file in C:\wamp\www\integria. We open the explorer with the address: http://ip_servidor/integria/
And accept the enterprise license as we showed in the previous section, so we have now the enterprise version installed. Installing the Maintenance Script
Integria sends the mails and does certain "automatic" operations in an scheduled way. For it it's necessary to automatize a process in order it would be executed every 5 minutes. If you don't do this,some important Integria operations (such as sending emails) won't work. If you have install the package from .DEB or .RPM this script is already installed in your system, so you can skip this section. If you have installed it from tarball or sources you should do it manually. Pag 29 Installing Integria In Unix this is done adding a task to the cron, as follows: In Unix systems
As root, create a new file called /etc/cron.d/integria # Execute Integria CRON each 10 minutes. 10,20,30,40,50,59 * * * *
/srv/www/htdocs/integria/include/integria_cron.php
root
php5
If you have installed Integria in other different directory, for example. in Ubuntu, the complete path will be different, for example: # Execute Integria CRON each 10 minutes. 10,20,30,40,50,59 * * * *
/var/www/integria/include/integria_cron.php
root
php5
Before going on, check that it works, executing from command line, as root the complete order, for example: php5 /srv/www/htdocs/integria/include/integria_cron.php
The script shouldn't return anything. It's possible that in your system the php interpreter isn't called 'php5' but 'php'. Check this if you have any problem and change php5 by php in all the orders showed previously. In Windows systems
If you are using XP or Windows 2000, you should look for the Windows 2003 or higher SCHTASKS command to could program a call to a command every 10 minutes. You could download it from Microsoft http://www.microsoft.com/resources/documentation/windows/xp/all/prod
docs/en-­‐us/schtasks.mspx?mfr=true And you should create an entry in the task scheduler of the following one SCHTASKS /create /SC minute /MO 10 /TN Integria /TR "C:\wamp\bin\php\php5.3.5\php-cgi.exe
c:\wamp\www\integria\include\integria_cron.php" /RU system
(The paths can change depending on their WAMP version) Pag 30 Installing Integria This uses the task scheduler to execute the script integria_cron.php every 10 minutes. Integria Update
We consider upgrading (update), the process of "applying latest changes" or patches on an already functional installation. This is consists basically to "replace" the new code files over old. The process is simple, and can be described in three steps. 1. Download the package (tarball format) or in. RPM or. DEB 2. Update. 3. Check that all found well. The second step (update), will change depending on if is RPM, DEB or Tarball format. Update with RPM
Write the command: rpm -U nombre_paquete.rpm
Update with DEB
Write the command: dpkg -i nombre_paquete.deb
Update with Tarball
Unix/Linux It depends on where you installed our Integria. Suppose that is in/var/www/html/integria. Suppose that have in /tmp the tarball that have been downloaded from the web. Write the following commands as root: cd /tmp tar xzf xxxxxxx.tar.gz cd trunk ./integria_update -p /var/www/html/integria
Pag 31 Installing Integria This copies the contents of all the source files, overwriting the current /var/www/html/integria and trying to change the owner / group of the web server user. Windows Open the file with a tool tarball handling compressed files like "winzip" or "winrar", locate where you installed Integria directory and overwrite those files with the contents in the tar.gz file After updating
Check, in the footer of the application that have changed the version and/or build from the version I had before. This is an indicator that the application has been updated successfully. Pag 32 Users in Integria 4. Users in Integria Users and Groups
One of the Integria IMS most important features is that it can work with several group of users and that each group "see only it's business".These groups of users could be departments, clients or companies. These features are usually known as Multitenant environment. In order to implement this, we distinguish between three key concepts: §
Group:One group is a group of users with visibility between them. One group could be a "department", a "client" or a "company" depending on the context of the use of Integria. §
Profile: Defines a list of privileges, for example: access to the agenda, or to have access to create incidents, or to be project manager. §
User: An Integria user is an user to enter in the application via WEB. This user has assigned one or several groups, through the profile assignment, so one user could be project management in one group and incident operator in other or be only project management in one group. One user has nothing to be with a contact (contacts are used in Integria CRM system). The most important features of the Enterprise version in relation with the OpenSource are the Multitenant functionality and the permission management As functionalities in Integria (ticketing, projects, wiki, etc) are very different between them, the management and implication of the profiles in one or another case can be very different. That is, the way the access profile is applied to one incident or to one project is very different. All the issues related with user profiling are explained in depth in the Profile and user right section, at the bottom of this chapter. Users
Pag 33 Users in Integria To could add people to the projects, incidents, etc, they should be as users in the Integria IMS system. Each user could have different profiles in different groups (incident manager for a company, participant in one project, etc) and thanks to these profiles it will have some specific privileges on the system and on the features of Integria to which he is assigned. Users could be from different groups and have different roles in each of them, as has been mentioned before, they can be responsible of the incidents of the company «A» and participants in a project of the company «B». Inside the Users menu you can manage all things related to users, see the users, edit them, see report with user worklogs, task assigned to the user, roles and existing groups, etc. This sections has different sub-­‐sections, some are accessible by the administrator or «group leader», and other are accessible by all users. Some sections allows the user to perform some actions depending on the user credentials. "My user" Menu
Modify User In the first submenu, there is an option to modify the user properties. Here we can change your user, modifying the name, email, password, etc. We couldn't change your "user ID" or the user short name, so it is unique and it isn't possible to change it once it is defined. The user language "ignores" the defined language in a global level, that means that if the user defines his own language, it will use this instead of the system language. This would be one view of the user configuration screen: Pag 34 Users in Integria Some fields give information, for example the user id and the nº of total incidents opened. WU Report This option is only shown if we have access to the project system. It shows a monthly timetable with the hours assignment of our user. This allows to see in different colors the WU assigned to incidents an its duration and the WU assigned to projects. Example of WU with project hours Pag 35 Users in Integria Example of WU report with incident hours In case of being mixed hours it will be shown with an alternative color. Pag 36 Users in Integria WU Report This option will be shown only if we have access to the project system. It shows a monthly schedule with the hour assignment for our user. This allows to see in different colors the WU assigned to incidents and its duration and the WU assigned to projects. Example of WU with project hours Pag 37 Users in Integria Example of WU with incident hours In case there are mixed hours it will be shown with another color. Pag 38 Users in Integria "User Report" Menu
User Reports
In the side menu of User Report there are four sections available: §
§
§
§
§
Exhaustive report Monthly report Annual Report Custom reports Schedule reports Any of this sections will send reports depending on the aspect selected, and there are links in them to see the reports in graphic mode and in schedule mode. Exhaustive Report Pag 39 Users in Integria In the Complete report of the side menu User report is showed the activity of one user in all projects. The table has the following information: §
§
§
§
Project: Name of the project Hours of the User : Hours the user has assigned to this project, in his tasks as a whole. Total of the Project: total of hours assigned in the project by all users. %: Percentage that represents the work that the user has done. Besides, it's possible to press on the project name to go to its description page. In the selection boxes at the upper side of the form, you can select other user and other different date, by default are the user connected and the current day. Pag 40 Users in Integria Monthly Report In the section monthly report of the side menu user report is showed the activity of each user. The table has the following data: §
§
§
§
§
§
User ID: User identifier. Report: work units: Link to the detail view of the user work units. Schedule view: Link to the user schedule view General graph view: Pie chart view: pie chart with the hours distributed in pieces. Total of hours for this month: Total of hours assigned to the current month Assigned this month: Total of money assigned in the current month It has a selection box where you can change to other month. Example of Monthly Graph Pag 41 Users in Integria Annual Report Pag 42 Users in Integria In the section Annual report of the side menu User report is shown an schedule with the activity of one user during the the whole year. In the schedule the days of vacations , work an incidences are highlighted. The annual schedule allows to show the nº of workunits assigned this day if you leave the mouse pointer on it. If you click on them, you could see them on detail, as a drill-­‐down. You can have access to the monthly report for this user by clicking on the corresponding month. You have a selection box where you can change to another user if you have privileges to see this information. Custom reports Pag 43 Users in Integria In the section Custom reports of the side menu User report appear a list with the custom reports created before. From that list is possible to see the report from the navigator or download it on PDF or CSV format. The reports will be created with an SQL sentence, for this it will be necessary to know the database schema. Schedule reports In the section Schedule reports of the side menu User report appear a list with the scheduled reports created before. From this list, every report can be downloaded onPDF format, but the more important thing is that these reports will be automatically generated and sent to the specified email direction. It is necessary to fill in some fields in the form: §
§
Name: Report name. Destination email: Email that will receive the report. Pag 44 §
§
§
Users in Integria Lenght on days: Days range of the data. Execute each X days: Days between every report. Report type: The report type. Certain report types have subtypes that could appear when selecting the type. The IP of the Integria IMS server should have API access to send the reports as the email attachment. The server IP can be included in the general setup. User Management (as Administrator)
From the "user management" section, you could do all the management tasks related to users, manage (adding, editing and deleting)users and their details, managing the roles and profiles that exist, and also the defined groups. Pag 45 Users in Integria To create an user, press the button Create user that is below the table that list the users. A form will be shown where you will have to fill in the information of the new user. In this form you can introduce any information about the user: §
§
§
§
§
§
ID user: Identifier or user name. Actiation: This user has the access disabled and it can't be used as recipient in an incident, project, etc.The projects/tickets where it is already keep their status. Enable login: Is a valid user, but couldn't enter in the system, but they can be assigned manually by other user as part of one incident, a project, etc. If it is disabled it could not have access to the Integria interface, but it could get, for example the notifications via email from the incidents and/or project system. Real name: User real name. Nº employee: Usually an internal code of the company that identify the user. Password:User password. It requires double checking. Pag 46 §
§
§
§
§
§
§
§
§
§
Users in Integria 'E-­‐mail': User email. Image: User image or icon. Telephone: User telephone. Location: Optional field to show where the user could be located. Company: Optional field. It will use the companies defined in the CRM to assign it to the user. It is useful to visualize the company the user belongs to in the incident view. Global profile: User kind of profile:standard, external or administrator. The standard user follow the roles of the permissions fixed for it.The "external" profile means that is a user that couldn't work "in group" in the incident system, so it will only can see the incidents that he has created. However ,a "normal" user can see the incidents that are open in his group, although he didn't open them. Same way, could make notes (TU) on incidents of people of his group. Language:Language of the Integria IMS interface for the user. This language customize the user experience, doing that each user could see the interface in his own language, regardless of what is fixed in the system at a general level. Total Nº of Incidents:To inform about how many incidents this user has opened. Simple Mode: If it is enabled, the incident view is very simplified with respect to the normal one. Comments: informative field Once you have finished to introduce data, press on Create It will show you new options bellow the Comments field, where you could add: §
§
Available(s) Group(s)Grupo(s): The groups to which the user could be added to. Profiles: the profiles available for the groups. Pag 47 Users in Integria To edit any user, as long as you have permissions, you can press on the user name or identifier. It will show an edit form of the user that will allow you to modify all the user fields. Managing Roles
The roles are the functions that the user can do, and the cost per hour assigned to them. They are needed to calculate the real cost of a project based on the hours charged by each participant. Integria IMS has several roles by default: §
§
§
§
§
§
§
§
Project manager Systems engineer Junior consultant Junior programmer Senior programmer Analist Senior consultant Support engineer Each of them has assigned costs, that will be apply when a user with this role introduce hours in one project, incident, etc.This is though mainly for the services outsourcing, where it's very interesting to know the costs associated with them. The only important role is the "Project manager" role, that can't be deleted, so it is the one that gives "permissions" to manage a project, if that user has the project manager role. From section Role Management you could add, edit and delete roles. Pag 48 Users in Integria Import Users from CSV
A CSV file is a document that allows to represent data in the form of a table. The columns are separated by commas and the rows by carry return. Our CSV file will have the following format: id_usuario,password,real_name,email,telephone,description,avatar,disabled,id_company,simple_mo
de,num_employee,enable_login (without commas)
Pag 49 Users in Integria Example of file alberto,1234*xcf,Alberto Garrido,[email protected],91345678,Gestor de
cuentas,avatar8.png,0,12,0,123,1 juan,348x*13,Juan Rodriguez,[email protected],914543210,Gerente
de canal,avatar9.png,0,12,0,124,1
The rest of fields couldn't be added in an automatic way. Through an interface you could select some options with which the user will be imported. Groups
Groups are used to associate activity groups or companies an user could belong to. They are closely related to the profiles so a support department user can be in company «A» with a «Senior consultant» assigned rol and also be in company «B» as «Support engineer»,and in another company as «Project manager». They are the key for all the Integria privileges system Group Management
This option is visible for user with an administration profile. When you want to assign incidents, you can assign a default user that will receive the mails with the incidents. This user could scale the incidents to other user in his group, but you need to set the correct permissions to this user. From section Manage groups you could add, edit and delete groups. Pag 50 Users in Integria The section Manage groups of the side menu User management gives a table with information about the groups in the system. Once you click on one group, you can edit their features, in a window like this one: Pag 51 Users in Integria To create one group, press the button Create group below the table that list the groups. It will show you a form where you should have to fill in the information of the new group. In this form you should add the following information: §
§
§
§
§
§
§
§
§
§
§
§
Name: name of the new group. Force email: if the email sending(box activation) must be forced to the group in the incidences. Father: selection box, in case it has a father. Icon: icon or image for the group. Banner: if you want to add abannerimage to the group. Default user: the default group user, the selected user in a default way by opening an incident with the group. Language: predetermined language for the group. Incident "soft limit":shows the maximum nº of incidents for this group that one user can have opened at the same time Incident "hard limit": shows the nº of maximum incidents for user, for this group,for this group, that one user could have open, total (open or closed) When this limit is exceeded, the user will receive a notification in the screen when he try to create an incident, so he won't be able to create any more. Force the "soft limit": if the "soft limit" exceeds and this box is not activated, it simply notify that the limit of simultaneous opened incident is exceeded. But the user could follow with the creation of the incident. Inventory object by default: The inventory object that is selected will be assigned by default when incidents associated to that group would be created Incident SLA: Will be the SLA that will be applied to the incidents of this group. The SLA are a group of "rules" in order to check that an incident would be correctly managed. It is possible to see more information about the in the section ticketing/incidents. To edit any group, as long as you have permissions, you could press on its name or group identifier. It will show a edit form of the group that will allow you to modify all the fields of the group. Once you have change the values, press on Update Mail Queue Management
Integria IMS allows to manage mail queue, defined by each user group, that allow to manage the work flow of incidents through emails. This is an "Enterprise feature not available with Integria IMS OpenSource version. Pag 52 Users in Integria The parameters to configure the mail queues are the following: §
§
§
§
§
§
§
§
§
Autocreate users: Enables/Disables the creation of new users in the system when an email is received. Give access to users: Enables/Disables the access of the new users to that they could enter in the application using their user/password. Send welcome email: Enables/disables the welcome email sending when creating a new user Activate simple mode: Enables/Disables the simple mode of incident management for new users. User type: Associates the type of users to the new created users. Company by default: Company that will be associated by default to the new created users. User profile by default : Profile by default for the new users. Type of incident by default: Type of incident by default for incidents created through this emails queue. Email queue:Configuration of the mail queue associated to this group. This field allows to configure several regular expressions or mail addresses that after will be used to associate the corresponding mails to new incidents to the group. The field could have several email addresses or regular expressions, one in each line. For example: [email protected] .*@otherdomain.com
With this configuration the mail queue accepts all emails sent to the address [email protected] and all those with the format [email protected] as for [email protected], [email protected], etc. §
Welcome email: Welcome email that will be sent to the new users when a new account will be created for them.This text field accept the following macros: § _password_: It will change this macro for the password by default assigned in the user creation. If you want to know more about the queues working you can check the section:EMail ticket management Profiles and Users
Pag 53 Users in Integria The Enterprise version of Integria IMS allows to associate to one user information of which profile has for each group. This is done in user administration (in the Enterprise version).This allows to specify which access permissions are given to each user in each section or data group. Types of Users
Summarizing what we have seen previously, we can say that in Integria there are three types of users: §
§
§
Administrator: They could have access to all sections and see the information of all groups. Standard User: They could have access and see the information of each group depending on the assigned profile. External User: They could only have access to the sections:Incidents, KB, Downloads and People. In Incident Section they will only could see the incidents that they have created. This user is very useful to give a support service in a simple way. Flags Table for ACL
The profiles are composed by access "flags".In this section is defined what enables each ACLs flag in each section. Pag 54 Users in Integria Projects Bit de acceso
PR
Allows to see the information of the projects where you are assigned.
PW
Allows to create new projects.
PM
Allows to create and modify the project groups.
TR
Allows to see the information of the task in which you are assigned.
TW
Allows to add workunits, files and costs to the tasks in which you are assigned, and also to visualize their data.
TM
Allows to modify or delete tasks in which you are assigned, and also to add users or create subtasks.
Project manager role
You can do any operation in the projects where you have this role assigned, and also in the project tasks. Besides the users with this role will could delete projects.
Project owner
It has the same permissions that the project manager.
It can do all the previous tasks in any project or task without Administrator restrictions (depending on the availability of them in the user
interface).
In the projects ACLs system, the subtasks inherit the permissions of the parent task. That is, if one user can modify the parent task he could also modify the child task Incidents Bit of access
IR
Standard User
External User
Allows to have access to the Incident section and could interact (see information, add workunits, upload files, etc) with incidents according to the following conditions:
§
Those who belongs to the group/s of the user §
Where the user is the owner Pag 55 Where user is the owner Where user is the creator Where user is the editor Where user wrote some workunit
§
§
§
§
Users in Integria §
§
§
Where the user is the creator Where the user is the editor Where the user wrote any workunit
IW
It allows to create new incidents and edit (change the gorup, the status, assign it to another user, etc) the previous ones.Editing will be only available for the user that would be owner of the incident.
IM
Allows:Delete incidents, Manage incident types and manage SLAs.
Administrator User
Can do all the previous actions without any restriction (depending on the availability of those actions in the interface).
Visualization Modes §
§
Normal Mode: The normal mode gives access to all available options. Simple Mode: The simple mode is a mode in which the incident management is limited to visualize the list, add workunits and files. The users with the IW flag but without flag IM by default can't select the incident creator, to enable this option you should go to the general configuration and select the box Enable IW to change creator. Inventory Bit of access
VR
It allows to have access to the Inventory objects section and see their information according to the following conditions:
§
Where the user is ownerEn los que el usuario sea el dueño Pag 56 §
§
§
VW
Users in Integria Those of Public type If it has company associated, by the users assigned to that company If the user is associated to
It allows to create new inventory objects and edit the already existing ones.
It allows: VM
§
§
§
Administrator User
Delete inventory objects Manage inventory types Manage SLAs
It can do all the previous actions without restrictions (depending on the availability of that ones in the interface).
Wiki The Wiki reading and writing permissions are defined in each one of the pages of it. By default, all pages are accessible and editable by all users. You can see how to modify these permissions in the section Wiki rights management CRM The CRM has a very special way of working, where it doesn't take into account the groups,but only the company to which the user belongs to and the profiles that it has in any of the groups. The main method of access will be the relationship parent/child between companies. So, if one has access to one company, it has access to all companies "child". Except the external user that can only see their own things. In the Open version, the external user sees only his own issues and if it isn't external, he can see all. In the Enterprise version it will see the issues of his company and the child (and grandchildren, etc) of its company. Companies The basic flags for the company management are these: Pag 57 Users in Integria Bit de acceso
CR
It allows to see the information of the companies to which it has access to.
CW
It allows to edit the companies to which it has access to.
CM
It allows to delete companies to which it has access to.
An user has access to one company if is associated to User with access to this, is the owner or also if it that company is child of one company
other to which the user has access to.
he has access only to the company to which it is associated to
External user
Administrator user He can do all actions in any company.
In the Company ACLs system the permissions are inherited from the parent companies. That is, if an user can modify the parent company he could also modify the child company Roles Access Bit
CM
It allows to create them.
User with access
He will only has access if it has assigned the CM profile.
Administrator user He can have access to the roles of any company.
Invoices Access Bit
CM
It allows to see and modify the company invoices.
User with access to a company If he is the owner of the company or has invoices
assigned the CM profile.
Administrator User
He can have access to the invoices of any company.
Pag 58 Users in Integria Contacts, Files, Leads, Activities, Contracts Access Bit
CR
It allows to see the information of the items to which it has access to.
CW
It allows to delete the items to which it has access to
CM
It allows to edit the items to which it has access to.
An user has access to the contacts, files, activities, etc of one User with access company if he is associated to it, is the owner, or also if this company is child of other to which the user has access to.
Administration He can do all actions in any company.
user
Pag 59 Incident Management 5. Incident Management Integria IMS suggests an incident management based on change management. This means that an incident is no other thing than an specific operation based on an object, where several people are involved. An incident can be seen as a technical problem, as a configuration change operation, as the result of a planned intervention, as a software bug or as a working file on a more complicated problem. Some common elements link all these activities. For Integria IMS these common elements are the references for another incidents, the references to one or several inventory objects, and the unique link of an user with an incident. All these concepts are kept in the good practices guide proposed by ITIL. [1]. Besides, Integria adapts very well to the Kanban methodology [2] that allows to manage the development as an evolutive process based in process queues.In order to implement Kanban, it is necessary to integrate the incident management with the Work Orders and the project management. Example of Ticketing flow with Integria
Our support team is made up by three people (Tomas, Javi, Luis) and one team "manager" (Ramon). We have several kinds of clients. The ones that work in teams and the ones that "go alone". Pag 60 Incident Management The ones who work "in team", that is, a client that has several people working at the same time and that could "see" the incidents of his colleagues, either for contributing with something or to take them in charge. The ones who operates " alone" only see what is from themselves and don't want that others could see what is theirs. The first kind of client will have its own group and users assigned to that group,whereas the second kind of client belongs to a "general" group and will have the bit of "external mode" enabled, so although it belongs to one group it will only can see what is "His". This kind of users works on a "general" object, for example "Support contract", so all the incidents are assigned to that inventory object, whereas the other ones work on their own inventory objects, usually associated to one company, that will be their company. When a client that belongs to the ones that work in group opens an incident, automatically a Integria generic account called "Support" will be assigned to him, generating an email that goes to "[email protected]". This email account, Integria will send automatically a copy for each of the support team members. This week, "Javi" is on duty, so he read the mail and click on the link to go to Integria. He will see something like this: Pag 61 Incident Management On Integria, he will see a new incident, in red color. He also has an "opened" incident (in process, in yellow color), which already is assigned to Javi, but the last workunit or "note" is from the people which actually created the incident (the customer). You can see because it's on bold color, and the name of the user is Julio. In the "flags" column, you can also see the "talk globe" icon, that means, the incident has beeen updated by the customer (or the creator of incident), and the owner must reply ASAP. When a new incident is received, like the incident in red color, you can add the first reply and automatically, the incident will be assigned to the user which add the first Workunit. This status change takes the name of "assigned" status. Doing click in the incident in red, we go to the main incident management screen. We can change its status, or use the different tabs on the incident to see it's history, notes/workunits added to the incident, download/view the files attached to it, etc. We really want to response the incident as soon as possible, because the first response to the incident is used to check how much time is taken between the incident creation and first response. If the time range stablished by the SLA associated to the group of this incident expired, then an alarm will be fired. When you add a workunit or a file, it's status is changed, all users involved in the incident will receive an email. In this case, "Java" is going to add a note with says "I see what your problem is, I'm gonna try to reproduce it to learn more about what the source can be". Pag 62 Incident Management When the workunit is created, the incident change the status. The creator of the incident will receive the note Javi is entered in the system. Days passes, and the problem persists. Julio, the client that created the incident, asked again about the issue. But that day Javi is not in the office. A colleague, Louis, in charge of the incident, see that the incidence is updated by the client, and replied, adding a unit of work himself. From that time, the incidence is subscribed to, receiving all notifications on changes in incidence. We can see in the left menu, users involved in the incident: the creator, the user "owns" the incidence (javi), and those involved in it. Pag 63 Incident Management A user without "management" permissions in the ticketing system, but with "write" permissions, can add workunits, but he can not "change" the owner of the incident, or close it, unless it's his own incident (assigned to him). If he is a "manager" of incidents for that group, he can change the owner of the incident. If the user owns the incidence, can "reasign" it to another person. This process is known as incident escalation. Finally, Javi could close the incident, put in the "Epilogue" the summary about what was the solution to the problem, and change the status to "Resolved". So, the incidents "resolved" or "closed" and not visible in the default incident listing, but of course, you can search it if desired by selecting "closed incident" in the right filter/search option. Incidents status
An incident has several fields. Probably the more important one is the status field. This field refers to if an incident/problem/change is consider as closed, pending on a third person, new, or just created. If it's assigned or if it's reopened, if it is verified or if it isn't confirmed. This cycle is open to the user and you can pass from one to other without problem. There are some circumstances that act automatically when we go from one status to another. Pag 64 Incident Management Incident status workflow If you change from any state to the «closed» status, then a text box called «epilogue» that wasn't accessible before will appear. It is useful to explain what was the result of the intervention or change or what was the cause of the problem and its solution. As we will see after, a solved incident is the base for generating an article in the knowledge base that will be useful at other times or will solve a problem in a fast an documented way. Kinds of Users in an Incident
There are five different roles in one incident: 1.
2.
3.
4.
5.
6.
7.
Incident creator incident owner User with writing access (IW) User with reading access (IR) User with management access (IM) User with management access (IM) User closes an incident Incident creator
Is the incident original creator. He decides who is the responsible for this incident, the group this incident belongs to and other parameters such as its criticity, resolution level, description, inventory elements that are linked with it, etc. The original creator, once an incident has been created, can't "manage" it , this is, can't close it until that the user that is in charge of the incident decides to do this. It couldn't reopen it. As any other user with access to the incident, the creator user could add files and WU. People in charge of the incident
Is the user assigned to the incident. When the different groups are defined, then, a default user is asigned. The incident creator can change this user and select other that belongs to his group. The user in charge of the incident is the only one who can update its details and change its state. The user with incident management permission (IM) on the incident group can do the same Pag 65 Incident Management tasks that an person in charge. He can modify incident data, change the person in charge, change the state of any incident that belongs to a group where it has a profile with IMoption. User with Writing Access to the Incident
The incident always belong to one group. All users with the access flag "IW" could write WU (Work units) on an incident. These WU are like "Notes" that are linked to the incident. These kind of user could't modify any other detail of the incident, such as status, criticity, nor changing the incident main description User with Reading Access to the Incident
Any user that belongs to the work team of an incident and has the access flag "IR" could read the incident details but he couldn't change anything, nor add a WU or file. User with Management access to the Incident
An user with th IM access bit on the group to which an incident belongs can work with it as it would be its owner. This means that it can escalate the incident keeping it for itself or to another user. Of course you can add WU or files or even close the incident. User closes an Incident
User responsible for the closure of the incident, which may be different from the user running the action. Diferentes personas en un incidente User assigned to an incident
It could be anyone "external" to the system. You should write his email in the advanced field " Additional email addresses", if there are several ones, they Pag 66 Incident Management should be separated by commas. If that email is part of the system (in the contact system) some of their data will be visualized, like for example their name or company, or if not, only his email. In the tab "Contacts" we can see the complete list of the people that works on one incident. First Steps with an Incident
Types of Incidents
It is possible to assign a type to an incident. Each type of incident can have associated customized fields if necessary. These fields can be of three types: Text, combo or text area. If you select the combo, you should specify the values that this control will have. Next we can see an example of type creation: Now we create a customized field associated to the previous type: Pag 67 Incident Management The fields selected with the check "Show in general view" are fields that could be used in searches and that are shown in the list visualization. In the fields type text area it is not possible to use this box. General View Incident Creation
Create an incident is not so simple. To reach this step we should have been able to configure and understand the following aspects: Pag 68 §
§
§
Incident Management What is an user in Integria. § Type of user (External, Normal) What is a group in Integria § What relation has the group with the visibility of this user with the rest of items in Integria § What relation is between the group, the profile of access of the user and the type of user that it is (external, normal). The inventory: § Contract § SLA Once all these concepts are clear, create an incident will be very simple. You should consider-­‐" as a review" -­‐that the following features change the performance of Integria when you create an incident: §
Type of user External: External users will only could see their own reports, so the concept of group, profile, etc, is not so important for this type of users. The external users can't change some features of the incident that are configured by default, such as assigned user, or object by default, because they are associated to the group. §
Type of user Normal: Same as with the previous one, they can't change some features of the incident that are configured by default, as for example the assigned user of default object, because the are associated to the group. However an user with "Management" profiles (IM) could change here the incident status, or even fields as the "original creator" (so it will not be the same) or other things. By default a new incident, just created, is in "New" status. There are some fields, assigned automatically with "Disabled SLA" or "Automatic Notification by email", that in principle come associated to the values that this group has by default (the group to which the incident has been assigned to). These values, if you have management permissions (IM) could be changed. On the contrary, they will come by default. Incident limitation When an incident is created, there are two values defined in one group, as we saw in the Users and group section. These two values, define how many incidents of one group could be (opened or closed) for each user (in total) and how many incidents could be opened (in not closed status) for one specific user of this group. A reminder of where this performance is configured: Pag 69 Incident Management If these values are exceeded, a warning window will be shown in Integria and we will not could create the incident, as we can see in this screenshot: The limit of incidents is calculated counting the number of incidents of the last year from the current data. View of a normal user when creating an incident Pag 70 Incident Management View of a manager when creating (or modifying) an incident: First task with the incident: Creation of the first WU
Pag 71 Incident Management The incident has been created by an user (let's name him A) and assigned to other user (B). So, now, what? When the incident was created, the system sent an email to the user A and other to the user B informing about the creation of an incident. For user A, this message is useful to confirm that the incident has been registered by the system. The user B, can answer this email, which has an special code and send his first WU, something like "I have received the incident". He can also connect to the system, with the URL given in order to could add manually a WU to the incident. In the moment that the incident in "New" status gets a WU, automatically its status is changed to "Assigned", that is a way to say that "someone has started to work" with the incident. Dashboard (Main View)
The Dashboard is a view that allows to see at a glance the incidents grouped in different ways and have direct access to the customized searches that we have created. Search View
Pag 72 Incident Management The incident search is the basic tool and the default screen when you click on Incidents, in the main menu. It is possible to use the basic search view to find the incidents that we want, or go directly to incident number in the menu on the left. The default searches show all incidents not closed and not solved. The searches are a list and a basic statistic information on the results of this search. They could be visualized, in a full screen, ready to print using the button of generate HTML report view in tab "Statistics". The advanced search is similar to the basic search, but it adds some more filter controls. Any search can be saved as customized search, so as with the combo of customized searches selection you can have access to any previous search that has been saved. The customized searches are different for each user. Pag 73 Incident Management Clicking on an incident you can have access to all details of it. This will activate the upper tabs in the incident section and we could visualize them in detail, visualize teh inventory of objects associated to the incident, review the changes, add workunits, etc. The environment is based on AJAX so don't need to «refresh» the page. We can also return to the search page and go to another incident. All columns from the incident search view are auto-­‐orderable when clicking on the title. They can be ordered by date, title, assigned workunits, group, status, etc. Lets see the information that each row of the incident list shows: §
ID: The first column refers to the incident numeric code. It can be used to go directly to this specific incident. §
SLA: In the previous screenshot there isn't any incident with the SLA "alerted", in the screenshot showed below there is the exclamation sign to refer to the incident that doesn't fulfill the SLA. Pag 74 Incident Management §
Incident: Is the incident title. Below it is shown the type of incident and between brackets the customized fields of the type of incident selected to be shown in the mail view. §
Group: Group to which the incident belongs to. Bellow is shown the company (if this information exists) of the user that created the incident. §
Status / Resolution : The status (closed, assigned, pending to close, new, solved and without confirmation) and the resolution (Solved, not completed, "it works for me", expired, etc). §
Priority: Color depending on the ticket criticality. It can be showed optionally as in this screenshot like a sandwich icon below the color. This shows that the incident has a WU by the original creator of the incident, which means that " we should answer" or that "the ball is in our court". §
Updated/ Created : Shows when the last incident was updated and when it was created. If a name of user is shown is the name of the person who created the last workunit (note) in the incident. §
Creator: Shows the incident creator. §
Owner: Shows the name of the user assigned to the incident, the owner and the only user that can closed it (except the users with more privileges-­‐managers). Incident Statistics/General Report
When selecting (first flap of the incident view) a search, a general report it's being configured a general report with the parameters of this view. If you click on the statistics flap, you'll see several predefined statistical elements, using the search that you have defined in the first flap. The addition of the list and the incident statistics are considered a technical or detailed report of the incidents. It's possible to generate a report in the screen ready to print pressing on the button «HTML report» in the right corner below, on the incident search view. This report is ready to print from your browser. You can also download in PDF. Pag 75 Incident Management Pag 76 Incident Management Operation on the Incident
Once that an incident has been selected (or after creating it). We can operate either with the upper tabs or with the lower oner. The upper tabs give access to the incident edition, or see/add attachments or notes. We can also return to the search. In the lower part, we can browse by the tabs that shows the incident notes, the files, the incident statistics, the detailed trackin and the contacts of the active incident. Pag 77 Incident Management Here we can see chronologically ordered from the newest to oldest, the notes generated by the different users. We can add a note directly from here. Same as in the note part (workunits) we can see the attached files,download them and upload the ones that we want. Pag 78 Incident Management This is the detailed view of one incident, that shows the total times, the time that has been in each status and the time employed by each person implied in the incident, among other details. Finally, here you can see the details of the people implied in this incident. Customized Incident Searches
Pag 79 Incident Management An incident is a generic concept, like the word "ticket", but this could be applied to a software failure (a bug), to a problem in communications, or to a problem of a client with an order. In one case it will have a serial of "customized" fields, and in another case, it will have another one. So, the possibility to define types of incidents allows this flexibility. In the same system we can work with different types of incidents. It is possible to search all the customized fields, and save them in a customized search, when selecting the type of incident in the search. It is also possible to change the type of an already created incident, optionally, so there is a box in the setup to define this performance. If we do this, we will lost the value that the customized fields of the previous type had. SLA Management
The SLA is the way to "check" if the incident management works right. SLA are processed periodically in Integria, using the scheduled task programmed when you install Integria. The SLA is processed with several parameters: Pag 80 Incident Management §
Name: Is the text that will appear in the selection combo to identify the SLA. §
Enforced: It does that the SLA send the emails where it's not fulfilled (enforced) or that only notify with a light sign. §
Base SLA : Shows the the SLA is related with another (only in at informative level) §
Max. Response Time: Shows in hours the minimum response time you should observe between for one notification (new incident or WU) of the incident creator. After this time, the SLA will be fired. For example, if it's for 4 hours, and a new incident has been for 4.1 hours, the SLA will be fired. For example, if it's an old incident (1 week) and the last WU is from the incident creator and it has more than 4 hours, it will also fire the incident. §
Max. Resolution time: Shows in hours, the maximum life time of one incident. If an incident is older that this and it's not closed or solved, then the SLA will be fired. §
Max. Inactivity time: Shows in hours, the maximum time an incident could be without update. §
Max.Nº of incidents simultaneously opened: Shows the total nº of incidents that could be simultaneously opened. If there are more, then the SLA will be fired. §
Starting time to activate SLA: Time from which the SLA begins to calculate(e.g:9 a.m). §
End time for SLA: Time from the SLA will be not not calculated (e.g:18 hr). §
Disable SLA at weekends: If this option is enabled, the SLA will be only calculated the days of the week, the weekends will be excluded. §
Disable SLA during holidays: If this option is enabled, the SLA will not be calculated the days that are defined as holidays. §
Description: Informative text to describe the SLA. What "The SLA will be fired" means ? Pag 81 Incident Management It means that the system will send an notification by email to the incident owner, notifying that an incident doesn't fulfill the requisites fixed in the SLA to the incident implicated. One incident could be subject to different SLA simultaneously. If it is associated to different inventory objets, and these inventory objects are linked to different contracts, and these contracts are subject to different SLAs. When a SLA is fired, a light sign will be shown in the incident view. See an example of SLA definition: Incident evaluation on SLA Using the SLA system, and the report of "tracking" an incident, we can see, on a scale of time, when the incidence has not compliance with an incidence (red) and when he met (in green). In addition to an indicator% compliance of incidence throughout the lifespan. Pag 82 Incident Management Creation of Incidents through a Web form
Through Integria IMS API REST it is possible to create new incidents. We use this functionality to develop a customized form that allow us to register new incidents in the system. The following PHP code creates a form and collects the data sent by the form. With these data it composes a call to the Integria IMS API that creates a new incident. <?php //Config parameters $integria_url = "http://192.168.70.163/integria"; $user =
"api_user"; $group = 12; $priority = 3; $inventory = 11; //Get post parameters $title =
$_POST["title"]; $description = $_POST["description"]; //Create url to call the API $myurl =
$integria_url."/include/api.php?user=".$user."&op=create_incident&params=".urlencode($title)."
,".urlencode($group).","; $myurl .=
urlencode($priority).",".urlencode($description).",".urlencode($inventory); // Configure curl
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $myurl); curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // Send curl request and close $ret =
curl_exec($ch); curl_close ($ch); ?> <h2>Integria IMS Incidents form</h2> <form
method="post"> Title: <input type="text" name="title" size="35" > <br> <br> Description: <br>
<textarea name="description" cols="50" rows="8"></textarea> <br> <br> <input type="submit"
name="submit" value="Submit"> </form>
The resulting form will be like this one: Pag 83 Incident Management Next we comment the part of the code. The two first variables define the url where Integria IMS is hosted and the user that has permissions to use the API functions. //Config parameters $integria_url = "http://192.168.70.163/integria"; $user = "api_user";
The following variables configure general options of the incidents, in this case the group, the priority and the associated inventory object. We should use the IDs to identify the different elements. $group = 12; $priority = 3; $inventory = 11;
Then you create a text string with the url we use to create leads by Integria API. Besides server address and user parameters, we configure 'op' with the value 'create_incident', that select the API function to use, and 'params' is filled with the function parameters. $myurl =
$integria_url."/include/api.php?user=".$user."&op=create_incident&params=".urlencode($title)."
,".urlencode($group).","; $myurl .=
urlencode($priority).",".urlencode($description).",".urlencode($inventory);
This is an example of the URL output: Pag 84 Incident Management http://192.168.70.163/integria/include/api.php?user=api_user&op=create_incident&params=Error+i
n+Linux+server+disk+usage,12,3,The+monitoring+information+about+disk+usage+is+wrong.+Please+ch
eck+it+to+ensure+the+data+is+collected+properly.,11
This sample, is a call to CURL from PHP to make the API function call. // Configure curl $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $myurl); curl_setopt($ch,
CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // Send curl request and
close $ret = curl_exec($ch); curl_close ($ch);
If we send a form with the following information: It will create an incident within the system with the form data, resulting something like this: Pag 85 Incident Management Managing incidents using email
Integria allows you to create and update incidents through emails. This feature made easy the incident management using a common email client. To be able to use this feature you need to configure the email parameters following the section E-­‐mail configuration. Depending on the email application used, format of the mails could be different. Mail management has been tested using following mail clients: Evolution, GMail, Outlook y Mail (mac) Incident and workunit creation using mail, uses the same ACL's present in the GUI Pag 86 Incident Management Incident mail management is based on a queue system. These queues are configured for each one of the groups configured in the system. You can see how to configure the mail queues for each group in the group mail queue management. Incident management email works as follows: Lets suppose you have a special email address to manage incoming support mails: [email protected], and you have setup the 'mail queue' parameter with this address ([email protected]). We will expect to receive an email on [email protected] with these contents: §
§
§
§
§
§
From: [email protected] To: [email protected], [email protected] CC: [email protected], [email protected] Subject: Another problem with the servers Body: We are having a big problem with our servers! Attachment: screen1.png, screen2.png 1. Once the email is in the [email protected] inbos, system will check if its check against any mail queue configured. 1. If there is not any queue configured, mail is dropped. 2. If a queue mail is found, we use the default parameters in this mail queue to manage the ticket. 2. On this point, Integria will processing the mail, and two things may happen: 1. Email doesnt match any real incident. In this case, a new one will be created. 2. Email match with a current incident, a new workunit (note) will be added to the incident, and the incident will be updated. 3. When an incident is created, system will use following parameters: §
§
§
§
§
§
§
Creator: That will be the user associated with the from address. If the user doesn't exist, a new one will be created, using the configuration parameters defined in the mail queue detected. Editor: same as creator. Group: mail queue's group. Owner: default users defined in the group. Title: subject on the email. Description: contents on the email. Pag 87 §
§
Incident Management Mail notifications: system will add all CC fields, and TO field what will not match on the mail address matching with the mail queue. In this sample, system will add: [email protected], [email protected], [email protected] Attachments: any attached file in the mail, will be added to the incident. This schema explains the management workflow on the mail queue: Create a new incident using email
To create a new incident through email just send an email to the configured mailbox using the from address of an existing user in Integria. The parameters must be: §
From: <email address of Integria's user> Pag 88 §
§
§
Incident Management To: <mailbox configured to use POP> Subject: NEW <incident title> Body: <incident description> An example to create a new incident would be: §
§
§
§
From: [email protected] To: [email protected] Subject: NEW My test incidents Body: Incident description This email will create an incident as in the following image: To add a new workunit
If you have the incident email system enabled you will receive emails with all changes occurred in your incidents. Pag 89 Incident Management Some of this emails has the ticket ID attached, answering these emails you could create new workunits in the incident affected. To add a new workunit just answer this email adding the workunit content in the email body. The result will appear in a new workunit in the incident. If for example you answer the email with this text in the body "Thanks. Please close the incident all its ok. Darío" the following workunit will appear. Incident Update and Workunit customization
Integria allows to modify incidents by email. To do this, it is necessary to add the following structure in the email: Pag 90 Incident Management [INCIDENT] GROUP: IT ASSIGNED_TO: dario PRIORITY: 3 STATUS: Assigned RESOLUTION: Invalid
[INCIDENT]
The fields and their possible values are the following: §
§
§
§
§
GROUP: Name of the group to which you want to change the incident. ASSIGNED_TO: Short name of the user to whom the incident belongs to. It is the name with which the user will enter in Integria. PRIORITY: Priority to which the incident will be changed to. The priority is a number between 0 (lower) and 5 (higher) STATUS: Name of the status to which the incident will be changed to. The name of status is defined in the general configuration Incident tab RESOLUTION: Name of the resolution to which the incident will be changed to. It is also possible to modify some of the parameters in the creation of the workunit using the following structure in the email body: [WORKUNIT] TIME_USED: 0.05 [WORKUNIT]
The fields and their possible values are the following: §
TIME_USED: Time spent on the workunit. It is a decimal number separated by points. By default, the value of this parameter is 0.25 hours. The structures previously described to modify the incident or customize the workunit will not be reflected in the incident information in the application It is very important to check the correct syntax of the previous structures, because an error in the headers or in the parameters will result in an incorrect detection of the policies and because of these the changes will be not applied. In this case they will be treated as any other text and they will Pag 91 Incident Management be showed in the workunit information in the application Mask email addresses workunits
It is possible that when you create a workunit by email, it shows in the message body some email address as result of using the function answer to all or by any other reason. If you consider that this information is sensitive for your company and that it shouldn't be shown in the workunits, Integria allows to mask the address emails, in order you will know that if there was an email address, but you will not be able to guess which was it. You can configure this option in the application general configuration Incident tab by clicking the flag Masking email addresses. When this flag is enabled, Integria replace all email addresses by the following wildcard email address [email protected] Pag 92 Project management system 6. Project management system Integria IMS has a dynamic project management that includes planning, tracking and reporting from users. In this way it's possible not only to plan ( time, costs) but also to see the evolution in time thanks to hour imputation of the people working at projects (that could be hours or days depending on the detail level that you want) and specifically assigned to each project task. Gantt diagrams, cost estimation, automatic warning notifications of milestones and task closing etc, are automatic actions of the system that fed from all users introduced data throughout time. Projects and Tasks
An Integria IMS project is a task container with start and end data. Projects are grouped in project groups . For example: Development projects, billable projects, internal management projects, etc. A project is internally composed by tasks. These tasks could also contain other tasks (so as start-­‐to-­‐end links could be defined between them and build a hierarchy that will be reflected in a gantt diagram in the end) Pag 93 Project management system Tasks can (optionally) contain both Incidents associated and Work-­‐Orders that represent a decomposition of the task in different work packages for one person (assigned to only one person). This allow to see in a single view in which pieces a task is made of, both in planned work (Work orders) and in a non planned work (incidents). Roles assignment
As in any other Integria feature, in the Enterprise version there is a complex ACL system that allows Integria to differentiate who can see some specific things and which level of access he has to them. In project management, the Pag 94 Project management system access system is completely granular and allows the definition of only one project manager who is the only one that can create tasks and assign roles in the project. In this way, he can define a pool of people (and their roles) in each project. These people can be participant of several groups and the person responsible of this project will be the one who decides which roles they will have in the project. In each task is possible to associate one or several sub-­‐
managers of additional project that can also create tasks, include people, etc. These users should have the project manager role. Individually, by task, these roles can be fixed, so not all the participants in a project could be in the same tasks. The participants of a task can have permissions to modify some parameters of this task (The progress level, the task description) or be simple users with this task assigned, so they could only visualize it and report work and costs to it. With the "pool" of people assigned to a project, in each task will be selected after, from the ones available at a project level, the ones assigned for each task. By default all the available users are assigned. New tasks creation
Pag 95 Project management system If you want to define a task, this would be defined within a begin/end temporary limit, and also with a criticality or priority for it. Resources (people) will be assigned to it and also objective cost and time resources (in hours). This is the approach or planning for the task. From here and with the imputation of hours to this task that users assigned to it would do, we could know deviations in time, costs and plannig on resources hours/person. Integria will automatically generate these rates that can be check in real time. The first step is to create a task. We couldn't assign resources, add files, assign work units, etc, if we haven't created the task. Once the task is created, next step is to assign resources (people) to this task. Tasks and costs
Each task costs are calculated in base on each profile costs (hours/employee) and on assigned additional costs (cost invoices, additional costs or any other way) that is directly assigned to the task (and therefore to the project). This Pag 96 Project management system cost management by profile ( called rol in Integria as to differenciate it from the application user profiles) is defined on the Users -­‐> Role section Task assigned to a project can be visualized as a table and this one shows the task and its priority. If one task depends on other, a graph will appear with hour stimation and real assigned hours, real time spent, each task cost per hour, the number and list of people assigned to that task, the beggining and end of the task etc. Tasks and projects deletion
The projects go to deactivate state, keeping all info they contain. A deactivated project can be erased and also all work units that it contains that turn into "orphans" and that aren't asssigned to any project or task but they remain. In order to deactivate a project, you have only to press the button that has a red cross at general project view righ side. This project will go authomatically to deactivated projects view. These projects dont notify authomatically neither the task, project or milestone closing. These projecs can be activated from deactivate project view. To get access to this view go to projects menu -­‐> deactivated projects. A deactivated project can be deleted , but this task must be done carefully, because it DOESN'T delete the work units assigned to this project but the info Pag 97 Project management system of all the tasks associated to this project. "Orphan" units remain, but they couldn't be related with an specific task or project Project management using Task Planning
Task planning is an agile task manager tool. Its possible to crete and delete task, to modify the owner and task status with a few clicks. Furthermore if offers statistics such as: number of task per each status, hours worked by employee and task assigned to each employeee. Pag 98 Project management system To update the task information you can perform all changes you want and then click on Update button to save it. If the task has several employees assigned and you want to change this field you must go to detailed edition view by clicking in the wrench icon in the right column. To delete a task you can use the cross button in the right column. The task status colors and name has the following meaning: §
§
§
§
Pending (white): Between 0% and 39% In progress (yellow): Between 40% and 89% Complete (blue): Between 90% and 99% Verified (green): 100% To add a new task just click on Add task it will display a form, now fill the fields and click on Create. Reports and results
Time Map Projects by person
Pag 99 Project management system This option allow us to see in a visual way, for an specific person, in an specific interval, in which projects has he dedicated time and show it in a scale. Project Overview
It is the main view of one project. From here we can edit some general details of the project and see a global report about the project status.This report, as many others, can be visualize in PDF clicking in the PDF icon at the right of the title. Pag 100 Project management system Task Scheduler
Shows graphs of load distribution of tasks by user and allows to edit in a quick way all the tasks of one project, and also to add or delete them. Pag 101 Project management system Time Map
Similar to the project of time by person/project, this graphs represent the imputation of times of each user by task in this project, in a proportional way an in scale.It is interactive and allows, by positioning the mouse, get more information. Pag 102 Project management system Interactive Gantt Diagram
It shows the project information, merging the real imputation (in red), with the task progress (in green) and the original planning (blue). It shows dependencies and milestones. Pag 103 Project management system Task Overview
It shows the specific information of a task:Its progress in time, assigned hours, assigned hours with cost, real cost (based in the assignation of the people that work in it, and its cost per hour). It allows to define a start/end date or a total amount of hours (to reflect the number of people that works in it). It is also possible to define that the progress of the task will be reflected depending on the % of assigned hours with regard to the total of scheduled hours. Pag 104 Project management system Detail of Hour Assignation
The detail of assignations of total hours (and by task) of each person shows the action of each user, in the date that it was done, the description, the task or subtask and a set of attributes that are shown as icons. + The project manager can "certificate" a WU, so the user will not could to modify or delete it. The person that reports this work unit can see this work unit, modify it (if it is not certificate) and delete it. Pag 105 Project management system Creation of New Work Units
The creation of a WU allows to fulfill a set of fields that are simple (description, number of hours worked in the work unit, assigned profile, etc). In addition to these fields there are some checks that allows to "divide" the work unit in blocks of x hours (by default 8 hours) and distribute this time in different Work Units (WU) through the time (forward or backward, depending on what you select) with the same content that the original, excepting by the date. It is the suitable way to "fulfill" the hours to complete the holiday schedule, for example. The work units of a project can be created from the contextual menu of the task where you want to add the work unit (Project -­‐> Select project -­‐> Select task-­‐> Add work unit). Or it is also possible to do it in a general way from the user view (Users-­‐> Add spare work units).The only way to add work hours in the three special assumptions that Integria IMS consider is from the user view (Add spare work units): §
§
§
Holidays Not working due to illness Not justified Pag 106 Project management system These concepts correspond to special task in an special project that is computed in a different way. The work units can be created one by one or in blocks to make it easier and in order to could visualize all of them before uploading them to the system. Pag 107 Project management system Task Attached Files
The Integria IMS task manager allows to attach files to the tasks. These files are stored in the server and the will be kept in the attachments directory. It is possible to upload as many files as you want (there is not quota manager o maximum storage). All the uploaded files will be accessible by users with reading permissions of the task. Move Task
It is possible to move the task from one project to another one. To do this, browse by the project tree, find the project and the task that you want to move. Once there, select the option of moving task and select the destination project. If what you want is to change the parent task, edit the properties of it and change the parent. The WU of the task are associated to the task, so if this task changes project or parent task, it doesn't matter, because the WU are always associated to the task, to to the project. Task Report
Integria IMS has an option to send an automatic report about the task an its current status to all the task members. Select Project -­‐> Task -­‐> Task report to have access to this tool. Pag 108 Project management system The task report will automatically generate a text that you can modify or customize. If you click on the send button, it will generate an email automatically and it will send to each one of the people that work in that task. Task Tracking
Integria IMS does a tracking of almost all information sections or items that are susceptible to changes. In the case o the task it register all the operations of opening, closing , change and addition of information; either in the form of Workunit or in the form of attached file. Pag 109 Project management system General Tracking Reports
Though the general tracking reports visualize also the incident information (ticketing), they are very useful to do the personal tracking of activity on projects. The comprehensive report allows to do a detailed traceability of the activity of one person, in a range of dates. This way, we can know which task has he done, how many time has he spent on them, and we can "see the detail" of each one of them, listing the work units reported to each task/subtask, at the maximum level of detail. This report can also visualize in "full screen" which allow us to print it directly from the browser (or generate a PDF with the browser). When you select an user, you can select a date range. This will show the list of projects/tasks on which the work hours has been assigned. It shows the assigned hours by this person in this interval an then compares with the hours assigned in TOTAL by all people in that task. Pag 110 Project management system The same information is show a bit further down in graph format. If we click on any of the task shown, you can see the detailed report, in this period of time, for this user and for this task. This detailed information could Pag 111 Project management system be edited if we are administrators. If the workunits have been already validated, nobody can modify them except the administrator or its team manager. Work Orders
The work orders allow to manage the different tasks that arise in the daily work and that are not necessarily associated to a project. Besides, it is a quick and easy way to assign tasks that don't need to be scheduled, because it allows to assign an user to be in charge of doing the work unit Email Notifications
Pag 112 Project management system Integria work orders offers the possibility of sending to the parties concerned email notifications when any change occurs (creation, modification, new note, etc) in the work order. This feature is optional and is configured activating the flag "email notifications" that is available in each one of the work orders. You can see how to configure this feature in the section Email configuration. You will be able to distinguish in an easy way the emails that come from work orders that they already have, in the content of the issue, something like this: [WO#9/e06b9/admin] [Integria IMS - the ITIL Management System] NEW WO #9 Test send note by
email
Creation of Notes by email
It is possible to add a new note to a work order using the email. This Enterprise functionality" allows to add a new note simply by answering to the email associated to the work order. Global Task Assignation
Pag 113 Project management system The section Global Task Assignation allows to see the task that an specific user has assigned, his role in the task, the work units that he has assigned and the task total work units. Besides, from here we can assign to this user, in a quick way ("as a whole") specific tasks. This section is specially useful for administrators. In it they could see if an user has assigned task that he shouldn't have, either in a global way or seeing that the user had not assign any hour in the task. Or also confirm that the user role in this task is the right one. Here we can "remove" an user from a task with just one click. Pag 114 Customer Relationship Management (CRM) 7. Customer Relationship Management (CRM) The customer management can be done with Integria IMS: Managing and maintaining a relational database with accounts (that term includes companies, organizations, companies), contacts (people), contracts, invoices and "recent activity" on a single account, all related betweem them. Closely related to this is the inventory, where inventory items linked through a contract, and this is linked to a company. Thus, it is possible to know when there is an incident, which company is related to the problem and what contacts, invoices, and recent business activity is on that account. The customer management model is therefore based on four elements: companies (or account), contact, contract and invoice. Companies / Accounts
Companies are at the "central" client management, store data about the company or organization. That is, the name, phone, role which has as a company and certain other information. Of particular relevance is the group to which he belongs, because only users belonging to Integria of that group can view data for that company. Company roles
Company roles are used to classify the companies into categories such as: partners, customers, manufacturers, resellers, potential customer, and so on. Contacts
Contacts are the people associated to a given company. We store in the contact information about the person, his phone, email address and of course company where he works. Sometimes we don't want to have a company for each single contact we have, because are "not deep relationship contacts", that means, we only want to keep it's personal data, but his company is not important at this time. This could be for example, to collect information for a mass-­‐mailing of after a fair, and we create a "fictional" company to group all people like that, for example: "Campaign CeBit 2012". If later, we stablish real commercial relationship with Pag 115 Customer Relationship Management (CRM) his company, we can create the company record, and reasign the contact to the real company. In the enterprise version, users only have access to a contact if they access to the company where the contact belongs. Contracts
Linked to a company, they take important data, like ammount ($$), start/endind date, and of course, company. Useful to search near ending contracts, or how big/small they are and other descriptive information. As with the contacts, Enterprise version allows to restrict what a specific user can view or not, in this case, the contract information. Invoices
Similar to the contracts, we use them to know if exists unpaid invoices, and to know how much is billed to a particular company. The system is used to manage the invoices ISSUED by us, this is, in any case is an ERP that serves to Pag 116 Customer Relationship Management (CRM) calculate cash cycles, non payments management or other characteristics that an ERP has got. The invoice management, that includes the invoice generation of invoices in PDF; is addressed from the point of view of Client management, not providers. In the Enterprise version there is the access control to the invoices of one company. Some people have access to them: the owner of the company and the users that have management profiles (CM). In the Open version, all people has access to the invoices. Invoices have several fields, the most important of them are: §
§
Invoice identification: Invoice number. It can't be duplicated with another invoice of the system. This system is only for invoices issued by our company, so it shouldn't be possible to have two invoices with the same ID. Reference: Usually to show an order number, purchase order or similar. It is optional. Pag 117 §
§
§
§
§
§
§
Customer Relationship Management (CRM) Invoice status: Status of the invoice: Pending of payment, paid or cancelled. Date of creation and effective date of payment. Concept: There are five lines, with five amounts. For each concept you should write the amount. Always without taxes, gross amounts. Taxes: Show the %, i.e: 21 for 21%. Currency: EUR by default. Description: Text that will be shown in the invoice, usually clarifying order data, adding more information (as for example the account number for the payment, etc). Attachment: If there is an invoice generated by other system and we want to save an image of the invoice original file, we can do it here, attaching a file. Pag 118 Customer Relationship Management (CRM) Invoice lock
It is possible to lock an invoice-­‐ with the padlock icon-­‐ so once it has been locked, it couldn't be modified. Only the person that locked the invoice could modify or delete it. Main view (Companies)
From this view, we can see almost all the relevant data, and make small searches or filters to view the desired information. In the next view can directly access the company data, or your contacts, contracts or invoices, clicking on the icons on the table: This is the detail view of the company, where we can update the data. Pag 119 Customer Relationship Management (CRM) Here we can see recent activity on this company (the latest is up). We can add more activity with ease. Pag 120 Customer Relationship Management (CRM) This is a list of current bills. Clicking on any of them can see the details or download the attachment of the bill. A user can access to a company information when it's the "manager" for that company, or it's assigned to a company "parent" of that company. The same access model is applied to all items belonging to a company (contracts, invoices, contacts...). This is only applied in the Enterprise version. Reports and listing
Pag 121 Customer Relationship Management (CRM) One of the most important parts of a customer database or a set of relationship management (CRM) is the possibility of getting listings data in a flexible and user-­‐defined. Integria has the ability to generate lists to download to PDF, HTML, CSV and also automatically scheduled with the programmer reports. In order to use this feature, you need to know SQL language or relying on external reporting engine like "Crystal Reports". The structure of the Integria database is in the file integria_db.sql in the main directory of Integria. Report builder is in the section "Personal". This is an example of creation and implementation of the report that displays all the contacts in a specific "account" which includes a newsletter generic contacts. Pag 122 Customer Relationship Management (CRM) There is a report scheduler that allows you to send these reports in PDF format via email. To do this you should create them first. There are predefined reports, like for example the incident report, that sends a report similar to the one generated in real time from the interface. In the future this scheduler could show Leads reports and also reports about the evolution of some specific project. Leads
Through the Integria lead management we can do a tracking of possible clients. Usually these leads enter in an "external" way (through API), thought they can also be created manually from the editor. Same as other items in Integria, a Lead has an "owner", that is the person who manages it. Pag 123 Customer Relationship Management (CRM) The system allows to write the activity of that lead and modify its status, so it progress from a lead "not classified" to a close window (or lost). The leads can forward (mail forward) or manage directly by email from the tool. If it is done from Integria, the sending will could be managed and the reception of responses of email, that will be showed in the lead tracking, because the have in CC the Integria address, in order this could "get" the lead response email. Creating a Lead through a Web form
Using the API WEBService (REST) of Integria IMS, it is possible to introduce the information of your leads in an automatic way in the tool. Next we are going to explain a short example about how to create an script to do this task. The following PHP code creates a form and collect the data sent by the form. With them it composes a call to the Integria IMS API that creates a new lead. <?php //Config parameters $integria_url = "http://192.168.70.163/integria"; $user =
"api_user"; //Get post parameters $name = $_POST["name"]; $email = $_POST["email"]; $company
= $_POST["company"]; $role = $_POST["role"]; $country = $_POST["country"]; $comments =
$_POST["comments"]; //Create url to call the API $myurl =
$integria_url."/include/api.php?user=".$user."&op=create_lead&params=".urlencode($name).",".ur
lencode($company).","; $myurl .=
urlencode($email).",".urlencode($country).",0,0,,,".urlencode($role).",,,".urlencode($comments
).",1,0"; // Configure curl $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $myurl);
curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // Send
curl request and close $ret = curl_exec($ch); curl_close ($ch);
?> <h2>Integria IMS Lead
form</h2> <form method="post"> Full name: <input type="text" name="name" size="35" > <br> <br>
E-mail: <input type="text" name="email" size="25" > <br> <br> Company: <input type="text"
name="company" size="30" > <br> <br> Position: <input type="text" name="role" size="30" > <br>
<br> Country: <input type="text" name="country" size="20" > <br> <br> Comments and questions:
<br> <textarea name="comment" cols="50" rows="8"></textarea> <br> <br> <input type="submit"
name="submit" value="Submit"> </form>
The resulting form is like this: Pag 124 Customer Relationship Management (CRM) Next we comment the code part. The two first variables define the url where Integria is hosted and the user that has permissions to use the API functions. //Config parameters $integria_url = "http://192.168.70.163/integria"; $user = "api_user";
The following assignations collect the values sent by the form and assign them to variables for future use. //Get post parameters $name = $_POST["name"]; $email = $_POST["email"]; $company =
$_POST["company"]; $role = $_POST["role"]; $country = $_POST["country"]; $comments =
$_POST["comments"];
Next will be created a text string with the url that we use in order to create the leads through the Integria IMS API. Besides the server address and the user, are created the parameters op with the value create_lead that shows the API function to use and params with the function parameters. //Create url to call the API $myurl =
$integria_url."/include/api.php?user=".$user."&op=create_lead&params=".urlencode($name).",".ur
lencode($company).","; $myurl .=
urlencode($email).",".urlencode($country).",0,0,,,".urlencode($role).",,,".urlencode($comments
).",1,0";
Pag 125 Customer Relationship Management (CRM) An example of the result of the resulting url could be the following: http://192.168.70.163/integria/include/api.php?user=api_user&op=create_lead&params=Dario,Artic
a+ST,Rodriguez,Spain,0,0,,,Developer,,,,1,0
Finally, the code makes a call to the Integria IMS API through the PHP CURL. // Configure curl $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $myurl); curl_setopt($ch,
CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // Send curl request and
close $ret = curl_exec($ch); curl_close ($ch);
If you send a form, like for example this: A new lead will be created, as you can see in the following screenshot: Pag 126 Customer Relationship Management (CRM) Leads Activity Management through Emails Integria IMS allows to manage the commercial activity of the leads through emails. This Enterprise functionality will allow you to update the conversation between the parts and upload files to the lead in an automatic way. To do this a mailbox is used so Integria will read the emails to get the information and the files. This feature is used through the option Response email that is available in the leads. With this option Integria will send an email adding a token of type [Lead#35] at the beginning of the email subject, besides, when sending the emails the reference box address will be added in the field Cc. This way, when a client or a salesperson response to this email, one copy will be sent to the reference box and Integria will identify the email and process it. To update the lead, the information of the email body will be added in the lead activity and the attached files will be uploaded to the server linking to the corresponding lead. Pag 127 Customer Relationship Management (CRM) It is very important that both your clients and the salesperson use the feature of Respond to all of your email client in order to warranty that an email copy will get to the reference box that is in the field Cc Campaigns
Campaigns allow to gather information about a promotional campaign of a product or service. Using the Newsletter and Leads functionalities you could verify the effectiveness of the campaign. A campaign is defined by the following parameters: §
§
§
§
Title:The campaign title. Start Date and End Date: Dates to define the duration of the campaign. Expenses: Total costs associated to the campaign. This field is used to make several calculations about the effectivity of the campaign. Description: Campaign description. With the data of the different sources Integria IMS will create the campaign report that you could see clicking on the Statistics button in the upper side, in the campaign view. Pag 128 Customer Relationship Management (CRM) This report has data about the state of sales associated to the campaign, an also the return on investment of the campaign itself. You could also see statistics about the effectivity of the newsletter and the leads conversion ratio To develop a campaign you need to complete two tasks: create leads from a customized form, which includes your campaign ID, and create a newsletter linked to this campaign. For both tasks, you need to have your Integria accessible from internet, to be able to use the API for Lead creation, and to access the transparent pixel used in the newsletter to know how many people opens the mail containing the newsletter Example of a Campaign Creation
The first step is to create a campaign with the duration and corresponding costs, as you can see in the previous section. Once that the campaign is defined, you could associate the corresponding Leads and the Newsletter editions that you want to the campaign.To associate them you will have to go to each one of the Newsletter leads and editions and select the chosen campaign in the field Campaign. Pag 129 Customer Relationship Management (CRM) You could associate the campaign to as many leads and edition of newsletter as you want. From the moment when you add the different leads and editions, it will be possible to visualize the result of the campaign through the report that will be updating in an automatic way depending on the variation of data from leads and newsletter editions associated. Pag 130 Customer Relationship Management (CRM) Pag 131 Inventory 8. Inventory The Inventory menu provides all the necessary elements to add all the item group the company has got, its location, its manufacturer, its support contract, the people and contact telephones, etc. The inventory items are a key piece of the ticketing system (incidents) because them allow to associate an incident to an asset related to the business. The Inventory allows to create type of inventory objects with customized fields. This way, the system adapts to all needs and allows to do searches with great detail level. Creation of a Type of Inventory Object
The types of inventory object are useful to customize the different elements that are going to be used in inventory. You can manage the type of objects clicking on the optionObject Types. We are going to explain the performance of the object types with an example, we are going to create an inventory object type called Software that will have the associated fields Version and Description. An inventory object type has associated a name, an icon, the minimum value that should have the stock and a description. Besides we could define if this type will be shown or not as root in the inventory tree view. For each type, it is possible to add customized fields. Pag 132 Inventory These fields could have an unique value that serves as identifier and they could be selected to be inherited by other objects. Another characteristic is that they could be selected to be shown in the search. This way, the visualization of the inventory in the search is also flexible. The customized fields could be of numeric, text, combo type or external type. The external type fields makes reference to an external table in the database. When they are created, you should detail the name of the table and the identifier field of it. Pag 133 Inventory When you select the value of these fields it will shown a modal screen showing all the external table information. To add an external table an using later in the inventory objects, you should only have to add the table that you want with the corresponding data in the Integria database. The maintenance of this table is done in a manual way, so you should have to operate with it through SQL sentences Pag 134 Inventory Creating an Inventory Object
In order to create a new inventory object you only have to click on the option Create inventory object from the left menu. Then you will see the following form with all the available options to configure the inventory object. The most important fields in this form are: Owner, Associated campaigns, Associated users and Public. These fields define who sees the object. This way the object will be accessible by the owner, by the users associated directly to the object or by the users that belongs to an associated company, besides if you select the tab Public , the object could be seen by everybody. An inventory object can have a "hierarchy" of objects (an object could be child of another). This is defined when you select a "parent". Besides of this relationship parent/child, it is also possible to set relationships between objects. Pag 135 Inventory The Integria IMS inventory has a simple control system of stocks. To manage the stock, all the inventory objects have an "status" field that allows to have a stock system. The possible status are: New, In use, Not used and removed.You can also register the date of reception and start and end data. Let's see an example of inventory object: The Associated tab shows the objects that are related with it. It is possible to associate new objects, so you only have to select it from the combo and link it as we show next. This way, it is possible to relate other objects besides the parent object. The contact tab shows the people associated to this inventory object. We can click on any of them to have a direct access to its information. The inventory object associated incidents tab shows which incidents have suffered this object and in which status are them. We can click on any of them to have access to its information directly. Pag 136 Inventory The tracking tab shows the changes that are made in the inventory object, as for example the change of owner, if an object type is associated, a parent object... Inventory Searches
The result of the inventory search could be visualized in two ways: Tree or list. In the tree view are shown the inventory objects grouped by type. It is also possible to visualize the stock, and it shows: Total unities: News: Not used: Minimum Stock. If the number of total unities is lower than the minimum stock, it will be marked in red. Pag 137 Inventory In the list mode view information about the inventory is shown, and also their customized fields that have been selected to be shown. Pag 138 Inventory The fields to do searches are these: §
§
§
§
§
Free Text Field, that makes reference to the name or description of the inventory. This will be like this if any customized fields are selected. In this case, the search is limited to the value of these fields. Object type Customized fields of the object type Owner Manufacturer Pag 139 Inventory Besides, you can export the searches results in PDF and CSV to get lists to add to any type of report. Importing Inventory Data from CSV
There is an option to import inventory data from a CSV file. To do this, the file is loaded with a line per inventory and the values separated by commas. The order should be the following: Object type, Owner, Name, Public,Description, Contract, manufacturer, Parent. Inventory Synchronization with Pandora FMS
Integria allows to create inventory objects synchronizing the information of the agents that already exist in a Pandora FMS instance that is located in its system. Pag 140 Inventory To start it is necessary to configure the parameters that connect Integria IMS with Pandora FMS. The configuration is located in the Setup menu -­‐> Pandora FMS Inventory. You should configure the following compulsory parameters in the form: §
§
§
§
§
Pandora FMS URL: Url where the Pandora FMS console is accessible. Pandora FMS API password:Pandora FMS API password.This parameter is configured in the Pandora FMS console Pandora FMS User: User to have access to Pandora FMS information. Pandora FMS User password: Password of the Pandora FMS user. Default Contract: Default contract associated to the object. The inventory synchronization is done through the maintenance script once a day. You can see how to install this script in the setup section. In our Pandora FMS instance we have the following agents installed and we want to synchronize them in the Integria inventory. Pag 141 Inventory Once Integria is configured, it will synchronize the agents and the inventory. From this moment we will have available the agents in the 'Pandora agents' type of inventory object. Pag 142 Inventory This synchronization will create the inventory objects with the information of the agents monitored in the Pandora FMS server. These are fixed fields and it is not possible to extend them. If you need to customize the information extraction of one device or PC, you can use the following section, about get inventory information from Pandora FMS agents directly in Integria IMS. Remote Inventory based on Pandora FMS agents
This Enterprise functionality allows to extract customized inventory information of any device and operative system. The remote inventory is based in the use of the Pandora FMS software agents that are installed in the machines from which we want to extract the information. The agents collect inventory information through scripts and they send it to the server where Integria IMS is being performed.Once the information is got Integria will process it and will create the necessary inventory objects based on the received data. Contrary to the "Inventory Synchronization with Pandora FMS, to use the Remote inventory based on Pandora FMS agents It is not necessary to install the Pandora FMS application, you will only have to install the agents in the machines that you wanted Remote Inventory Internal Performance
Pandora FMS agents send an XML file with the inventory information to the server that supports Integria IMS. Integria processes these files through the maintenance script, the file processing is done every 5 minutes. Pag 143 Inventory With the inventory information sent in the XML several inventory objects will be created. This way, if an agent sends information about 12 applications installed in the system, there will be created 13 inventory objects (one for the agent and 12 for the different installed applications). When information about a device or inventory item is received, two different things could happen: 1. That the item exists: Then the inventory information will be updated. 2. That the item doesn't exist: In this case, a new inventory object will be created only if the type of associated object is defined in Integria. It is important to define the object types that will be used before starting to make the inventory, next we explain how works the acquisition of data in detail and you could see how the types are associated to the different items. Pag 144 Inventory Pandora agents are associated to the type called Pandora agents, so in order to the inventory works it is necessary that it would be define. The other inventory objects are associated to their types, as we explain next. The following XML with the inventory information could be sent by a Pandora FMS agent. <?xml version='1.0' encoding='UTF-8'?> <agent_data description='' group='' os_name='linux'
os_version='"CentOS release 6.4 (Final)"' interval='300' version='4.1(Build 130822)'
timestamp='2013/10/22 09:27:38' agent_name='localhost.localdomain' timezone_offset='0'
address='192.168.70.163'> <inventory>
<inventory_module>
<name><![CDATA[Users]]></name>
<datalist>
<data><![CDATA[root]]></data>
</datalist>
</inventory_module>
<inventory_module>
<name><![CDATA[Process]]></name>
<datalist>
<data><![CDATA[COMMAND]]></data>
<data><![CDATA[/sbin/init]]></data>
<data><![CDATA[[kthreadd]]]></data>
<data><![CDATA[[migration/0]]]></data>
<data><![CDATA[[ksoftirqd/0]]]></data>
<data><![CDATA[[scsi_eh_6]]]></data>
<data><![CDATA[sh -c ps -eo command | tr -d "" ]]></data>
<data><![CDATA[ps -eo
command]]></data>
<data><![CDATA[tr -d ]]></data>
</datalist>
</inventory_module>
<inventory_module>
<name><![CDATA[Software]]></name>
<datalist>
<data><![CDATA[acl;2.2.49;Access control list utilities]]></data>
<data><![CDATA[acpid;1.0.10;ACPI Event Daemon]]></data>
<data><![CDATA[alsalib;1.0.22;The Advanced Linux Sound Architecture (ALSA) library]]></data>
<data><![CDATA[alsa-plugins-pulseaudio;1.0.21;Alsa to PulseAudio backend]]></data>
<data><![CDATA[zenity;2.28.0;Display dialog boxes from shell scripts]]></data>
<data><![CDATA[zip;3.0;A file compression and packaging utility compatible with
PKZIP]]></data>
<data><![CDATA[zlib;1.2.3;The zlib compression and decompression
library]]></data>
</datalist>
</inventory_module>
<inventory_module>
<name><![CDATA[File system]]></name>
<datalist>
<data><![CDATA[tmpfs;0;244M;/dev/shm]]></data>
<data><![CDATA[/dev/sda1;34M;426M;/boot]]></data>
</datalist>
</inventory_module>
</inventory> </agent_data>
Integria will create an item for the agent which reported the XML and next will process the different inventory modules separately, for example: <inventory_module>
<name><![CDATA[Software]]></name>
<datalist>
<data><![CDATA[acl;2.2.49;Access control list utilities]]></data>
<data><![CDATA[acpid;1.0.10;ACPI Event Daemon]]></data>
<data><![CDATA[alsalib;1.0.22;The Advanced Linux Sound Architecture (ALSA) library]]></data>
<data><![CDATA[alsa-plugins-pulseaudio;1.0.21;Alsa to PulseAudio backend]]></data>
<data><![CDATA[zenity;2.28.0;Display dialog boxes from shell scripts]]></data>
<data><![CDATA[zip;3.0;A file compression and packaging utility compatible with
PKZIP]]></data>
<data><![CDATA[zlib;1.2.3;The zlib compression and decompression
library]]></data>
</datalist>
</inventory_module>
You should select the name of the inventory module that is defined in the XML, in this case Software, to identify the type of object associated to these items. Later will be created inventory items with that type for each one of the items reported in the XML: Pag 145 Inventory <datalist>
<data><![CDATA[acl;2.2.49;Access control list utilities]]></data>
<data><![CDATA[acpid;1.0.10;ACPI Event Daemon]]></data>
<data><![CDATA[alsa-lib;1.0.22;The
Advanced Linux Sound Architecture (ALSA) library]]></data>
<data><![CDATA[alsa-pluginspulseaudio;1.0.21;Alsa to PulseAudio backend]]></data>
<data><![CDATA[zenity;2.28.0;Display
dialog boxes from shell scripts]]></data>
<data><![CDATA[zip;3.0;A file compression and
packaging utility compatible with PKZIP]]></data>
<data><![CDATA[zlib;1.2.3;The zlib
compression and decompression library]]></data> </datalist>
The inventory items separate the information by the character ;. The information will be disaggregated as you can see next: <data><![CDATA[acl;2.2.49;Access control list utilities]]></data>
acl
2.2.49
Access control list utilities
The first component defines the name of the new inventory item, the rest of components are associated to the fields of the object type in the same order in which they are shown in the inventory object definition. In this case the second element is associated to Version and the third to Description. Besides all the items that correspond to the elements will have as parent to the agent that had reported them through the XML. The inventory object final result created for this XML element will be like in the following image: Pag 146 Inventory In the Inventory, with the objects created from the XML inventory different modules, will be shown an object for the agent,in this case called localhost.localdomain.
Pag 147 Inventory By default, Integria 4.0 has defined the main inventory modules for Windows agents: Software, Patches, HD, Video, Services and RAM. Next you can see an example of how it will be shown: Pag 148 Inventory Installing tentacle_server
Integria remote inventory functionality requires installing the tentacle_server application. Next we explain how to install it in the different systems. Unix/Linux To install the tentacle_server in Unix_Linux systems you should go to the folder extras in the Integria directory and execute the following command with root privileges: ./inventory_installer
After, you will could start and stop the service with the following commands: /etc/init.d/tentacle_serverd start /etc/init.d/tentacle_serverd stop
Pag 149 Inventory Windows In Windows systems you should execute by hand the server tentacle_server in a shell executing the following command: C:\wamp\www\integria\extras\tentacle_server.exe -a 0.0.0.0 -p 41121 -s
"C:\wamp\www\integria\attachment\inventory"
This shell should be always open with the execution command. Remote Inventory Configuration
The automatic inventory configuration is located in the Setup menu in the tab 'Pandora FMS Inventory. In this section you will see a section called Remote Inventory. The configurable fields are: §
§
§
Default owner: Owner by default of the new inventory object. Associated company: Companies by default for the new inventory object. Associated user: Users by default for the new inventory object. The field Default owner is compulsory, if it is not configured the inventory objets will be not created. The other fields are useful to configuration purposes of access ACLs and to visualize objects Besides of the already mentioned fields configuration, it is necessary to enable the maintenance script. Y If the maintenance script is not enabled the files sent by the Pandora FMS agents will be not processed The file sending is done through a TCP connection to the port 41121. Because of this for the correct performance of this functionality you could have to check the routing or firewalls rules of your network Pag 150 Inventory Configuring Pandora FMS agents
To extract the information of the devices you should install the Pandora FMS agents. You can see the compatibility of the Pandora FMS agent with your systems in the sectionSoftware agent requirements from Pandora FMS manual. There are versions of the Pandora FMS software agents available for several platforms and each one of them has its installing process, all the information about the installing processes is available at section Pandora FMS Install/Agent install from Pandora FMS manual. The additional parameters to configure in the agent are these: §
§
server_ip: IP of the server that executes Integria IMS. module_plugin: Directive to execute scripts to extract the inventory information. All information about the software agent configuration is in the section Pandora FMS agent configuration from the Pandora FMS manual. By default, the Pandora FMS agents have available a plugin module to extract inventory information. Yo can execute it with the following directive: module_plugin inventory 1 cpu ram video nic hd cdrom software init_services filesystem users
process ip route
Inventory Customization
If you want to customize the information collected you can modify this script or create your own script. At section Local inventory from the Pandora FMS manual, you could see the XML structure of the inventory modules and examples of how to create inventory modules for Linux and Windows platforms. Pag 151 Knowledge Base 9. Knowledge Base Introduction
Integria IMS has a Knowledge base management system ( KB in English) that allows to have a base composed by different articles, which are organized depending on the kind of product, category or language in which they are written). It is a centralized element of consult and edition of articles, which could be feed by users, both in a manual way and through the incident system Knowledge Base Management
In the Knowledge Base(KB) section we could see the different articles that it contains, create new articles and manage the different categories and products to which each of them could belong to, and also the access to these article by different groups of users. In the main screen (by default the Explore side menu) we could find the view with the different articles that compose the KB. This view allows to filter all the articles depending on the category or product of each element, and also the language in which it's written. It is also possible to refine the search through a free search text file. Pag 152 Knowledge Base As you can see in the previous screenshoot, for each article of the knowlege base, the category and the product to which it belongs to is detailed, and also the language, and atimestamp with the time from the last change, From the same view, we have the possibility of deleting an article doing click on the red cross. Managing Categories
To create or visualize the different categories that we have available in our knowledge base, we should click on the side menu, on the Manage categories section. From this section, we can see the list of categories that we have created. Each of them will have assigned an icon, a name, and, optionally, a parent, that will be the category on which it's pending. In the same view, we have the Elementcolumn that will show the number of articles that has assigned this category. We could delete a category pressing on the red cross of the category that we wish to delete from the KB. Managing Products
The different elements of a "KB" could also refer to an specific product, so, same as with categories, we have the possibility of manage and visualize different products, to assign them after to our "KB" articles. To have access to this section, we should click on "Product Management" in the side menu of the "KB" section. Once here, you could visualize all the products that are already created. Same as with the categories, the products view shows the name and the icon of the product, the parent from which pends this product (optional), a description and the number of Pag 153 Knowledge Base elements/articles that has assigned it.Clicking on the red cross we could delete the different products that are there. Creating a New Article in the KB
Once we have created the categories and the products, we could start creating the articles that will compose the Integria IMS knowledge base To create a new element int the KB we should press on the side menu, section Creating element of the KB. This will open a new window where we should fill in the Title of the new article, the Language in which it will be written, the Product and the Category to which it belongs and that we have created previously and a field Data where we write the text of our new element. Pag 154 Knowledge Base Next, press on Create to save the new article, and we could view the general view of all elements, where it should be the new article just created. To visualize an specific element, you should press on the name of the article, and once inside, we could see the Creator of the article, the last modification date, the product and the category that it has assigned, and the language in which it has been created. At the same time, the KB allows to attach files to the elements or articles that compose it. For it, it's necessary to create the article first, and once it has been created, to edit it to could add the different attached files. To could add one or several files to an article, we should press on the name of the article, and once in it, click on the edit icon, as you can see here: Pag 155 Knowledge Base Creating a New Article from an Incident
It's possible to create a new entry in the KB from an incident solving. This way, the incident management and the Knowlege Base are linked between them to allow more flexibility when creating new articles based on the resolution of the incidents. When an incident goes to the status Solved, it'll show a yellow star icon. If we press on it, Integria will redirect us automatically to the KB section with the creation view of a new article. The different fields are filled automatically getting the data of the incident. KB Permissions
It is an Enterprise feature that allow us to define which groups see which products. This relationship, same as happens for example, withe the file distribution section, should be done manually. We go to the permissions management through the last option of the Knowledge base menu (KB): Pag 156 Knowledge Base In it, we will select a type of product and a group to give access to the users of that group to the items of that product (in any category). Pag 157 10. File Distribution System File Distribution System Introduction
Integria IMS has a centralized download environment, that allows the file distribution and the software releases to the Integria clients and users. All the element of the File Releases should be from a category and the categories are linked with a group, what allows to do an access control of the different users to the elements. It has available an "anonymous" system that allows to share any file or user without having an Integria account, simply by sharing the URL access to this file. General View
We go to the file distribution system from the upper Integria menu, pressing on the File Releases menu. From this section, we can create the different categories to which the files will belong to, and manage the access of the users and clients, linking one category with one or several groups. In the side menu Examine there is a list of the files that compose our File Releases, as you can see in this screenshot. Pag 158 File Distribution System In this view the file size of each element is shown, and also the category to which it belongs, the number of downloads on this file and the time from its upload. We could also filter the file releases thanks to the search that is included in the upper side of the Examine view. We could filter both by categories to which they belong and by the file release name. Creating one Category
All the elements that compose a file release should belong to one category, which means that before we have to create them. To do this click on File Releases -­‐> Managing categories and we go tho the view of the different categories that we've configured. From the same section we could create new categories clicking on Create. Pag 159 File Distribution System In the new screen, we have to put a Name to the new category and to assign one icon. Press on create to save the changes. This way, we continue adding all the categories to which each file release system belongs to. Access Management
The aim of this section is to link the categories that we have created in the File Releases with the different configured groups in the Integria system. This way we get a access control system to the file releases, so one element that belongs to one category has assigned a collection of groups (one or more) that define the users that could or not have access to this element. To assign one or several groups to one category, click on File Releases -­‐> manage access and click on the Createbutton. In the new screen we select a category an a group to create the link. If we want to assign more than one group to one category, we create a new entry, choosing this category and assigning to it a different group. Pag 160 File Distribution System With this we will create a new file release that will have assigned one category, and because this category has assigned one or several groups, only the users that belongs to this group or groups could have access to the file release. Creating a File Release
In order to create a new file release, press on File Releases -­‐> Create file release, and it'll shown an edition screen where we should add the new file in the system. The fields to fill in will be Name of the file release, the category to which it'll belong (we should have previously assigned one or several groups to this category), a Description and a drop down menu were we will choose the file that we wish to add. By default, the files should be in the file /attachment/downloads in the Integria root directory. We could upload them through a FTP connection or using the file manager that Integria has at Administration section. In the File Releases section we have a control to upload files from here. It's important to consider the size limitations of the files that are updloaded in the system, so this won't be applicable for files bigger than the ones that are defined in the file PHP.ini, in the variable max. upload size. Pag 161 File Distribution System The External ID is used, in combination with the "Public" option to could create a public link, that anyone could click, without having even access to the tool. It is a way to could share (optionally) files with everybody, managed from Integria. To delete or edit one file release of the list, click on Examine and in the view of elements, press on the tool icon if what you want is to edit or on the cross red if you wish to delete it from the list (the file is not deleted from the file system). Pag 162 11. Newsletter Newsletter There is a report distribution system or mass email sending. This option needs to be activate first in the setup, on main screen, in option "activate newsletter". Once it has been activated, we can see this option available in the client section, for any user with VM access bits (inventory Management). Issues
Newsletters allow to could send massive emails to a email addresses group. These email addresses are defined for each newsletter. Each newsletter could have one or several "issues", so each edition contains a message title (subject) and also a clear text content (Ascii) and one in a formatted text (HTML). When editing/creating a new issue, it is allowed also to specify the date (if not it will be automatically detected). The "issue" "inherits" the addresses assigned to the newsletter, so different editions of one newsletter will use always the same group of email addresses. Newsletter edition Editor Pag 163 Newsletter NOTE: If you are going to use graphic elements in the newsletter, first upload the resources (images, Javascript, etc) to one server (i.e: the Integria server, using the filemanager) and then link them from the HTML editor. Addresses
Adding addresses to one newsletter is easy. You only have to write an address (an an optional name, separated by a comma), or to put several, separated by carriage returns, as we can see in this example: The not valid addresses ( only their syntax are checked) will be ignored. If you write some address that exist already, it will not be enter again. If you try to write an address that was inactive, this will be still inactive. Sending Queue
Once you have defined a newsletter, you have created at last one edition for this newsletter and introduced addresses for the sending, it's the moment to send this newsletter by email. There is a parameter in the setup that is very important, and that regulates the sending queue performance, of how many emails sends any time that the Integria programmed task is executed, and that you should have installed in your system cron: Pag 164 Newsletter Check it and consider how often its task is executed (by default every 5 minutes), so if your mail server has a sending limit of 200 emails per hour, you will have to calculate approximately how many emails has it to send as maximum in each execution, in this case: 200 maisl per hour / 20 = 10
This is, to avoid not exceed the limit, you should configure 10 in the maximum number of sendings per execution, so as they execute every 5 minutes, it will be executed 20 times in one hour, sending 10 mails every 5 minutes, 200 mails in one hour. Once you are quite sure of this, go to the sending queue. Choose an edition and create the queue. A queue will be automatically created with all the messages for each queue direction, but the queue will be in waiting status and it won't be fired yet. Press the create button and you will see something like this: You will only need to press the start button (the green arrow) so as when the process in second level (crontask) would be executed, it starts to send emails. Pag 165 Newsletter There are 4 numbers in the "addresses" column. The first one is the total of queued sendings, the 2º is the number of emails pending to send, the 3º is the number of mails sent, and the 4º the number of emails that couldn't be sent. Once fired, you should wait to all the mail would be sent. You can disconnect from Integria, the process will continue in second level, and depending on how you have configured the sending queue, it could last hours or even days. Connect to it from time to time to know how it's going on. If when you have finished you have several addresses with error, you can try to "Try again" the sending (the circular green arrows) and the system will try to send the emails that he couldn't send again. Newsletter WEB Visualization
You can link a web address in your emails to see the content of the newsletter in HTML.To do this you needs the public URL path of your Integria, i.e: http://artica.es/integria
Adding the following: /include/newsletter.php?operation=read&id=X
This allows to see the newsletter with "2" identifier.The identifier is the second column (Issue #) in the newsletter edition view Issue). So the following link you will see the newsletter edition with the identifier nº "2". http://artica.es/integria/include/newsletter.php?operation=read&id=2
An external user will see the newsletter in your browser like this: Pag 166 Newsletter This will allow also to increase in a single one the visit counter of this newsletter. This countdown could be seen in the newsletter edition list. Newsletter Subscription Form
Similar to the previous one, URL specially formed is used, beside with the newsletter numeric identifier. This could be located in the newsletter list, as you can see in the image: Pag 167 Newsletter The subscription form url is: < Integria base url >/include/newsletter.php?operation=subscribe&id=X
Where x is the newsletter identifier. This form is similar to the following one: Note: There is a security mechanism to prevent massive insertions. All email insertions are validated first, avoiding duplicated and wrong emails. When subscribing correctly an user, an email is sent to him, informing that he has been subscribed and that the URL to un-­‐subscribe him from that newsletter. Pag 168 Newsletter Newsletter Un-­‐subscribing Form
Very similar to the previous one. The form url is: < Integria base url >/include/newsletter.php?operation=desubscribe&id=X
Where X is the newsletter identifier. This form has an aspect similar to this one. The users that are unsubscribed are not deleted from the database, on the contrary, they are disabled. Pag 169 12. Wiki Wiki The wiki integrated into Integria is made using the OpenSource project code named LionWiki [1]. This Wiki is reduced in features, compared with other wikis such as MediaWiki (the one used in the Wikipedia), but completely functional, and is perfect to use it with Integria as a companion for simple information management. The wiki has the same set of access privileges as the rest of the application, ie: You can restrict which users can access and unauthorized users. That if, within the wiki, all users see the same thing, in this version can not be restricted to categories of pages can be viewed as groups of Integria. Like other wikis, it supports: §
§
§
§
§
Wiki syntax, with hierarchy of titles, hyperlinks, lists, images. Change Management / Revision system. Upload files and link them from the wiki. Generate tables of contents and hierarchical views of information (title, subtitle, etc) Pre-­‐formatted, bold, italic. The syntax of this Wiki is slightly different from MediaWiki (the best known). Basic syntax
This is a brief summary of its syntax. Headers
Example: !Heading H2 !!Heading H3 !!!Heading H4
The more exclamation marks you use, the lower the title is (up to 5 exclamation points). The exclamation marks have to be exactly at the beginning of the line. Ordered and Unordered list
Sample of a list (unordered): Pag 170 Wiki * Fruit ** Apple *** Granny smith ** Orange * Vegetables ** Garlic ** Onion
You will see like this: §
Fruit Apple § Granny smith § Orange Vegetables § Garlic § Onion §
§
Sample of an ordered list # First item
## First subitem
### First subsubitem ## Second subitem
You will see like this: 1. First item 1. First subitem 1. First subsubitem 2. Second subitem ' Letter styles ' Bold → Bold (three single quotes) Italic → Italic (two single quotes) '—Strike—' → Strike, with single quote and medium dash.. '__Underlined__' → Underlined, with single quote and two underscore. Links, images and external files
Easy, write a link to an image or external file likes this: [Main page] → Main page
or Pag 171 Wiki [Main project page|Main page] → Main project page
or [Features header on Main page|Main page#Features] → Features header on Main page
Emails and websites are automatically recognized: http://lionwiki.0o.cz → http://lionwiki.0o.cz
[email protected][email protected]
You can also use relative links, but it has to begin with. / (Otherwise be interpreted as Wiki page). So if you want to link some HTML page in the same directory, use: [Interesting page|./SomeWebPage.html] → Interesting page
Images
To use the image as link: [http://lionwiki.0o.cz/lion.jpg|link=http://lionwiki.0o.cz/] →
You can put the image to the left, right or centered, like in this example: [http://lionwiki.0o.cz/lion.jpg|link=http://lionwiki.0o.cz/|center|title=Big Lion|alt=Alt
text]
Table of Contents
TOC's can be generated automatically using {TOC} keyworkd. Preformatting / Code
Pre-­‐formatting is useful when you want to avoid WIKI formatting your text, even interpreting symbols or code. This is mandatory to put code or "raw" information. It uses characters { { and } }. All the text between them will be formatted like this one: Pag 172 import sys
if len(sys.argv) == 2:
Wiki print "Hello",sys.argv[1]}}
Horizontal bar
Use -­‐-­‐-­‐-­‐ in a blank line, with nothing more. Avoiding WIKI interpreter
Use special symbol ^ before any special word/symbol. Use ^^ to use the ^ symbol HTML Code
You can use HTML code directly on the Wiki, but must be between {html} and {/html} tags. Blank lines
Use {br} to insert blank lines. Wiki menu
You can modify the wiki menu, adding your own links in HTML format, for that you must edit a special page called side_menu. Go to "Admin pages" section on Wiki section, to edit all pages, and search for Side_menu and edit it. In that page, you must use HTML code directly, linking the items you want there, it can be a WIKI page or something external For example, if you have a Wiki page called "office", the link will be something like this: http://localhost/integria/index.php?sec=wiki&sec2=operation/wiki/wiki&page=Telephone_ES
You must create a code in the page side_menu with following code: <li><a
href='http://localhost/integria/index.php?sec=wiki&sec2=operation/wiki/wiki&page=Telephone_ES'
>Telefonos</a>
Pag 173 Wiki Wiki rights management
This feature allows to manage the access to the contents. This is an Enterprise feature. By default, all pages are accessible and editable by all users. But the administrator users can create access list for reading and writing of each page in the side menu entries:'ACL Reading' and 'ACL Writing'. Pag 174 Wiki If a content has any users in its reading or writing list, it will be accessible to all people. When we add an user to the access lists, only those users will have reading or writing permissions. As you can see in the following example, the user 'dario' will be the only one that will have writing permissions in the main page. Pag 175 13. Configuration Configuration Configuration options The Integria IMS Configuration menu gives the application general configuration screen. The main section of which is specifically the configuration has several tabs. The left menu has some other utilities, that we call system tools. We will detail both of them, some as configuration options ( the tabs in the setup section) and others as system tools (the menu options). Pag 176 Configuration These sections are restricted and only the user selected as admin could have access to these options) Configuration Items
General Configuration
In General configuration section, several Integria IMS general features could be configured. §
§
§
Language: You can select between the available languages. Site Name: Name of the Web site, visible in the title of all windows . This name will be always in the subject of all messages. You can leave it blank. Error log: If it is activated, it will be a file called integria.log with the errors generated by the application, useful to search the origin of the problems and report them to the development team. Pag 177 §
§
§
§
§
§
§
Configuration Timezone: For example Europe/Berlin,specifies the timezone where the application will apply. You have available a Timezones list here:http://php.net/manual/en/timezones.php List of IP's with API access: IPs, separated by commas, with access to the API. A * means "any". API password: Password needed to make requests via API. Upload maximum size: It defines the maximum size of a file to upload to the application. If you have a size lower in the system (PHP configuration) this limit could be not be respected. If you have problems when uploading big files, it could be due to other PHP more advanced parameters. Activate newsletter: You can disable completely the newsletter feature from here. License: To install the Enterprise version, you will need, besides the code, a license number. First day of the week: For timetables and another uses of the application. Visual Configuration
In this section are configured some of the options that defines the system general "appearance". You can modify the following options: §
§
§
§
§
§
Size of the pagination block. By default 25 elements, if you want that in the lists will be more or less elements, you can change this value here. Don't chose a very high value, so it'll affect negatively in the system performance. Font for graphs. Graphs are usually seen better with a font called "Samllfont". Try with other ones if you don't like it. The size of the font could be also selected in other item that is below. Font for PDF reports. You can change this value to change the font used in the PDFs. There is a font called "unicode" special, that will allow you to use all kind of fonts for your reports (Japanese, Corean, Chinesse, Arabic...). Logo of the site. It's the logo that is shown in the site window. It should have a white background. Logo of the header. It's the logo that is shown in the login window, it hould have transparent background and size of aprox. 140x47 Flash Graphs. Allows to activate/deactivate the use of Flash graphs. Password Policy Setup
Pag 178 Configuration The password policy management excludes the administrator users. This is an Enterprise feature. §
§
§
§
§
§
§
§
Activate password policy. If this is not activated, the rest of the parameters will not be used. Password minimum size. In types. Numbers in the password. It should be at least one number in the password. Symbols in the password. It should be some symbol (!*/$...) in the password. Expiration in days. When this time has expired the system will force to change the password. Force to change the password in the first login. Time for user blockage. In minutes, after repeated login failures, the user will couldn't log in ( even if it enter the password correctly) when this time has expired. Max. number of login attempts. When this threshold would be exceeded the user will block by a time defined in the previous configuration token. Incident Setup
Pag 179 Configuration §
§
§
§
§
§
Nº of predefined hours for an Incident WU: It defines the value by default that one WU (in hours) has when creating a work unit, it is 0.25 by default (15 minutes). Send automatically an email for each incident modification': This is rather noisy and it sends a notification by email for any incident change, not only when workunits or files are assigned to it, but also when, for example, there is any modification of the incident priority. Max.of incidents by search: It will limit the number of results in a search to this quantity, in order to avoid degradation of the system performance. Show the incident owner: It shows in the list (search) of incident the owner or user assigned to the incident. Show the incident creator: Same as with the previous one, it shows the user creator of the incident. Autoincident close: Nº of hours spent from which an incident not closed will pass to the "Closed " status automatically. Pag 180 §
§
§
Configuration Users with IW access can change the creator: Those users that have this access bit could change the incident creator. Allow to change the type of incident: It is optional, because when changing the type of one incident that already exists, the information of the customized fields of the incident type is lost. Allow to define the hour/date of the incident when creating it. It is also possible to change the name of the possible status of one incident (It is not possible to delete or add status). You can leave someone blank. The first status will be always the NEW status ( incident just created). The last status will be always the CLOSED status. The nearly last one will be always the status PENDING OF... So it is an status when the SLA "does not count". You can adjust the names or delete the status that you want, but the workflow is associated to these status. The possible "resolutions" are also " be defined again", so you can adjust them to your company. They are a descriptive field. The not working days are used to define the local/national holidays, etc. They are not considered in the SLAs(except those that include also holidays), and are visualized in a different way in the timetables. §
The incident masking system allows that when the emails are sent the user addresses will be hidden to avoid that external users could see the email addresses of all recipients. E-­‐mail configuration
In the Configuration e-­‐mail section it's possible to configure the parameters referred to the emails that Integria IMS send when the SLA are not fulfilled or by creating and modifying incidents. SMTP protocol is used to send you new changes in incidents. With POP protocol you can manage incidents sending emails to the mailbox with a specified structure. The last option is required only if you want to manage incidents via email. Pag 181 Configuration If you want to use a GMail account with Integria mailing services you must configure the SMTP server as follows: §
§
§
§
SMTP Host: ssl://smtp.gmail.com SMTP Port: 465 SMTP User: [email protected] SMPT Passowrd: your_password In this section you can also change some global email parameters like header, footer, notification period, form address, etc. §
§
Notification period: Is the minimum time it should have between two SLA notifications. It's defined in seconds and it's is one day by default. It's a global parameter.This parameter has online help. Email address from the system: Adress from which it will be sed the emails from Integria. SMTP Configuration Pag 182 Configuration Credentials and data are sent to connect to your SMTP server. If you leave it blank it will try to use a local email system in the same machine where Integria runs (usually sendmail or similar). IMAP/POP Configuration Similar to the SMTP configuration. If you are going to use SSL, then use ssl://nombredehost.domain.com and configure the port right. Configuration of email sending queue Integria doesn't send the mails automatically, but it "enqueue" them to be sent by the process that is executed every five minutes (integria cron).To fix this performance there is a series of special parameters, and also a queue manager for pending sendings. Note: The Newsletter emails don't use this queue, but an independent queue that is managed from the newsletter sending queue. §
§
§
§
§
SMTP resending attempts: When this number is exceeded, it will select the email as not correct. Max. number of pending emails: When this number would be exceeded, it will show a warning in the system warning zone to show that could be a problem in the email sending. This could be also be monitored in external way through the API. Max.of mails sent in each execution: The emails are sent every time that the background process is executed, but here it is possible to specify if you don't want that it sends more than a maximum number each time. It is useful if our server doesn't allow us to send more than X emails per hour, for example Email header: Email header that will sent in any Integria IMS automatica eamil.It doesn't admit macros. Email Foot:Email foot that will be sent in any Integria IMS automatic email.It could be left blank, same as with the header. It is sent as plain text (plain ascii). Email sending queue management Pag 183 Configuration This system allows to see the mails pending of sending and their status. Besides, we can delete the current queue and/or resend those mails selected as not valid. EMail Templates
Pag 184 Configuration This section is useful to could edit the mail templates that Integria will use to create emails and also the templates of the message "subject" . The email templates are generic and they are used for all groups. To edit a template just select one and press edit. You could see that there are an special marks kind of _sitename_ that we call macros. The macros are text marks that will be replaced in the moment of composing the message by an specific value. In this moment the following macros are defined: §
§
§
§
§
§
§
§
§
_sitename_: Name of the site, as it has been defined in the setup. _incident_title_: Title of the incident. _username_: Name of the user that receives the email (login name). _fullname_: Full name of the user that receives the email _incident_id: Incident ID. _url_: incident URL. _creation_timestamp_: Date/Hour of the incident creation. _update_timestamp_:Last time the incident was updated. _owner_: User that controls the incident. Pag 185 §
§
§
§
§
§
§
§
§
§
§
§
Configuration _group_: Group assigned to this incident. _author_: Incident creator. _priority_: Priority of the incident. _status_: Status of the incident. _resolution_: Incident priority. _time_used_: Total time used in this incident. _incident_main_text_: Main descriptive text of the incident. _wu_user_: User that reports a WU. _wu_text_: WU text. _havecost_: Only for reports of the WU of the projects. _taskname_: Only for reports of the projects. _projectname_: Only for reports of the projects. Menu Visibility
This option is useful to "hide" some parts of Integria to some user groups. This is an Enterprise feature. It could be configured, for each section and group of users, the following visibility levels: §
§
§
Hidden: It will be not showed for whom doesn't have permissions in the group referred. Limited: It will be showed for whom doesn't have permissions in the group referred but some parts of the section could be hidden. Complet: The users with permissions in the referred group will have complete access to the section.Los usuarios con permisos en el grupo indicado tendrán acceso completo a la sección. Additional Information: Pag 186 §
§
Configuration If one section has not any visibility configuration, by default the access will be complete for all users. Each section is associated to one profile, being this the one that is checked with the user group to know if it has visibility or not. THe associations are the following ones: § Projects => 'PR' § Incidents => 'IR' § Inventories => 'VR' § KB => 'KR' § File releases => 'KR' § Agenda => 'AR' § People => Any profile § Work Orders => 'WOR' § Configuration => Any profile If the user is administrator it will always have complete access, regardless of the configuration of the menu visibility. If one user has profiles in several groups that have different visibility levels in one section, the visibility for this user in this section will be the less restrictive. If a visibility level is created for a section selecting all groups ('All' group), all configuration will be changes for this section and only the one introduced will remain. §
§
§
§
Inventory
This section controls the automatic integration of the Pandora inventory with the Integria inventory, and the remote inventory management (processing of data sent by pandora agents to Integria without the need of installing Pandora FMS). Pag 187 Configuration Data Import from Pandora FMS §
§
§
§
Pandora FMS URL: I.e: http://pandora.mydomain.com/pandora Pandora FMS API: API Password. Pandora FMS User & Password: Credentials of access to Pandora (with permissions to obtain inventory information). Pandora FMS Default contract: Contract by default where the imported objects will be hanged on. Inventory data Processing from Pandora FMS agents §
§
§
Type of object: Type of base object where the information coming from the agents will be hanged up. Default owner: Owner by default for these objects. Associated company an associated user:Companies with access to these objects and users with access to these objects. Authentication
Pag 188 Configuration §
§
Type of authentication: LDAP or local. If you use LDAP the users of local admin type will be the only ones that will work "locally" without authenticating against a LDAP,the rest will be used to authenticate agains a LDPA. If something fails, you will could do it locally with the administrator users. Session Timeout: In seconds. When this downtime has passed, the session will be closed by itself. The users that are going to be authenticated will be the ones contained in the LDAP and the local administrators. Next are described the fields that could be configured (once that the LDAP option would be activated). §
§
Autocreate remote users: Enables/disables the automatic creation of remote users.This option makes possible that users would be created automatically once they will login using LDAP. Autocreate profile: This field makes possible to assign a type of profile to the users that are automatically created. Pag 189 §
§
§
§
§
§
§
§
Configuration Autocreate profile group: This field makes possible to assign a group to the users that are automatically created. Autocreate blacklist: It is a list of users, separated by commas, that will be not created in an automatic way. LDAP server: Here is defined the path where the LDAP server is located. LDAP port: The LDAP server port. LDAP version: Combo to select the LDAP server version that will be used. Start TLS: It will use the protocol Transport Layer Security (TLS) in the communications between the client and the server. Base DN: Distinguished Name (DN) used for the LDAP server. For example: ou=People,dc=example,dc=com Login attribute: Login attribute that LDAP uses during the authentication process. For example UID (User Identification Code) CRM
This sections controls all the CRM specific configuration. Pag 190 Configuration §
§
§
§
Logo for the invoices header. Show the image that you want to put it in the header of the invoices issued. Tax name. In Spain for example, it is called IVA; in the UK it is VAT. Invoice Header.Data that is shown in the invoice header. Invoice footpage. Text that is added in small print in the invoice footpage. Parameters of Leads §
Filtering of companies by ID. It could show the ID of the company type (i.e:Partners) in order that when we select the company associated to one lead (the company that manages this lead), only the companies of this type would be shown. Only one ID is accepted. Pag 191 §
§
§
Configuration Nº of days before warning about not active leads. From this number of days without updating a lead, it will be shown in a red color background. Invoice Header. Data that you want to show in the invoice header. Name of a lead status. It can redefine the texts. Some types are special (the ones selected with *) and others as the first one, if are not redefined are used by default. The rest, as we left blank are not shown. Old Data Management
It allows to specify to the system how manage old information. §
§
§
§
§
§
Days for deleting events: From this number of last days they are deleted. It doesn't delete the incidents that are not closed. 'Days for incident deleting:It deletes also attached files, but not the work units. Days for WU's deleting: Deleting of WU's. Regardless if they are from incidents or projects. Days for WO's deleting. Deleting of WO's. Regardless of their status. It also delete its attached files. Days for audit data deleting . Similar to the event case. Days for sesion data deleting. It is an special table that save the open sessions. Project Management
Pag 192 Configuration §
§
§
§
§
Users that don't use the autococompletion WU system. Specify an userID separated by commas if there are several ones. Number of hours per day. Used to calculate metrics. WU autocompletion (days). For example, if we use 30 days, it means that the system automatically will fill in a WU per day assigned to the special task "Not justified" for each user that this day had not reported activity. Time by default for a project WU: So, when we create a WU, it will use this quantity of time by default (in hours). Default currency: Euros, Yenes, Dólares, etc. System Tools
All the tools that we mention here, could only be used, same as with the configuration options by the system general administrator. Some tools, incorrectly used could leave the system inoperative (SQL manager, file manager). Translate strings
String translation tool is inside Setup menu and allows you to customize any string of Integria interface. This tool works with all language available in Integria. Pag 193 Configuration The tool interface has a combobox to select the language you want to modify and a free text field to search. The search is performed using English as key language, because all translations are based on English language strings. If you want to change the translation for a Spanish text first you need to know the equivalent text in English. For example, you want to change string Contraseña which appear in Spanish login page. First you need to get the text in the same screen in English. In the next picture we perform the search to change the Password string in Pag 194 Configuration Spanish. To do that we select the language and we search for Passowrd. Once the search was done three columns will appear, the first one shows key text in English, the second one the translated text in Spanish and the third one the custom translation. To customize the text, just fill the third column and click on Update. After the translation you will see the new string in Spanish login page. System global news Manager
Pag 195 Configuration This could allow you to add small system news, that will be visible to all users when they come in. It is useful to warning about changes in the platform or warnings about interventions, service disconnection or others. SQL Manager
It is a direct interface against the system DDBB, in SQL. It is not recommended to users that are not experts, because using it incorrectly can make that the system would be destroyed. Check the structure (scheme) of the Integria DB to could do SQL queries directly against the database. File manager
The file manager is useful to could upload and delete files to the Integria internal system. This is useful to upload easily new logos or user avatars.It is also the easier way to upload new files to the ' file distribution system integrated in Integria IMS. These files are located in the directory /attachment/downloads. To upload avatar images, you can do it in the /images/avatars directory. You can change the default icons in the /images directory If you browse by the /images directory in general, you will see some useful subdirectories if you want to upload your own images for product categories, groups, etc. In that folder are located the logos that you can select to customize the Integria interface, such as they are selected in the visual configuration section. Links
In the Links sections you will could manage the links that already exist to other websites, usually externals. You could edit, add and delete the existing links. To edit an already existing link, press on the link name and a form will be shown where you could modify the link name and the link to the web site. Once you have modified the data, press on the Update button and the link will be modified. To delete an already existing link you only have to click on the X below the column Delete in the link table. A dialogue box will be shown asking for confirmation. Click onAccept to delete the link. Pag 196 Configuration To add a link press on the button Add. It will shown a form where you should fill in the link name and the link to the web site. Once that you have introduced the data click on button Update and the new link will be added. System Events
The Integria System Events section keeps an historic of events that have occurred in the system, such for example:Sending scheduled reports, executing cron checks, etc. It doesn't store information of user activity. which is stored in the audit log. The table gives the following fields: §
§
§
§
Type: Event type. User: User who generated the event. If there is not user, then it is information about the system. Extended Information:Extended information about the event, in case that it would be available. Date/Hour:Hour and date when the event occurred. Audit Log
In this register will be reflected all the actions of each user in each section. If someone modifies a client data, you will now when and which change has he done. If someone delete an invoice, you will know when and which invoice, and so on. It allows to search by an specific substring. Pag 197 Configuration Error Log
Visualizes the error log (if it is activated). It is useful to identify possible code errors in the system. In case of consultation or incident, it should give the last entries (by date) of this register. Alert and notifications system
This system informs, with a yellow circular icon in the header, of the problems that could occur in Integria. It gives a warning when: §
§
§
There is a high number of emails pending of sending. This parameter is defined in the general configuration and, by default, there are 15 emails queued. When this limit is exceeded, the system shows and alert. The cronjob is not installed. The cronjob has been executed more than 10 minutes ago. Offline update
The offline update tool allow to upload update packages to instances which are not connected to Internet. Pag 198 Configuration This tool admits .oum files which are zip files which contain the files that will be updated in Integria IMS console. This file has the same structure as Integria console file hierarchy, including folder nesting, bug only has the files that will be changed. The name of .oum files shouldn't have blank spaces or weird characters. In case of a character cause a conflict, the tool will show an error message indicating that the package does not exist. For example if we want to update the fiel operation/incidents/incident.php we will have the following structure. update_123.oum
|
|
|
|--- operation
|--- incident.php
|
|--- incidents
The tool will extract the file and copy all files to their locations. Furthermore you can update DB schema, to do this you just add the SQL files to extras/mr folder. These files should be name with sequential numbers and you can add as many as you wish per each oum file. For example: Pag 199 update_123.oum
|
|
|
|--- 1.sql
Configuration |--- extras
|
|--- 2.sql
|--- mr
|--- 3.sql
The tool will perform the changes into the database executing the files sequentially. The database update is executed when a user is logged into the application. The SQL scripts are executed once each time an user is logged into the application, so if you need to execute three files you must log into the application three times. Pag 200 14. Integria external API Integria external API To use Integria external API you should do remote calls via HTTP or HTTP to the file /include/api.php. With this method you can integrate Integria with other applications. To use the API you should make a call with the defined parameters, the API returns a single value or a list of values. A prototype API call is like following: http://<Integria installation dir>/include/api.php<parameters>
The API only accepts the following parameters (other parameters will be ignored): §
§
§
§
§
§
§
user (required): name of Integria user who access to data, it is used to verify ACLs. op (required): operation to do. The available operations are detailed below. pass (required if is set): password of Integria API configured through Integria console. params: parameter list which will be passed to functions, the list must be separeted by a token. token: token which separates the list of parameters (by default ','). return_type: return format of call, it can be 'xml' or 'csv' (by default 'csv'). info: especial parameter which can return the version before authenticating. Security
The API has two method to authenticate the connection: with password or with a IP white list. White list IP authentication
Authentication based on IP white list is based on a list of IPs which can access to the API. This list can be configured in configuration menu of Integria console. If you write the character * inside the textbox, the IP checking will be ommited, allowing the access by all IPs and the authentication is delegated to other applications. Pag 201 Integria external API Have in mind that this authentication method is always activated, so if you want to use another method you must write * in the text box. Authentication with password
You can set an API password in Integria console configuration menu . This password must be send inside the API call without any encription, so is highly recommended the use of HTTPS if you want to use this authentication method. If you only want to use password authentication you must set IP white list to *,this allow connections from all IPs. Pag 202 API functions 15. API functions Returning information about Integria IMS
This is a special function that can be used without authenticating, since the information that returns can be obtained from the login page and it is not considered a security breach. It returns the Integria IMS version and it is useful to check if there are an Integria IMS installation on a specific route or to obtain the version before the authentication. Call http://127.0.0.1/integria/include/api.php?info=version
Return Integria IMS OpenEdition v4.0dev - Build 130514 MR5
Incidents
get_incidents
§
§
Return: Returns a list with the incidents to which the user that does the calls has access. Parameters: string filter (string empty for all), Status filter (1 for all an 10 for the ones that are not closed), group filter (1 for all) Call with return in CSV http://127.0.0.1/integria/include/api.php?user=user&op=get_incidents&params=day,-10,1
Return CSV user-laptop,3 server1,45
Call with return in XML http://127.0.0.1/integria/include/api.php?user=user&op=get_incidents&params=day,10,1&return_type=xml
Pag 203 API functions Return XML <xml>
<item>
<item>
<name>user-laptop</name>
<name>server1</name>
<data>3</data>
</item>
<data>45</data>
</item> </xml>
get_incident_details
§
§
Return: Returns the details of one incident Parameters: incidence id Call with return in CSV http://127.0.0.1/integria/include/api.php?user=user&op=get_incident_details&params=2
Return CSV 1,"2010-02-17 01:35:35","0000-00-00 00:00:00",Myfddfe,,demo,1,1,3,3,"2010-02-17
01:50:05",user,1,0,0,,,0,0,0,0
Call with return in XML http://127.0.0.1/integria/include/api.php?user=user&op=get_incident_details&params=2&return_ty
pe=xml
Return XML <xml>
<id_incidencia>1</id_incidencia>
<inicio>2010-02-17 01:35:35</inicio>
<cierre>0000-00-00 00:00:00</cierre>
<titulo>Myfddfe</titulo>
<descripcion></descripcion>
<id_usuario>demo</id_usuario>
<origen>1</origen>
<estado>1</estado>
<prioridad>3</prioridad>
<id_grupo>3</id_grupo>
<actualizacion>2010-02-17 01:50:05</actualizacion>
<id_creator>admin</id_creator>
<notify_email>1</notify_email>
<id_task>0</id_task>
<resolution>0</resolution>
<epilog></epilog>
<id_parent></id_parent>
<sla_disabled>0</sla_disabled>
<affected_sla_id>0</affected_sla_id>
<id_incident_type>0</id_incident_type>
<score>0</score> </xml>
create_incident
§
§
Return: An incident is created Parameters: Title, Group Id, Priority, Description, Inventory Id Call with CSV return http://127.0.0.1/integria/include/api.php?user=user&op=create_incident&params=Titulo%20de%20la
%20incidencia,2,1,Descripcion%20de%20la%incidencia,1
XML Return 0
Pag 204 API functions Call with XML return http://127.0.0.1/integria/include/api.php?user=user&op=create_incident&params=Titulo%20de%20la
%20incidencia,2,1,Descripcion%20de%20la%incidencia,1&return_type=xml
XML Return <xml>
<data>0</data> </xml>
update_incident
§
§
Return: Updates the data of one incident, Parameters: Incident Id, title, description,postscritp, group id, priority, origin, solution, status Call with CSV return http://127.0.0.1/integria/include/api.php?user=user&op=update_incident&params=4,nuevo%20titulo
,nueva%20descripcion,nuevo%20epilogo,4,2,1,1,3
CSV Return 0
Call with XML return http://127.0.0.1/integria/include/api.php?user=user&op=update_incident&params=4,nuevo%20titulo
,nueva%20descripcion,nuevo%20epilogo,4,2,1,1,3&return_type=xml
XML Return <xml>
<data>0</data> </xml>
delete_incident
§
§
Return: An incident is deleted Parameters:Incident Id Call with CSV Return http://127.0.0.1/integria/include/api.php?user=user&op=delete_incident&params=3
XML Return 0
Pag 205 API functions Call with XML return http://127.0.0.1/integria/include/api.php?user=user&op=delete_incident&params=3&return_type=xm
l
XML Return <xml>
<data>0</data> </xml>
Workunits
get_incident_workunits
§
§
Return:Return a list with the workunits associated to an incident Parameters: Incident Id Call with CSV return http://127.0.0.1/integria/include/api.php?user=user&op=get_incident_workunits&params=3
CSV Return 3,"2010-02-17 01:48:48",0.25,admin,"Workunit description",0,0,,1 2,"2010-02-17
01:47:41",0.25,admin,"Another workunit description",0,0,,1
Call with XML return http://127.0.0.1/integria/include/api.php?user=user&op=get_incident_workunits&params=3&return_
type=xml
XML Return <xml>
<workunit>
<id>3</id>
<timestamp>2010-02-17
01:48:48</timestamp>
<duration>0.25</duration>
<id_user>admin</id_user>
<description>Workunit description</description>
<have_cost>0</have_cost>
<id_profile>0</id_profile>
<locked></locked>
<public>1</public>
</workunit>
<workunit>
<id>2</id>
<timestamp>2010-02-17 01:47:41</timestamp>
<duration>0.25</duration>
<id_user>admin</id_user>
<description>Another workunit description</description>
<have_cost>0</have_cost>
<id_profile>0</id_profile>
<locked></locked>
<public>1</public>
</workunit> </xml>
create_workunit
§
§
Return: Creates a workunit in an incident Parameters: incident Id, description,duration in hours, if it has generated any costs, if it is public or not, associated profile Pag 206 API functions Call with CSV Return http://127.0.0.1/integria/include/api.php?user=user&op=create_workunit&params=1,Descriopcion,0
.5,0,1,1
CSV Return 0
Call with XML return http://127.0.0.1/integria/include/api.php?user=user&op=create_workunit&params=1,Descriopcion,0
.5,0,1,1&return_type=xml
XML Return <xml>
<data>0</data> </xml>
Files
get_incident_files
§
§
Return:Return a list with the files associated to an incident Parameters: Incident Id Call with CSV return http://127.0.0.1/integria/include/api.php?user=user&op=get_incident_files&params=1
CSV Return 1,1,0,0,admin,file1.php,"php example",764026 2,1,0,0,admin,file2.png,"png example",34026
Call with XML return http://127.0.0.1/integria/include/api.php?user=user&op=get_incident_files&params=1&return_type
=xml
XML Return <xml>
<file>
<id_attachment>1</id_attachment>
<id_incidencia>1</id_incidencia>
<id_task>0</id_task>
<id_kb>0</id_kb>
<id_usuario>admin</id_usuario>
<filename>file1.php</filename>
<description>php example</description>
<size>764026</size>
</file>
<file>
<id_attachment>2</id_attachment>
<id_incidencia>1</id_incidencia>
<id_task>0</id_task>
<id_kb>0</id_kb>
<id_usuario>admin</id_usuario>
<filename>file2.png</filename>
<description>png example</description>
<size>34026</size> </file> </xml>
Pag 207 API functions download_file
§
§
Return:Return a list with the incidents to which the user that does the call has access to Parameters: string filter (string empty for all), Status filter (1 for all an 10 for the ones that are not closed), group filter (1 for all) Call with CSV Return http://127.0.0.1/integria/include/api.php?user=user&op=get_incidents&params=day,-10,1
CSV Return [file content in base64]
Call with XML return http://127.0.0.1/integria/include/api.php?user=user&op=get_incidents&params=day,10,1&return_type=xml
XML Return <xml>
<data>[contenido del fichero en base64]</data> </xml>
attach_file
§
§
Return: Adds a file to the list of files of one incident Parameters:incident Id, file name, file size in Bytes, file description, file content in base 64 Call with CSV return http://127.0.0.1/integria/include/api.php?user=user&op=attach_file&params=1,example.txt,234,Fi
chero%20de%20ejemplo,aW50ZWdyaWEgcm9ja3M=
XML Return 0
Pag 208 API functions Call with return in XML return http://127.0.0.1/integria/include/api.php?user=user&op=attach_file&params=1,example.txt,234,Fi
chero%20de%20ejemplo,aW50ZWdyaWEgcm9ja3M=&return_type=xml
XML Return <xml>
<data>0</data> </xml>
delete_file
§
§
Return:Delete a file form the file list of one incident Parameters: file Id Call with CSV return http://127.0.0.1/integria/include/api.php?user=user&op=delete_file&params=32
Return CSV 0
Call with return in XML http://127.0.0.1/integria/include/api.php?user=user&op=delete_file&params=32&return_type=xml
XML Return <xml>
<data>0</data> </xml>
Users
create_user
Call used to create a user in the system passing some parameters, including a first group/profile assignment. If you need to assign another group/profile, you need to use an aditional call to associate group/profile to that user. §
Return: Returns 1 if user is created successfully, 0 if not. §
Parameters: user, pass, params [(username, group_id, profile_id, email, password, description, simplemode, realname, externaluser)] Example: Pag 209 API functions http://localhost/integria/include/api.php?op=create_user&user=admin&params=jorge,5,4,jorge@lux
.com,none,This is a normal user,0,Jorge Gonzalez,1
validate_user
§
§
Return: Returns 1 if pair of user/pass is correct, 0 if not Parameters: user, pass Sample: http://localhost/integria/include/api.php?op=validate_user&user=admin&pass=integria
Leads
create_lead
Call used to create one lead. §
Returns: Returns 1 if it is created correctly, and 0 if not. §
Parameters: Fullname, company, email, country, estimated_sale, progress, phone, mobile, position, owner, language, comments, category, managed_by, campaign Example: http://192.168.70.163/integria/include/api.php?user=api_user&op=create_lead%C2%B6ms=Dario,Arti
ca+ST,Rodriguez,Spain,0,0,55566677,6665577,Developer,admin,es,This comment is very
important,1,0,7
Others
get_incident_tracking
§
Return: Returns a list with the incident tracking Call with CSV return http://127.0.0.1/integria/include/api.php?user=user&op=get_incident_tracking&params=2
Pag 210 API functions Return CSV 9,2,0,"2010-02-17 01:56:33",demo,0,Created 10,2,2,"2010-02-17 02:06:58",demo,0,"Workunit
added"
Call with return in XML http://127.0.0.1/integria/include/api.php?user=user&op=get_incident_tracking&params=2&return_t
ype=xml
XML Return <xml>
<tracking>
<id_it>9</id_it>
<id_incident>2</id_incident>
<state>0</state>
<timestamp>201002-17 01:56:33</timestamp>
<id_user>demo</id_user>
<id_aditional>0</id_aditional>
<description>Created</description>
</tracking>
<tracking>
<id_it>10</id_it>
<id_incident>2</id_incident>
<state>2</state>
<timestamp>201002-17 02:06:58</timestamp>
<id_user>demo</id_user>
<id_aditional>0</id_aditional>
<description>Workunit added</description>
</tracking> </xml>
get_incidents_resolutions
§
§
Return: Returns a list with the identifiers an names of the Integria incident resolutions Parameters: -­‐ Call with CSV return http://127.0.0.1/integria/include/api.php?user=user&op=get_incidents_resolutions
Return CSV 1,Fixed 2,Invalid 3,"Wont fix"
Call with return in XML http://127.0.0.1/integria/include/api.php?user=user&op=get_incidents_resolutions&return_type=x
ml
XML Return <xml>
<resolution>
<id>1</id>
</resolution>
<resolution>
<id>2</id>
<name>Invalid</name>
</resolution>
<resolution>
<name>Wont fix</name>
</resolution> </xml>
<name>Fixed</name>
<id>3</id>
get_incidents_status
Pag 211 §
§
API functions Return: Returns a list with the identifiers an names of the Integria incident status Parametros: -­‐ Call with CSV return http://127.0.0.1/integria/include/api.php?user=user&op=get_incidents_status
Return CSV 1,New 2,Unconfirmed 3,Assigned
Call with return in XML http://127.0.0.1/integria/include/api.php?user=user&op=get_incidents_status&return_type=xml
XML Return <xml>
<status>
</status>
<status>
</status>
<status>
</status> </xml>
<id>1</id>
<id>2</id>
<id>3</id>
<name>New</name>
<name>Unconfirmed</name>
<name>Assigned</name>
get_incidents_sources
§
§
Result: Return a list with the identifiers an names of the Intergria origins Parameters: -­‐ Call with CSV return http://127.0.0.1/integria/include/api.php?user=user&op=get_incidents_sources
Return CSV 1,"User report" 2,Customer 3,"Internal department"
Call with XML return http://127.0.0.1/integria/include/api.php?user=user&op=get_incidents_sources&return_type=xml
Pag 212 API functions XML Return <xml>
<source>
<id>1</id>
</source>
<source>
<id>2</id>
</source>
<source>
<id>3</id>
department"</name>
</source> </xml>
<name>"User report"</name>
<name>Customer</name>
<name>"Internal
get_groups
§
§
Return: Returns a list with the identifiers and names of the Integria groups Parameters: -­‐ Call with CSV return http://127.0.0.1/integria/include/api.php?user=user&op=get_groups
Return CSV 2,"Customer #A" 3,"Customer #B" 4,Engineering
Call with return in XML http://127.0.0.1/integria/include/api.php?user=user&op=get_groups&return_type=xml
XML Return <xml>
<group>
</group>
<group>
</group>
<group>
</group> </xml>
<id>1</id>
<id>2</id>
<id>3</id>
<name>"Customer #A"</name>
<name>"Customer #B"</name>
<name>Engineering</name>
get_users
§
Return:Returns a list with the users that the user that does the call can see. Call with return in CSV http://127.0.0.1/integria/include/api.php?user=user&op=get_users
Return CSV usuario1 usuario2 usuario3
Pag 213 API functions Call with return in XML http://127.0.0.1/integria/include/api.php?user=user&op=get_incidents&params=day,10,1&return_type=xml
XML Return <xml>
</xml>
<id_user>usuario1</id_user> <id_user>usuario2</id_user> <id_user>usuario3</id_user>
get_stats
§
§
Returns: Returns a values with the result of the query. Parameters: The following parameters are expected: metric, string, status, id_user, id_group, id_company, id_product and id_inventory. § metric: Metric requested, the following values are available: § total_incidents: Number of incidents (is limited by Integria maximun incidents number). § opened: Number of incidents open. § closed: Number of incidents closed. § avg_life: Incident average life, in seconds. § sla_compliance: Percentage of SLA compliance. § avg_scoring: Incident average scoring, from 0 up to 10. § avg_worktime: Incident average worktime, in seconds. § string: String which is used like a filter when searching for incidents. § status: String with values separated by comas, with values between 1 and 7. (By default the string is 1,2,3,4,5,6,7) § id_user: Id to filter by user. (By default ""). § id_group: Id to filter by group. (By default 1). § id_company: Id to filter by company. (By default 0). § id_product: Id to filter by product. (By default 0). § id_inventory: Id to filter by inventory. (By default 0). Call which returns CSV code Get % of SLA compliance: Pag 214 API functions http://127.0.0.1/integria/include/api.php?user=user&op=get_stats&params=sla_compliance
Get total of incidents in any group with NEW status http://127.0.0.1/integria/include/api.php?user=user&op=get_stats&params=opened,,1
Get total of incidents opened (any status, any group) http://127.0.0.1/integria/include/api.php?user=user&op=get_stats&params=opened
CSV Result 1,"Sample inventory object" 2,"Another inventory" 3,Thirdventory
Call which returns XML code http://127.0.0.1/integria/include/api.php?user=user&op=get_stats&params=sla_compliance&return_
type=xml
XML returned <xml>
<data>97</data> </xml>
get_inventories
§
§
Return: Returns one list with the identifiers and names of the Integria inventories Parameters Call with CSV return http://127.0.0.1/integria/include/api.php?user=user&op=get_inventories
CSV Return 1,"Sample inventory object" 2,"Another inventory" 3,Thirdventory
Call with XML return http://127.0.0.1/integria/include/api.php?user=user&op=get_inventories&return_type=xml
Pag 215 API functions XML Return <xml>
<inventory>
object</name>
</inventory>
<name>Another inventory</name>
<id>3</id>
<id>1</id>
<name>Sample inventory
<inventory>
<id>2</id>
</inventory>
<inventory>
<name>Thirdventory</name>
</inventory> </xml>
get_last_cron_execution
§
Result: Time (in minutes) from the last crontask execution. Call http://127.0.0.1/integria/include/api.php?user=user&op=get_last_cron_execution
Result 3 Call with XML output http://127.0.0.1/integria/include/api.php?user=user&op=get_last_cron_execution&return_type=xml
Resultado XML <xml>
<cronjob>
<last_exec>3</last_exec>
</cronjob> </xml>
get_num_queued_emails
§
Return: Returns the number of emails that are pending to be send. Call http://127.0.0.1/integria/include/api.php?user=user&op=get_num_queued_emails
Return 20 Call with XML return http://127.0.0.1/integria/include/api.php?user=user&op=get_num_queued_emails&return_type=xml
Pag 216 API Extension XML Return <xml>
<pending_email>
16. <num>20</num>
</pending_email> </xml>
API Extension To develop new calls for tha API, you should consider this: §
§
§
The call has to be done as a function in the file<instalación Integria>/include/functions_api.php, and also be among the valid functions in the file <instalación Integria>/include/api.php . The function should return a single value or an array of pairs, for example name-­‐value The format of the return of the call to XML or CSV is done in the file api.php in an automatic way. Examples of API functions
Example of function that return a single value
Definition in the file functions_api.php: function host_risk ($host_name) {
$host_id = get_hosts_id($host_name);
there is not a host with this name return false
if (!$host_id) {
false;
}
$risk = return_last_risk_agent($host_id);
return $risk; }
//If
return
Call on the file api.php: switch ($op) {
...
case "host_risk":
if (isset($params['0'])) {
Example of function that returns a list of values
Definition in the file functions_api.php: function all_host_risk() {
//Check if there is host or not
}
$result = array();
get_host_name($host['id']);
//Get all host
$hosts = get_hosts();
if (empty($hosts)) {
return false;
foreach ($hosts as $host) {
$host_name =
$risk = return_last_risk_agent($host['id']);
Call in the file api.php: Pag 217 switch ($op) {
...
break;
case "all_host_risk":
...
}
API Extension $result = all_host_risk ();
Pag 218 17. Extension system Extension system Integia IMS has an extension system that allows to expand its funcionalities and be adjusted to different users. This extensions also allow an easier way to extend or create new sections. There are three extension types at the moment: §
§
§
Menu Setup Tab Since this is a feature in development, the types can be increased in the future. Extension Menu
The extensions of this type appear on the side menu of Integria IMS, just before the calendar box. It is possible to add menu extensions in any section. Creating an Extension Menu
With, at less, PHP knowledges, it is possible to create an extension. For this is necessary create a .php script in the directory extensions, which is inside the root directory of Integria. This file will be in charge of the register and load of the funcionalities. Certains functions should be added to the load file in order to register the extension. Pag 219 Extension system extensions_add_side_menu_option ([Name], [section]);
With this function, it will appear in the extension box of the specified section with the specified name. To know the name of the section on which is wanted to assign the expansion, it is needed to find the parameter sec in the Integria urls. http://[host]/integria/index.php?sec=customers&sec2=operation/companies/company_detail
Here is possible to see that the name of the customers section is customers. Once it appears, there is to indicate what happen when an user clicks on it. extensions_add_main_function ([Function name]);
It is possible to indicate with this function, with a string type variable, which function should be executed to show the extension information. With a function that shows the resulting information in html, other to indicate on which section should be appear and another to indicate what to do when an user clicks on it, writed in a .php file in the extensions directory, it is possible to create an extension. If additional libraries or other resources are needed, could be added in a directory called as the main file in the extensions directory. Example: <?php function extension1_main() {
echo "Hello World"; } extensions_add_side_menu_option
('Extension 1', 'customers'); extensions_add_main_function ('extension1_main'); ?>
Setup extensions
This is a special extension type very similar as the menu extensions, with the particularity of be designed to appear on the Integria IMS setup. This makes it perfect to act as an extension configuration section. Creating a setup extension
Pag 220 Extension system Same as in the menu extensions, it should be registered: extensions_add_godmode_side_menu_option ([Name]);
And it is needed to indicate which function will load the information: extensions_add_godmode_function ([Function name]);
Example: <?php function extension1_main() {
echo "<div style='color:".$config['color'].";'>Hello
World</div>"; } function extension1_setup() {
$color = (string) $_POST['e1_color']; if
($color) {
update_config_token('color', $color); }
echo "<form>";
echo "
<input name='e1_color' type='text' value='$color'>";
echo "
<input
type='submit' name='upd_button' value='Update'>";
echo "</form>"; }
extensions_add_side_menu_option ('Extension 1', 'customers'); extensions_add_main_function
('extension1_main'); extensions_add_godmode_side_menu_option ('Extensión 1 setup');
extensions_add_godmode_function ('extension1_setup'); ?>
Tab extensions
This extensions will appear on the selected tab list. Creating a tab extension
Is very similar to the menu extension, but this type can get some parameters from the subsection. To register it, will be necessary to use this function: extensions_add_tab_option ([Tab id], [Name], [Tab list subsection], [Icon path], [Tab list
id]);
Pag 221 Extension system The icon path is optional and begins from the extensions directory, the same as the tablist id, that is necessary only when there are more than one tab list on the subsection. To know the name of the subsection on which is wanted to assign the expansion, it is needed to find the parameter sec2 in the Integria urls. http://[host]/integria/index.php?sec=incidents&sec2=operation/incidents/incident_dashboard_det
ail&id=[Incident id]
For example, the subsection name of an incident detail view is operation/incidents/incident_dashboard_detail. To indicate which function will run to show the extension information: extensions_add_tab_function ([Function name]);
Example: <?php function extension1_main() {
echo "<div style='color:".$config['color'].";'>Hello
World</div>"; } function extension1_setup() {
$color = (string) $_POST['e1_color']; if
($color) {
update_config_token('color', $color); }
echo "<form>";
echo "
<input name='e1_color' type='text' value='$color'>";
echo "
<input
type='submit' name='upd_button' value='Update'>";
echo "</form>"; }
extensions_add_side_menu_option ('Extension 1', 'customers'); extensions_add_main_function
('extension1_main'); extensions_add_godmode_side_menu_option ('Extensión 1 setup');
extensions_add_godmode_function ('extension1_setup'); extensions_add_tab_option ('extension1',
'Extension 1', "operation/incidents/incident_dashboard_detail",
"extension1/images/integria_mini_logo.png", "incident-details-view");
extensions_add_tab_function ('extension1_main'); ?>
Available tab lists
At the moment, the only tab list that can contain extensions is the main tab list of an incident detail view, but more places will come in the future. Incident detail view §
Received parameters: id (Incident ID). §
Subsection: operation/incidents/incident_dashboard_detail. §
Tab list id: incident-­‐details-­‐view. Pag 222 

Documentos relacionados