MultiGLPi Specifications » History » Version 6

walid, 05/24/2011 10:28 PM

1 1 walid
h1. MultiGLPi Specifications
2 1 walid
3 1 walid
h2. Dependancies
4 1 walid
5 2 walid
This plugin will needs the following softwares to work :
6 1 walid
* GLPI 0.80 and higher
7 1 walid
* WebServices plugin version 1.1.0 and higher
8 1 walid
9 1 walid
h2. Uses cases 
10 1 walid
11 1 walid
* Unidirectionnal synchronization between one central and several local GLPI
12 1 walid
* Bidirectionnal synchronization between or more GLPI
13 1 walid
14 6 walid
For each source GLPI, it'll be possible to choose with items to synchronize.
15 6 walid
16 5 walid
h2. Synchronization protocol
17 5 walid
18 5 walid
It'll be possible to choose which protocol to use :
19 5 walid
* SOAP
20 5 walid
* XML-RPC
21 5 walid
* REST
22 5 walid
23 1 walid
h2. Workflow
24 1 walid
25 1 walid
h2. Tables
26 1 walid
27 3 SphynXz
28 3 SphynXz
h3. GLPI items
29 3 SphynXz
30 3 SphynXz
31 3 SphynXz
list of GLPI items to synchronise for each slave server
32 3 SphynXz
33 3 SphynXz
<pre>
34 3 SphynXz
DROP TABLE IF EXISTS `glpi_plugin_multiglpi_items`;
35 4 SphynXz
CREATE TABLE IF NOT EXISTS `glpi_plugin_multiglpi_items` (
36 3 SphynXz
  `id` int(11) NOT NULL auto_increment,
37 3 SphynXz
  `item` varchar(255) collate utf8_unicode_ci default NULL,
38 3 SphynXz
  `type` ENUM('core','plugin') NOT NULL default 'core',
39 3 SphynXz
  `is_active` TINYINT NOT NULL default '0', //Activate or not this slave
40 3 SphynXz
  `multiglpi_servers_id` TINYINT NOT NULL default '1',
41 3 SphynXz
   PRIMARY KEY  (`id`)
42 3 SphynXz
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
43 3 SphynXz
</pre>
44 3 SphynXz
45 3 SphynXz
46 3 SphynXz
47 1 walid
h3. Slave GLPI servers
48 1 walid
49 1 walid
<pre>
50 1 walid
DROP TABLE IF EXISTS `glpi_plugin_multiglpi_servers`;
51 1 walid
CREATE TABLE IF NOT EXISTS `glpi_plugin_multiglpi_servers` (
52 1 walid
  `id` int(11) NOT NULL auto_increment,
53 1 walid
  `name` varchar(255) collate utf8_unicode_ci default NULL,
54 1 walid
  `host` varchar(255) collate utf8_unicode_ci default NULL,
55 1 walid
  `url` varchar(255) collate utf8_unicode_ci default NULL,
56 1 walid
  `ws_user` varchar(50) collate utf8_unicode_ci default NULL,
57 1 walid
  `ws_pass` varchar(50) collate utf8_unicode_ci default NULL,
58 1 walid
  `glpi_user` varchar(50) collate utf8_unicode_ci default NULL,
59 1 walid
  `glpi_pass` varchar(50) collate utf8_unicode_ci default NULL,
60 1 walid
  `is_active` TINYINT NOT NULL default '0', //Activate or not this slave
61 1 walid
  `protocols_id` TINYINT NOT NULL default '1',
62 1 walid
  `entities_id_base` TINYINT NOT NULL default '0', //Source entity ID
63 1 walid
  `is_deflate` TINYINT NOT NULL default '0',
64 1 walid
  `session` varchar(255) collate utf8_unicode_ci default NULL,  
65 1 walid
  `comment` text collate utf8_unicode_ci,
66 1 walid
   PRIMARY KEY  (`id`)
67 1 walid
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
68 1 walid
</pre>
69 1 walid
70 1 walid
h3. Changelog table
71 1 walid
72 1 walid
This table logs all changes in the local GLPI. Will be used by a remote GLPI to get changes since last synchronization.
73 1 walid
74 1 walid
<pre>
75 1 walid
DROP TABLE IF EXISTS `glpi_plugin_multiglpi_logs`;
76 1 walid
CREATE TABLE IF NOT EXISTS `glpi_plugin_multiglpi_logs` (
77 1 walid
     `id` int(11) NOT NULL auto_increment,
78 1 walid
     `items_id` int(11) NOT NULL auto_increment,
79 1 walid
     `itemtype` varchar(50) collate utf8_unicode_ci default NULL,
80 1 walid
     `change_type` varchar(50) collate utf8_unicode_ci default NULL, //[add|update|delete|purge]
81 1 walid
     `change_date` datetime NOT NULL,
82 1 walid
   PRIMARY KEY  (`id`)
83 1 walid
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
84 1 walid
</pre>
85 1 walid
86 1 walid
h3. Links table
87 1 walid
88 1 walid
This table link an unique object in the source and remote GLPI
89 1 walid
<pre>
90 1 walid
DROP TABLE IF EXISTS `glpi_plugin_multiglpi_links`;
91 1 walid
CREATE TABLE IF NOT EXISTS `glpi_plugin_multiglpi_links` (
92 1 walid
     `id` int(11) NOT NULL auto_increment,    
93 1 walid
     `masters_id` int(11) NOT NULL auto_increment, //ID in the master GLPI
94 1 walid
     `slaves_id` int(11) NOT NULL auto_increment, //ID in the slave GLPI
95 1 walid
     `itemtype` varchar(50) collate utf8_unicode_ci default NULL, //Object's itemtype
96 1 walid
   PRIMARY KEY  (`id`)
97 1 walid
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
98 1 walid
</pre>