MultiGLPi Specifications » History » Version 5

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