Просмотр исходного кода

Split of the datamodel into 5 modules:
- Core (as before, mandatory)
- Storage
- End-User devices
- Datacenter devices
- Virtualization

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@2352 a333f486-631f-4898-b8df-5754b55c2be0

dflaven 12 лет назад
Родитель
Сommit
f361a3dec7
54 измененных файлов с 5096 добавлено и 4732 удалено
  1. 169 141
      datamodels/2.x/installation.xml
  2. 0 194
      datamodels/2.x/itop-config-mgmt/cis_menu.xml
  3. 0 30
      datamodels/2.x/itop-config-mgmt/contacts_menu.xml
  4. 459 4296
      datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml
  5. BIN
      datamodels/2.x/itop-config-mgmt/images/cluster.png
  6. BIN
      datamodels/2.x/itop-config-mgmt/images/enclosure.png
  7. BIN
      datamodels/2.x/itop-config-mgmt/images/filesystem.png
  8. BIN
      datamodels/2.x/itop-config-mgmt/images/hypervisor.png
  9. BIN
      datamodels/2.x/itop-config-mgmt/images/powersource.png
  10. BIN
      datamodels/2.x/itop-config-mgmt/images/powerstart.png
  11. BIN
      datamodels/2.x/itop-config-mgmt/images/rack.png
  12. BIN
      datamodels/2.x/itop-config-mgmt/images/server.png
  13. BIN
      datamodels/2.x/itop-config-mgmt/images/switch.png
  14. BIN
      datamodels/2.x/itop-config-mgmt/images/webserver.png
  15. 0 4
      datamodels/2.x/itop-config-mgmt/module.itop-config-mgmt.php
  16. 0 0
      datamodels/2.x/itop-datacenter-mgmt/data.sample.racks.xml
  17. BIN
      datamodels/2.x/itop-datacenter-mgmt/images/rack.png
  18. 1 0
      datamodels/2.x/itop-datacenter-mgmt/module.itop-datacenter-mgmt.php
  19. 1443 0
      datamodels/2.x/itop-endusers-devices/datamodel.itop-enduser-devices.xml
  20. 29 0
      datamodels/2.x/itop-endusers-devices/en.dict.itop-endusers-devices.php
  21. 0 0
      datamodels/2.x/itop-endusers-devices/images/ipphone.png
  22. 0 0
      datamodels/2.x/itop-endusers-devices/images/laptop.png
  23. 0 0
      datamodels/2.x/itop-endusers-devices/images/mobile-phone.png
  24. 0 0
      datamodels/2.x/itop-endusers-devices/images/peripherals.png
  25. 0 0
      datamodels/2.x/itop-endusers-devices/images/phone.png
  26. BIN
      datamodels/2.x/itop-endusers-devices/images/printer.png
  27. 0 0
      datamodels/2.x/itop-endusers-devices/images/tablet.png
  28. 63 0
      datamodels/2.x/itop-endusers-devices/module.itop-endusers-devices.php
  29. 26 0
      datamodels/2.x/itop-request-mgmt-itil/datamodel.itop-request-mgmt-itil.xml
  30. 26 0
      datamodels/2.x/itop-request-mgmt/datamodel.itop-request-mgmt.xml
  31. 1855 0
      datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml
  32. 29 0
      datamodels/2.x/itop-storage-mgmt/en.dict.itop-storage-mgmt.php
  33. BIN
      datamodels/2.x/itop-storage-mgmt/images/diskarray.png
  34. 0 0
      datamodels/2.x/itop-storage-mgmt/images/nas.jpeg
  35. 0 0
      datamodels/2.x/itop-storage-mgmt/images/storageArea.png
  36. BIN
      datamodels/2.x/itop-storage-mgmt/images/switch.png
  37. 0 0
      datamodels/2.x/itop-storage-mgmt/images/tape.png
  38. 0 0
      datamodels/2.x/itop-storage-mgmt/images/tapelibrary.png
  39. BIN
      datamodels/2.x/itop-storage-mgmt/images/volume.png
  40. 63 0
      datamodels/2.x/itop-storage-mgmt/module.itop-storage-mgmt.php
  41. 0 0
      datamodels/2.x/itop-virtualization-mgmt/data.sample.farm.xml
  42. 0 0
      datamodels/2.x/itop-virtualization-mgmt/data.sample.hypervisor.xml
  43. 0 0
      datamodels/2.x/itop-virtualization-mgmt/data.sample.vm.xml
  44. 835 0
      datamodels/2.x/itop-virtualization-mgmt/datamodel.itop-virtualization-mgmt.xml
  45. 29 0
      datamodels/2.x/itop-virtualization-mgmt/en.dict.itop-virtualization-mgmt.php
  46. BIN
      datamodels/2.x/itop-virtualization-mgmt/images/cluster.png
  47. BIN
      datamodels/2.x/itop-virtualization-mgmt/images/hypervisor-sw.png
  48. BIN
      datamodels/2.x/itop-virtualization-mgmt/images/hypervisor.png
  49. 0 0
      datamodels/2.x/itop-virtualization-mgmt/images/virtualmachine.png
  50. BIN
      datamodels/2.x/itop-virtualization-mgmt/images/vlan.png
  51. 66 0
      datamodels/2.x/itop-virtualization-mgmt/module.itop-virtualization-mgmt.php
  52. 2 2
      datamodels/2.x/itop-welcome-itil/main.itop-welcome-itil.php
  53. 1 0
      datamodels/2.x/itop-welcome-itil/module.itop-welcome-itil.php
  54. 0 65
      datamodels/2.x/itop-welcome-itil/welcome_menu.xml

+ 169 - 141
datamodels/2.x/installation.xml

@@ -1,144 +1,172 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <installation>
-<steps type="array">
-	<step>
-		<title>Configuration Management options</title>
-		<description><![CDATA[<h2>The options below allow you to configure the type of elements that are to be managed inside iTop.</h2>]]></description>
-		<banner>/images/modules.png</banner>
-		<options type="array">
-			<choice>
-				<title>Configuration Management Base</title>
-				<description>This module is always installed, it contains all the base objects that are mandatory in the iTop CMDB: Organizations, Locations, Teams, Persons, etc.</description>
-				<modules type="array">
-					<module>itop-config-mgmt</module>
-					<module>itop-attachments</module>
-					<module>itop-profiles-itil</module>
-					<module>itop-welcome-itil</module>
-				</modules>
-				<mandatory>true</mandatory>
-			</choice>
-		</options>
-	</step>
-	<step>
-		<title>Service Management options</title>
-		<description><![CDATA[<h2>Select the choice that best describes the relationships between the services and the IT infrastructure in your IT environment.</h2>]]></description>
-		<banner>./wizard_icons/service.png</banner>
-		<alternatives type="array">
-			<choice>
-				<title>Service Management for Enterprises</title>
-				<description>Select this option if the IT delivers services based on a shared infrastructure. For example if different organizations within your company subscribe to services (like Mail and Print services) delivered by a single shared backend.</description>
-				<modules type="array">
-					<module>itop-service-mgmt</module>
-				</modules>
-				<default>true</default>
-			</choice>
-			<choice>
-				<title>Service Management for Service Providers</title>
-				<description>Select this option if the IT manages the infrastructure of independent customers. This is the most flexible model, since the services can be delivered with a mix of shared and customer specific infrastructure devices.</description>
-				<modules type="array">
-					<module>itop-service-mgmt-provider</module>
-				</modules>
-			</choice>
-		</alternatives>
-	</step>
-	<step>
-		<title>Tickets Management options</title>
-		<description>Select the type of tickets you want to use in order to respond to user requests and incidents.</description>
-		<banner></banner>
-		<alternatives type="array">
-			<choice>
-				<title>Simple Ticket Management</title>
-				<description>Select this option to use one single type of tickets for all kind of requests.</description>
-				<modules type="array">
-					<module>itop-tickets</module>
-					<module>itop-request-mgmt</module>
-				</modules>
-				<default>true</default>
-			</choice>
-			<choice>
-				<title>ITIL Compliant Tickets Management</title>
-				<description>Select this option to have different types of ticket for managing user requests and incidents. Each type of ticket has a specific life cycle and specific fields</description>
-				<modules type="array">
-					<module>itop-tickets</module>
-				</modules>
-				<sub_options>
-					<options type="array">
-						<choice>
-							<title>User Request Management</title>
-							<description>Manage User Request tickets in iTop</description>
-							<modules type="array">
-								<module>itop-request-mgmt-itil</module>
-							</modules>
-						</choice>
-						<choice>
-							<title>Incident Management</title>
-							<description>Manage Incidents tickets in iTop</description>
-							<modules type="array">
-								<module>itop-incident-mgmt-itil</module>
-							</modules>
-						</choice>
-					</options>
-				</sub_options>
-			</choice>
-			<choice>
-				<title>None</title>
-				<description>Don't manage incidents in iTop</description>
-				<modules type="array">
-				</modules>
-			</choice>
-		</alternatives>
-	</step>
-	<step>
-		<title>Change Management options</title>
-		<description><![CDATA[<h2>Select the type of tickets you want to use in order to manage changes to the IT infrastructure.</h2>]]></description>
-		<banner>./itop-change-mgmt-1.0.0/images/change.png</banner>
-		<alternatives type="array">
-			<choice>
-				<title>Simple Change Management</title>
-				<description>Select this option to use one type of ticket for all kind of changes.</description>
-				<modules type="array">
-					<module>itop-change-mgmt</module>
-				</modules>
-				<default>true</default>
-			</choice>
-			<choice>
-				<title>ITIL Change Management</title>
-				<description>Select this option to use Normal/Routine/Emergency change tickets.</description>
-				<modules type="array">
-					<module>itop-change-mgmt-itil</module>
-				</modules>
-				<default>false</default>
-			</choice>
-			<choice>
-				<title>None</title>
-				<description>Don't manage changes in iTop</description>
-				<modules type="array">
-				</modules>
-			</choice>
-		</alternatives>
-	</step>
-	<step>
-		<title>Additional ITIL tickets</title>
-		<description><![CDATA[<h2>Pick from the list below the additional ITIl processes that are to be implemented in iTop.</h2>]]></description>
-		<banner>./itop-change-mgmt-1.0.0/images/change.png</banner>
-		<options type="array">
-			<choice>
-				<title>Known Errors Management</title>
-				<description>Select this option to track "Known Errors" in iTop.</description>
-				<modules type="array">
-					<module>itop-knownerror-mgmt</module>
-				</modules>
-				<default>false</default>
-			</choice>
-			<choice>
-				<title>Problem Management</title>
-				<description>Select this option track "Problems" in iTop.</description>
-				<modules type="array">
-					<module>itop-problem-mgmt</module>
-				</modules>
-				<default>false</default>
-			</choice>
-		</options>
-	</step>
-</steps>
+  <steps type="array">
+    <step>
+      <title>Configuration Management options</title>
+      <description><![CDATA[<h2>The options below allow you to configure the type of elements that are to be managed inside iTop.</h2>]]></description>
+      <banner>/images/modules.png</banner>
+      <options type="array">
+        <choice>
+          <title>Configuration Management Base</title>
+          <description>This module is always installed, it contains all the base objects that are mandatory in the iTop CMDB: Organizations, Locations, Teams, Persons, etc.</description>
+          <modules type="array">
+            <module>itop-config-mgmt</module>
+            <module>itop-attachments</module>
+            <module>itop-profiles-itil</module>
+            <module>itop-welcome-itil</module>
+          </modules>
+          <mandatory>true</mandatory>
+        </choice>
+        <choice>
+          <title>Data Center Devices</title>
+          <description>Manage Data Center devices such as racks, enclosures, etc.</description>
+          <modules type="array">
+            <module>itop-datacenter-mgmt</module>
+          </modules>
+        </choice>
+        <choice>
+          <title>End-User Devices</title>
+          <description>Manage devices related to end-users: PCs, Phones, Tablets, etc.</description>
+          <modules type="array">
+            <module>itop-endusers-devices</module>
+          </modules>
+        </choice>
+        <choice>
+          <title>Storage Devices</title>
+          <description>Manage storage devices such as NAS, SAN Switches, Tape Libraries and Tapes, Logical volumes, etc.</description>
+          <modules type="array">
+            <module>itop-storage-mgmt</module>
+          </modules>
+        </choice>
+        <choice>
+          <title>Virtualization</title>
+          <description>Manage Hypervisors, Virtual Machines and Farms.</description>
+          <modules type="array">
+            <module>itop-virtualization-mgmt</module>
+          </modules>
+        </choice>
+      </options>
+    </step>
+    <step>
+      <title>Service Management options</title>
+      <description><![CDATA[<h2>Select the choice that best describes the relationships between the services and the IT infrastructure in your IT environment.</h2>]]></description>
+      <banner>./wizard_icons/service.png</banner>
+      <alternatives type="array">
+        <choice>
+          <title>Service Management for Enterprises</title>
+          <description>Select this option if the IT delivers services based on a shared infrastructure. For example if different organizations within your company subscribe to services (like Mail and Print services) delivered by a single shared backend.</description>
+          <modules type="array">
+            <module>itop-service-mgmt</module>
+          </modules>
+          <default>true</default>
+        </choice>
+        <choice>
+          <title>Service Management for Service Providers</title>
+          <description>Select this option if the IT manages the infrastructure of independent customers. This is the most flexible model, since the services can be delivered with a mix of shared and customer specific infrastructure devices.</description>
+          <modules type="array">
+            <module>itop-service-mgmt-provider</module>
+          </modules>
+        </choice>
+      </alternatives>
+    </step>
+    <step>
+      <title>Tickets Management options</title>
+      <description>Select the type of tickets you want to use in order to respond to user requests and incidents.</description>
+      <banner></banner>
+      <alternatives type="array">
+        <choice>
+          <title>Simple Ticket Management</title>
+          <description>Select this option to use one single type of tickets for all kind of requests.</description>
+          <modules type="array">
+            <module>itop-tickets</module>
+            <module>itop-request-mgmt</module>
+          </modules>
+          <default>true</default>
+        </choice>
+        <choice>
+          <title>ITIL Compliant Tickets Management</title>
+          <description>Select this option to have different types of ticket for managing user requests and incidents. Each type of ticket has a specific life cycle and specific fields</description>
+          <modules type="array">
+            <module>itop-tickets</module>
+          </modules>
+          <sub_options>
+            <options type="array">
+              <choice>
+                <title>User Request Management</title>
+                <description>Manage User Request tickets in iTop</description>
+                <modules type="array">
+                  <module>itop-request-mgmt-itil</module>
+                </modules>
+              </choice>
+              <choice>
+                <title>Incident Management</title>
+                <description>Manage Incidents tickets in iTop</description>
+                <modules type="array">
+                  <module>itop-incident-mgmt-itil</module>
+                </modules>
+              </choice>
+            </options>
+          </sub_options>
+        </choice>
+        <choice>
+          <title>None</title>
+          <description>Don't manage incidents in iTop</description>
+          <modules type="array">
+          </modules>
+        </choice>
+      </alternatives>
+    </step>
+    <step>
+      <title>Change Management options</title>
+      <description><![CDATA[<h2>Select the type of tickets you want to use in order to manage changes to the IT infrastructure.</h2>]]></description>
+      <banner>./itop-change-mgmt-1.0.0/images/change.png</banner>
+      <alternatives type="array">
+        <choice>
+          <title>Simple Change Management</title>
+          <description>Select this option to use one type of ticket for all kind of changes.</description>
+          <modules type="array">
+            <module>itop-change-mgmt</module>
+          </modules>
+          <default>true</default>
+        </choice>
+        <choice>
+          <title>ITIL Change Management</title>
+          <description>Select this option to use Normal/Routine/Emergency change tickets.</description>
+          <modules type="array">
+            <module>itop-change-mgmt-itil</module>
+          </modules>
+          <default>false</default>
+        </choice>
+        <choice>
+          <title>None</title>
+          <description>Don't manage changes in iTop</description>
+          <modules type="array">
+          </modules>
+        </choice>
+      </alternatives>
+    </step>
+    <step>
+      <title>Additional ITIL tickets</title>
+      <description><![CDATA[<h2>Pick from the list below the additional ITIl processes that are to be implemented in iTop.</h2>]]></description>
+      <banner>./itop-change-mgmt-1.0.0/images/change.png</banner>
+      <options type="array">
+        <choice>
+          <title>Known Errors Management</title>
+          <description>Select this option to track "Known Errors" in iTop.</description>
+          <modules type="array">
+            <module>itop-knownerror-mgmt</module>
+          </modules>
+          <default>false</default>
+        </choice>
+        <choice>
+          <title>Problem Management</title>
+          <description>Select this option track "Problems" in iTop.</description>
+          <modules type="array">
+            <module>itop-problem-mgmt</module>
+          </modules>
+          <default>false</default>
+        </choice>
+      </options>
+    </step>
+  </steps>
 </installation>

+ 0 - 194
datamodels/2.x/itop-config-mgmt/cis_menu.xml

@@ -1,194 +0,0 @@
-<?xml version="1.0"?>
-<dashboard xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <layout>DashboardLayoutOneCol</layout>
-  <title></title>
-  <cells>
-    <cell id="0">
-      <rank>0</rank>
-      <dashlets>
-        <dashlet id="1" xsi:type="DashletHeaderStatic">
-          <rank>0</rank>
-          <title>Menu:ConfigManagement:AllDevices</title>
-          <icon>itop-config-mgmt/images/server.png</icon>
-          <subtitle>Menu_ConfigManagement_AllDevices</subtitle>
-        </dashlet>
-        <dashlet id="2" xsi:type="DashletBadge">
-          <rank>1</rank>
-          <class>Rack</class>
-        </dashlet>
-        <dashlet id="3" xsi:type="DashletBadge">
-          <rank>2</rank>
-          <class>Enclosure</class>
-        </dashlet>
-        <dashlet id="4" xsi:type="DashletBadge">
-          <rank>3</rank>
-          <class>Server</class>
-        </dashlet>
-        <dashlet id="5" xsi:type="DashletBadge">
-          <rank>4</rank>
-          <class>NetworkDevice</class>
-        </dashlet>
-        <dashlet id="6" xsi:type="DashletBadge">
-          <rank>5</rank>
-          <class>StorageSystem</class>
-        </dashlet>
-        <dashlet id="7" xsi:type="DashletBadge">
-          <rank>6</rank>
-          <class>SANSwitch</class>
-        </dashlet>
-        <dashlet id="8" xsi:type="DashletBadge">
-          <rank>7</rank>
-          <class>NAS</class>
-        </dashlet>
-        <dashlet id="9" xsi:type="DashletBadge">
-          <rank>8</rank>
-          <class>TapeLibrary</class>
-        </dashlet>
-        <dashlet id="10" xsi:type="DashletBadge">
-          <rank>9</rank>
-          <class>ElectricalConnection</class>
-        </dashlet>
-      </dashlets>
-    </cell>
-    <cell id="1">
-      <rank>1</rank>
-      <dashlets>
-        <dashlet id="11" xsi:type="DashletHeaderStatic">
-          <rank>0</rank>
-          <title>Menu:ConfigManagement:virtualization</title>
-          <icon>itop-config-mgmt/images/application.png</icon>
-        </dashlet>
-        <dashlet id="12" xsi:type="DashletBadge">
-          <rank>1</rank>
-          <class>Farm</class>
-        </dashlet>
-        <dashlet id="13" xsi:type="DashletBadge">
-          <rank>2</rank>
-          <class>Hypervisor</class>
-        </dashlet>
-        <dashlet id="14" xsi:type="DashletBadge">
-          <rank>3</rank>
-          <class>VirtualMachine</class>
-        </dashlet>
-      </dashlets>
-    </cell>
-    <cell id="2">
-      <rank>2</rank>
-      <dashlets>
-        <dashlet id="15" xsi:type="DashletHeaderStatic">
-          <rank>0</rank>
-          <title>Menu:ConfigManagement:EndUsers</title>
-          <icon>itop-config-mgmt/images/team.png</icon>
-        </dashlet>
-        <dashlet id="16" xsi:type="DashletBadge">
-          <rank>1</rank>
-          <class>PC</class>
-        </dashlet>
-        <dashlet id="17" xsi:type="DashletBadge">
-          <rank>2</rank>
-          <class>Phone</class>
-        </dashlet>
-        <dashlet id="18" xsi:type="DashletBadge">
-          <rank>3</rank>
-          <class>IpPhone</class>
-        </dashlet>
-        <dashlet id="19" xsi:type="DashletBadge">
-          <rank>4</rank>
-          <class>MobilePhone</class>
-        </dashlet>
-        <dashlet id="20" xsi:type="DashletBadge">
-          <rank>5</rank>
-          <class>Tablet</class>
-        </dashlet>
-        <dashlet id="21" xsi:type="DashletBadge">
-          <rank>6</rank>
-          <class>Printer</class>
-        </dashlet>
-        <dashlet id="22" xsi:type="DashletBadge">
-          <rank>7</rank>
-          <class>Peripheral</class>
-        </dashlet>
-      </dashlets>
-    </cell>
-    <cell id="3">
-      <rank>3</rank>
-      <dashlets>
-        <dashlet id="23" xsi:type="DashletHeaderStatic">
-          <rank>0</rank>
-          <title>Menu:ConfigManagement:SWAndApps</title>
-          <icon>itop-config-mgmt/images/application.png</icon>
-        </dashlet>
-        <dashlet id="24" xsi:type="DashletBadge">
-          <rank>1</rank>
-          <class>Middleware</class>
-        </dashlet>
-        <dashlet id="25" xsi:type="DashletBadge">
-          <rank>2</rank>
-          <class>DBserver</class>
-        </dashlet>
-        <dashlet id="26" xsi:type="DashletBadge">
-          <rank>3</rank>
-          <class>Webserver</class>
-        </dashlet>
-        <dashlet id="27" xsi:type="DashletBadge">
-          <rank>4</rank>
-          <class>OtherSoftware</class>
-        </dashlet>
-        <dashlet id="29" xsi:type="DashletBadge">
-          <rank>5</rank>
-          <class>MiddlewareInstance</class>
-        </dashlet>
-        <dashlet id="30" xsi:type="DashletBadge">
-          <rank>6</rank>
-          <class>DatabaseSchema</class>
-        </dashlet>
-        <dashlet id="31" xsi:type="DashletBadge">
-          <rank>7</rank>
-          <class>WebApplication</class>
-        </dashlet>
-        <dashlet id="32" xsi:type="DashletBadge">
-          <rank>8</rank>
-          <class>Patch</class>
-        </dashlet>
-        <dashlet id="33" xsi:type="DashletBadge">
-          <rank>9</rank>
-          <class>Licence</class>
-        </dashlet>
-      </dashlets>
-    </cell>
-    <cell id="4">
-      <rank>4</rank>
-      <dashlets>
-        <dashlet id="34" xsi:type="DashletHeaderStatic">
-          <rank>0</rank>
-          <title>Menu:ConfigManagement:Misc</title>
-          <icon>itop-config-mgmt/images/subnet.png</icon>
-        </dashlet>
-        <dashlet id="35" xsi:type="DashletBadge">
-          <rank>1</rank>
-          <class>NetworkInterface</class>
-        </dashlet>
-        <dashlet id="36" xsi:type="DashletBadge">
-          <rank>2</rank>
-          <class>Subnet</class>
-        </dashlet>
-        <dashlet id="37" xsi:type="DashletBadge">
-          <rank>3</rank>
-          <class>LogicalVolume</class>
-        </dashlet>
-        <dashlet id="38" xsi:type="DashletBadge">
-          <rank>4</rank>
-          <class>BusinessProcess</class>
-        </dashlet>
-        <dashlet id="39" xsi:type="DashletBadge">
-          <rank>5</rank>
-          <class>ApplicationSolution</class>
-        </dashlet>
-        <dashlet id="40" xsi:type="DashletBadge">
-          <rank>6</rank>
-          <class>Group</class>
-        </dashlet>
-      </dashlets>
-    </cell>
-  </cells>
-</dashboard>

+ 0 - 30
datamodels/2.x/itop-config-mgmt/contacts_menu.xml

@@ -1,30 +0,0 @@
-<?xml version="1.0"?>
-<dashboard xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <layout>DashboardLayoutOneCol</layout>
-  <title></title>
-  <cells>
-    <cell id="0">
-      <rank>0</rank>
-      <dashlets>
-        <dashlet id="1" xsi:type="DashletHeaderDynamic">
-          <rank>1</rank>
-          <title>Menu:Contact</title>
-          <icon>itop-config-mgmt/images/team.png</icon>
-          <subtitle>Menu:Contact:Count</subtitle>
-          <query>SELECT Contact</query>
-          <group_by>status</group_by>
-          <values>active,inactive</values>
-        </dashlet>
-        <dashlet id="2" xsi:type="DashletBadge">
-          <rank>2</rank>
-          <class>Team</class>
-        </dashlet>
-        <dashlet id="3" xsi:type="DashletBadge">
-          <rank>3</rank>
-          <class>Person</class>
-        </dashlet>
-      </dashlets>
-    </cell>
-  </cells>
-</dashboard>
-

Разница между файлами не показана из-за своего большого размера
+ 459 - 4296
datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml


BIN
datamodels/2.x/itop-config-mgmt/images/cluster.png


BIN
datamodels/2.x/itop-config-mgmt/images/enclosure.png


BIN
datamodels/2.x/itop-config-mgmt/images/filesystem.png


BIN
datamodels/2.x/itop-config-mgmt/images/hypervisor.png


BIN
datamodels/2.x/itop-config-mgmt/images/powersource.png


BIN
datamodels/2.x/itop-config-mgmt/images/powerstart.png


BIN
datamodels/2.x/itop-config-mgmt/images/rack.png


BIN
datamodels/2.x/itop-config-mgmt/images/server.png


BIN
datamodels/2.x/itop-config-mgmt/images/switch.png


BIN
datamodels/2.x/itop-config-mgmt/images/webserver.png


+ 0 - 4
datamodels/2.x/itop-config-mgmt/module.itop-config-mgmt.php

@@ -37,12 +37,8 @@ SetupWebPage::AddModule(
 			'data.sample.persons.xml',
 			'data.sample.teams.xml',
 			'data.sample.contactteam.xml',
-			'data.sample.racks.xml',
 			'data.sample.servers.xml',
 			'data.sample.nw-devices.xml',
-			'data.sample.farm.xml',
-			'data.sample.hypervisor.xml',
-			'data.sample.vm.xml',
 			'data.sample.software.xml',
 			'data.sample.dbserver.xml',
 			'data.sample.dbschema.xml',

+ 0 - 0
datamodels/2.x/itop-config-mgmt/data.sample.racks.xml → datamodels/2.x/itop-datacenter-mgmt/data.sample.racks.xml


BIN
datamodels/2.x/itop-datacenter-mgmt/images/rack.png


+ 1 - 0
datamodels/2.x/itop-datacenter-mgmt/module.itop-datacenter-mgmt.php

@@ -47,6 +47,7 @@ SetupWebPage::AddModule(
 		),
 		'data.sample' => array(
 			// add your sample data XML files here,
+			'data.sample.racks.xml',
 		),
 		
 		// Documentation

+ 1443 - 0
datamodels/2.x/itop-endusers-devices/datamodel.itop-enduser-devices.xml

@@ -0,0 +1,1443 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
+  <classes>
+<class id="TelephonyCI" _delta="define">
+      <parent>PhysicalDevice</parent>
+      <properties>
+        <category>bizmodel,searchable</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>telephonyci</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s</format>
+          <attributes>
+            <attribute id="name"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon>images/mobile-phone.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="name"/>
+            <attribute id="org_id"/>
+            <attribute id="organization_name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields>
+        <field id="phonenumber" xsi:type="AttributeString">
+          <sql>phonenumber</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+        </field>
+      </fields>
+      <methods/>
+      <presentation>
+        <details>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="status">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="location_id">
+              <rank>50</rank>
+            </item>
+            <item id="brand_id">
+              <rank>60</rank>
+            </item>
+            <item id="model_id">
+              <rank>70</rank>
+            </item>
+            <item id="phonenumber">
+              <rank>80</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>90</rank>
+            </item>
+            <item id="asset_number">
+              <rank>100</rank>
+            </item>
+            <item id="move2production">
+              <rank>110</rank>
+            </item>
+            <item id="purchase_date">
+              <rank>120</rank>
+            </item>
+            <item id="end_of_warranty">
+              <rank>130</rank>
+            </item>
+            <item id="description">
+              <rank>140</rank>
+            </item>
+            <item id="contacts_list">
+              <rank>150</rank>
+            </item>
+            <item id="documents_list">
+              <rank>160</rank>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="status">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="location_id">
+              <rank>50</rank>
+            </item>
+            <item id="brand_id">
+              <rank>60</rank>
+            </item>
+            <item id="model_id">
+              <rank>70</rank>
+            </item>
+            <item id="phonenumber">
+              <rank>80</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>90</rank>
+            </item>
+            <item id="asset_number">
+              <rank>100</rank>
+            </item>
+            <item id="move2production">
+              <rank>110</rank>
+            </item>
+            <item id="purchase_date">
+              <rank>120</rank>
+            </item>
+            <item id="end_of_warranty">
+              <rank>130</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="org_id">
+              <rank>10</rank>
+            </item>
+            <item id="status">
+              <rank>20</rank>
+            </item>
+            <item id="location_id">
+              <rank>30</rank>
+            </item>
+            <item id="brand_id">
+              <rank>40</rank>
+            </item>
+            <item id="model_id">
+              <rank>50</rank>
+            </item>
+            <item id="phonenumber">
+              <rank>60</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+    <class id="Phone" _delta="define">
+      <parent>TelephonyCI</parent>
+      <properties>
+        <category>bizmodel,searchable</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>phone</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s</format>
+          <attributes>
+            <attribute id="name"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon>images/phone.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="name"/>
+            <attribute id="org_id"/>
+            <attribute id="organization_name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields/>
+      <methods/>
+      <presentation>
+        <details>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="status">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="location_id">
+              <rank>50</rank>
+            </item>
+            <item id="brand_id">
+              <rank>60</rank>
+            </item>
+            <item id="model_id">
+              <rank>70</rank>
+            </item>
+            <item id="phonenumber">
+              <rank>80</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>90</rank>
+            </item>
+            <item id="asset_number">
+              <rank>100</rank>
+            </item>
+            <item id="move2production">
+              <rank>110</rank>
+            </item>
+            <item id="purchase_date">
+              <rank>120</rank>
+            </item>
+            <item id="end_of_warranty">
+              <rank>130</rank>
+            </item>
+            <item id="description">
+              <rank>140</rank>
+            </item>
+            <item id="contacts_list">
+              <rank>150</rank>
+            </item>
+            <item id="documents_list">
+              <rank>160</rank>
+            </item>
+            <item id="tickets_list">
+              <rank>170</rank>
+            </item>
+            <item id="providercontracts_list">
+              <rank>180</rank>
+            </item>
+            <item id="services_list">
+              <rank>190</rank>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="status">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="location_id">
+              <rank>50</rank>
+            </item>
+            <item id="brand_id">
+              <rank>60</rank>
+            </item>
+            <item id="model_id">
+              <rank>70</rank>
+            </item>
+            <item id="phonenumber">
+              <rank>80</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>90</rank>
+            </item>
+            <item id="asset_number">
+              <rank>100</rank>
+            </item>
+            <item id="move2production">
+              <rank>110</rank>
+            </item>
+            <item id="purchase_date">
+              <rank>120</rank>
+            </item>
+            <item id="end_of_warranty">
+              <rank>130</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="org_id">
+              <rank>10</rank>
+            </item>
+            <item id="status">
+              <rank>20</rank>
+            </item>
+            <item id="location_id">
+              <rank>30</rank>
+            </item>
+            <item id="brand_id">
+              <rank>40</rank>
+            </item>
+            <item id="model_id">
+              <rank>50</rank>
+            </item>
+            <item id="phonenumber">
+              <rank>60</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+    <class id="MobilePhone" _delta="define">
+      <parent>TelephonyCI</parent>
+      <properties>
+        <category>bizmodel,searchable</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>mobilephone</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s</format>
+          <attributes>
+            <attribute id="name"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon>images/mobile-phone.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="name"/>
+            <attribute id="org_id"/>
+            <attribute id="organization_name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields>
+        <field id="imei" xsi:type="AttributeString">
+          <sql>imei</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+        </field>
+        <field id="hw_pin" xsi:type="AttributeString">
+          <sql>hw_pin</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+        </field>
+      </fields>
+      <methods/>
+      <presentation>
+        <details>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="status">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="location_id">
+              <rank>50</rank>
+            </item>
+            <item id="brand_id">
+              <rank>60</rank>
+            </item>
+            <item id="model_id">
+              <rank>70</rank>
+            </item>
+            <item id="phonenumber">
+              <rank>80</rank>
+            </item>
+            <item id="imei">
+              <rank>90</rank>
+            </item>
+            <item id="hw_pin">
+              <rank>100</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>110</rank>
+            </item>
+            <item id="asset_number">
+              <rank>120</rank>
+            </item>
+            <item id="move2production">
+              <rank>130</rank>
+            </item>
+            <item id="purchase_date">
+              <rank>140</rank>
+            </item>
+            <item id="end_of_warranty">
+              <rank>150</rank>
+            </item>
+            <item id="description">
+              <rank>160</rank>
+            </item>
+            <item id="contacts_list">
+              <rank>170</rank>
+            </item>
+            <item id="documents_list">
+              <rank>180</rank>
+            </item>
+            <item id="tickets_list">
+              <rank>190</rank>
+            </item>
+            <item id="providercontracts_list">
+              <rank>200</rank>
+            </item>
+            <item id="services_list">
+              <rank>210</rank>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="status">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="location_id">
+              <rank>50</rank>
+            </item>
+            <item id="brand_id">
+              <rank>60</rank>
+            </item>
+            <item id="model_id">
+              <rank>70</rank>
+            </item>
+            <item id="phonenumber">
+              <rank>80</rank>
+            </item>
+            <item id="imei">
+              <rank>90</rank>
+            </item>
+            <item id="hw_pin">
+              <rank>100</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>110</rank>
+            </item>
+            <item id="asset_number">
+              <rank>120</rank>
+            </item>
+            <item id="move2production">
+              <rank>130</rank>
+            </item>
+            <item id="purchase_date">
+              <rank>140</rank>
+            </item>
+            <item id="end_of_warranty">
+              <rank>150</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="org_id">
+              <rank>10</rank>
+            </item>
+            <item id="status">
+              <rank>20</rank>
+            </item>
+            <item id="location_id">
+              <rank>30</rank>
+            </item>
+            <item id="brand_id">
+              <rank>40</rank>
+            </item>
+            <item id="model_id">
+              <rank>50</rank>
+            </item>
+            <item id="phonenumber">
+              <rank>60</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+    <class id="IpPhone" _delta="define">
+      <parent>TelephonyCI</parent>
+      <properties>
+        <category>bizmodel,searchable</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>ipphone</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s</format>
+          <attributes>
+            <attribute id="name"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon>images/ipphone.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="name"/>
+            <attribute id="org_id"/>
+            <attribute id="organization_name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields/>
+      <methods/>
+      <presentation>
+        <details>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="status">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="location_id">
+              <rank>50</rank>
+            </item>
+            <item id="brand_id">
+              <rank>60</rank>
+            </item>
+            <item id="model_id">
+              <rank>70</rank>
+            </item>
+            <item id="phonenumber">
+              <rank>80</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>90</rank>
+            </item>
+            <item id="asset_number">
+              <rank>100</rank>
+            </item>
+            <item id="move2production">
+              <rank>110</rank>
+            </item>
+            <item id="purchase_date">
+              <rank>120</rank>
+            </item>
+            <item id="end_of_warranty">
+              <rank>130</rank>
+            </item>
+            <item id="description">
+              <rank>140</rank>
+            </item>
+            <item id="contacts_list">
+              <rank>150</rank>
+            </item>
+            <item id="documents_list">
+              <rank>160</rank>
+            </item>
+            <item id="tickets_list">
+              <rank>170</rank>
+            </item>
+            <item id="providercontracts_list">
+              <rank>180</rank>
+            </item>
+            <item id="services_list">
+              <rank>190</rank>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="status">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="location_id">
+              <rank>50</rank>
+            </item>
+            <item id="brand_id">
+              <rank>60</rank>
+            </item>
+            <item id="model_id">
+              <rank>70</rank>
+            </item>
+            <item id="phonenumber">
+              <rank>80</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>90</rank>
+            </item>
+            <item id="asset_number">
+              <rank>100</rank>
+            </item>
+            <item id="move2production">
+              <rank>110</rank>
+            </item>
+            <item id="purchase_date">
+              <rank>120</rank>
+            </item>
+            <item id="end_of_warranty">
+              <rank>130</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="org_id">
+              <rank>10</rank>
+            </item>
+            <item id="status">
+              <rank>20</rank>
+            </item>
+            <item id="location_id">
+              <rank>30</rank>
+            </item>
+            <item id="brand_id">
+              <rank>40</rank>
+            </item>
+            <item id="model_id">
+              <rank>50</rank>
+            </item>
+            <item id="phonenumber">
+              <rank>60</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+    <class id="Tablet" _delta="define">
+      <parent>PhysicalDevice</parent>
+      <properties>
+        <category>bizmodel,searchable</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>tablet</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s</format>
+          <attributes>
+            <attribute id="name"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon>images/tablet.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="name"/>
+            <attribute id="org_id"/>
+            <attribute id="organization_name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields/>
+      <methods/>
+      <presentation>
+        <details>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="status">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="location_id">
+              <rank>50</rank>
+            </item>
+            <item id="brand_id">
+              <rank>60</rank>
+            </item>
+            <item id="model_id">
+              <rank>70</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>80</rank>
+            </item>
+            <item id="asset_number">
+              <rank>90</rank>
+            </item>
+            <item id="move2production">
+              <rank>100</rank>
+            </item>
+            <item id="purchase_date">
+              <rank>110</rank>
+            </item>
+            <item id="end_of_warranty">
+              <rank>120</rank>
+            </item>
+            <item id="description">
+              <rank>130</rank>
+            </item>
+            <item id="contacts_list">
+              <rank>140</rank>
+            </item>
+            <item id="tickets_list">
+              <rank>150</rank>
+            </item>
+            <item id="documents_list">
+              <rank>160</rank>
+            </item>
+            <item id="providercontracts_list">
+              <rank>170</rank>
+            </item>
+            <item id="services_list">
+              <rank>180</rank>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="status">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="location_id">
+              <rank>50</rank>
+            </item>
+            <item id="brand_id">
+              <rank>60</rank>
+            </item>
+            <item id="model_id">
+              <rank>70</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>80</rank>
+            </item>
+            <item id="asset_number">
+              <rank>90</rank>
+            </item>
+            <item id="move2production">
+              <rank>100</rank>
+            </item>
+            <item id="purchase_date">
+              <rank>110</rank>
+            </item>
+            <item id="end_of_warranty">
+              <rank>120</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="org_id">
+              <rank>10</rank>
+            </item>
+            <item id="status">
+              <rank>20</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>30</rank>
+            </item>
+            <item id="location_id">
+              <rank>40</rank>
+            </item>
+            <item id="brand_id">
+              <rank>50</rank>
+            </item>
+            <item id="model_id">
+              <rank>60</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>70</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+    <class id="PC" _delta="define">
+      <parent>ConnectableCI</parent>
+      <properties>
+        <category>bizmodel,searchable</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>pc</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s</format>
+          <attributes>
+            <attribute id="name"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon>images/laptop.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="name"/>
+            <attribute id="org_id"/>
+            <attribute id="organization_name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields>
+        <field id="osfamily_id" xsi:type="AttributeExternalKey">
+          <sql>osfamily_id</sql>
+          <target_class>OSfamily</target_class>
+          <is_null_allowed>true</is_null_allowed>
+          <on_target_delete>DEL_MANUAL</on_target_delete>
+        </field>
+        <field id="osfamily_name" xsi:type="AttributeExternalField">
+          <extkey_attcode>osfamily_id</extkey_attcode>
+          <target_attcode>name</target_attcode>
+        </field>
+        <field id="osversion_id" xsi:type="AttributeExternalKey">
+          <filter><![CDATA[SELECT OSversion WHERE osfamily_id = :this->osfamily_id]]></filter>
+          <dependencies>
+            <attribute id="osfamily_id"/>
+          </dependencies>
+          <sql>osversion_id</sql>
+          <target_class>OSversion</target_class>
+          <is_null_allowed>true</is_null_allowed>
+          <on_target_delete>DEL_MANUAL</on_target_delete>
+        </field>
+        <field id="osversion_name" xsi:type="AttributeExternalField">
+          <extkey_attcode>osversion_id</extkey_attcode>
+          <target_attcode>name</target_attcode>
+        </field>
+        <field id="cpu" xsi:type="AttributeString">
+          <sql>cpu</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+        </field>
+        <field id="ram" xsi:type="AttributeString">
+          <sql>ram</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+        </field>
+        <field id="type" xsi:type="AttributeEnum">
+          <values>
+            <value>laptop</value>
+            <value>desktop</value>
+          </values>
+          <sql>type</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+          <display_style>radio_horizontal</display_style>
+        </field>
+      </fields>
+      <methods/>
+      <presentation>
+        <details>
+          <items>
+            <item id="contacts_list">
+              <rank>10</rank>
+            </item>
+            <item id="documents_list">
+              <rank>20</rank>
+            </item>
+            <item id="tickets_list">
+              <rank>30</rank>
+            </item>
+            <item id="physicalinterface_list">
+              <rank>40</rank>
+            </item>
+            <item id="networkdevice_list">
+              <rank>50</rank>
+            </item>
+            <item id="providercontracts_list">
+              <rank>60</rank>
+            </item>
+            <item id="services_list">
+              <rank>70</rank>
+            </item>
+            <item id="col:col1">
+              <rank>80</rank>
+              <items>
+                <item id="fieldset:Server:baseinfo">
+                  <rank>10</rank>
+                  <items>
+                    <item id="name">
+                      <rank>10</rank>
+                    </item>
+                    <item id="org_id">
+                      <rank>20</rank>
+                    </item>
+                    <item id="status">
+                      <rank>30</rank>
+                    </item>
+                    <item id="business_criticity">
+                      <rank>40</rank>
+                    </item>
+                    <item id="location_id">
+                      <rank>50</rank>
+                    </item>
+                  </items>
+                </item>
+                <item id="fieldset:Server:moreinfo">
+                  <rank>20</rank>
+                  <items>
+                    <item id="brand_id">
+                      <rank>10</rank>
+                    </item>
+                    <item id="model_id">
+                      <rank>20</rank>
+                    </item>
+                    <item id="osfamily_id">
+                      <rank>30</rank>
+                    </item>
+                    <item id="osversion_id">
+                      <rank>40</rank>
+                    </item>
+                    <item id="type">
+                      <rank>50</rank>
+                    </item>
+                    <item id="cpu">
+                      <rank>60</rank>
+                    </item>
+                    <item id="ram">
+                      <rank>70</rank>
+                    </item>
+                    <item id="serialnumber">
+                      <rank>80</rank>
+                    </item>
+                    <item id="asset_number">
+                      <rank>90</rank>
+                    </item>
+                  </items>
+                </item>
+              </items>
+            </item>
+            <item id="col:col2">
+              <rank>90</rank>
+              <items>
+                <item id="fieldset:Server:Date">
+                  <rank>10</rank>
+                  <items>
+                    <item id="move2production">
+                      <rank>10</rank>
+                    </item>
+                    <item id="purchase_date">
+                      <rank>20</rank>
+                    </item>
+                    <item id="end_of_warranty">
+                      <rank>30</rank>
+                    </item>
+                  </items>
+                </item>
+                <item id="fieldset:Server:otherinfo">
+                  <rank>20</rank>
+                  <items>
+                    <item id="description">
+                      <rank>10</rank>
+                    </item>
+                  </items>
+                </item>
+              </items>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="status">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="location_id">
+              <rank>50</rank>
+            </item>
+            <item id="brand_id">
+              <rank>60</rank>
+            </item>
+            <item id="model_id">
+              <rank>70</rank>
+            </item>
+            <item id="type">
+              <rank>80</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>90</rank>
+            </item>
+            <item id="asset_number">
+              <rank>100</rank>
+            </item>
+            <item id="move2production">
+              <rank>110</rank>
+            </item>
+            <item id="purchase_date">
+              <rank>120</rank>
+            </item>
+            <item id="end_of_warranty">
+              <rank>130</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="org_id">
+              <rank>10</rank>
+            </item>
+            <item id="status">
+              <rank>20</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>30</rank>
+            </item>
+            <item id="location_id">
+              <rank>40</rank>
+            </item>
+            <item id="brand_id">
+              <rank>50</rank>
+            </item>
+            <item id="model_id">
+              <rank>60</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>70</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+    <class id="Printer" _delta="define">
+      <parent>ConnectableCI</parent>
+      <properties>
+        <category>bizmodel,searchable</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>printer</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s</format>
+          <attributes>
+            <attribute id="name"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon>images/printer.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="name"/>
+            <attribute id="org_id"/>
+            <attribute id="organization_name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields/>
+      <methods/>
+      <presentation>
+        <details>
+          <items>
+            <item id="contacts_list">
+              <rank>10</rank>
+            </item>
+            <item id="documents_list">
+              <rank>20</rank>
+            </item>
+            <item id="tickets_list">
+              <rank>30</rank>
+            </item>
+            <item id="physicalinterface_list">
+              <rank>40</rank>
+            </item>
+            <item id="networkdevice_list">
+              <rank>50</rank>
+            </item>
+            <item id="providercontracts_list">
+              <rank>60</rank>
+            </item>
+            <item id="services_list">
+              <rank>70</rank>
+            </item>
+            <item id="col:col1">
+              <rank>80</rank>
+              <items>
+                <item id="fieldset:Server:baseinfo">
+                  <rank>10</rank>
+                  <items>
+                    <item id="name">
+                      <rank>10</rank>
+                    </item>
+                    <item id="org_id">
+                      <rank>20</rank>
+                    </item>
+                    <item id="status">
+                      <rank>30</rank>
+                    </item>
+                    <item id="business_criticity">
+                      <rank>40</rank>
+                    </item>
+                    <item id="location_id">
+                      <rank>50</rank>
+                    </item>
+                  </items>
+                </item>
+                <item id="fieldset:Server:moreinfo">
+                  <rank>20</rank>
+                  <items>
+                    <item id="brand_id">
+                      <rank>10</rank>
+                    </item>
+                    <item id="model_id">
+                      <rank>20</rank>
+                    </item>
+                    <item id="serialnumber">
+                      <rank>30</rank>
+                    </item>
+                    <item id="asset_number">
+                      <rank>40</rank>
+                    </item>
+                  </items>
+                </item>
+              </items>
+            </item>
+            <item id="col:col2">
+              <rank>90</rank>
+              <items>
+                <item id="fieldset:Server:Date">
+                  <rank>10</rank>
+                  <items>
+                    <item id="move2production">
+                      <rank>10</rank>
+                    </item>
+                    <item id="purchase_date">
+                      <rank>20</rank>
+                    </item>
+                    <item id="end_of_warranty">
+                      <rank>30</rank>
+                    </item>
+                  </items>
+                </item>
+                <item id="fieldset:Server:otherinfo">
+                  <rank>20</rank>
+                  <items>
+                    <item id="description">
+                      <rank>10</rank>
+                    </item>
+                  </items>
+                </item>
+              </items>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="status">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="location_id">
+              <rank>50</rank>
+            </item>
+            <item id="brand_id">
+              <rank>60</rank>
+            </item>
+            <item id="model_id">
+              <rank>70</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>80</rank>
+            </item>
+            <item id="asset_number">
+              <rank>90</rank>
+            </item>
+            <item id="move2production">
+              <rank>100</rank>
+            </item>
+            <item id="purchase_date">
+              <rank>110</rank>
+            </item>
+            <item id="end_of_warranty">
+              <rank>120</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="org_id">
+              <rank>10</rank>
+            </item>
+            <item id="status">
+              <rank>20</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>30</rank>
+            </item>
+            <item id="location_id">
+              <rank>40</rank>
+            </item>
+            <item id="brand_id">
+              <rank>50</rank>
+            </item>
+            <item id="model_id">
+              <rank>60</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>70</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+
+    <class id="Peripheral" _delta="define">
+      <parent>PhysicalDevice</parent>
+      <properties>
+        <category>bizmodel,searchable</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>peripheral</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s</format>
+          <attributes>
+            <attribute id="name"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon>images/peripherals.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="name"/>
+            <attribute id="org_id"/>
+            <attribute id="organization_name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields/>
+      <methods/>
+      <presentation>
+        <details>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="status">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="location_id">
+              <rank>50</rank>
+            </item>
+            <item id="brand_id">
+              <rank>60</rank>
+            </item>
+            <item id="model_id">
+              <rank>70</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>80</rank>
+            </item>
+            <item id="asset_number">
+              <rank>90</rank>
+            </item>
+            <item id="move2production">
+              <rank>100</rank>
+            </item>
+            <item id="purchase_date">
+              <rank>110</rank>
+            </item>
+            <item id="end_of_warranty">
+              <rank>120</rank>
+            </item>
+            <item id="description">
+              <rank>130</rank>
+            </item>
+            <item id="contacts_list">
+              <rank>140</rank>
+            </item>
+            <item id="documents_list">
+              <rank>150</rank>
+            </item>
+            <item id="tickets_list">
+              <rank>160</rank>
+            </item>
+            <item id="providercontracts_list">
+              <rank>170</rank>
+            </item>
+            <item id="services_list">
+              <rank>180</rank>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="status">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="location_id">
+              <rank>50</rank>
+            </item>
+            <item id="brand_id">
+              <rank>60</rank>
+            </item>
+            <item id="model_id">
+              <rank>70</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>80</rank>
+            </item>
+            <item id="asset_number">
+              <rank>90</rank>
+            </item>
+            <item id="move2production">
+              <rank>100</rank>
+            </item>
+            <item id="purchase_date">
+              <rank>110</rank>
+            </item>
+            <item id="end_of_warranty">
+              <rank>120</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="org_id">
+              <rank>10</rank>
+            </item>
+            <item id="status">
+              <rank>20</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>30</rank>
+            </item>
+            <item id="location_id">
+              <rank>40</rank>
+            </item>
+            <item id="brand_id">
+              <rank>50</rank>
+            </item>
+            <item id="model_id">
+              <rank>60</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>70</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+</classes>
+<menus>
+  <menu id="ConfigManagementOverview" xsi:type="DashboardMenuNode" _delta="must_exist">
+    <definition>
+      <cells>
+        <cell id="2" _delta="define">
+          <rank>2</rank>
+          <dashlets>
+            <dashlet id="15" xsi:type="DashletHeaderStatic">
+              <rank>0</rank>
+              <title>Menu:ConfigManagement:EndUsers</title>
+              <icon>itop-config-mgmt/images/team.png</icon>
+            </dashlet>
+            <dashlet id="16" xsi:type="DashletBadge">
+              <rank>1</rank>
+              <class>PC</class>
+            </dashlet>
+            <dashlet id="17" xsi:type="DashletBadge">
+              <rank>2</rank>
+              <class>Phone</class>
+            </dashlet>
+            <dashlet id="18" xsi:type="DashletBadge">
+              <rank>3</rank>
+              <class>IpPhone</class>
+            </dashlet>
+            <dashlet id="19" xsi:type="DashletBadge">
+              <rank>4</rank>
+              <class>MobilePhone</class>
+            </dashlet>
+            <dashlet id="20" xsi:type="DashletBadge">
+              <rank>5</rank>
+              <class>Tablet</class>
+            </dashlet>
+            <dashlet id="21" xsi:type="DashletBadge">
+              <rank>6</rank>
+              <class>Printer</class>
+            </dashlet>
+            <dashlet id="22" xsi:type="DashletBadge">
+              <rank>7</rank>
+              <class>Peripheral</class>
+            </dashlet>
+          </dashlets>
+        </cell>
+      </cells>
+    </definition>
+  </menu>
+</menus>
+</itop_design>

+ 29 - 0
datamodels/2.x/itop-endusers-devices/en.dict.itop-endusers-devices.php

@@ -0,0 +1,29 @@
+<?php
+// Copyright (C) 2010 Combodo SARL
+//
+//   This program is free software; you can redistribute it and/or modify
+//   it under the terms of the GNU General Public License as published by
+//   the Free Software Foundation; version 3 of the License.
+//
+//   This program is distributed in the hope that it will be useful,
+//   but WITHOUT ANY WARRANTY; without even the implied warranty of
+//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//   GNU General Public License for more details.
+//
+//   You should have received a copy of the GNU General Public License
+//   along with this program; if not, write to the Free Software
+//   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+/**
+ * Localized data
+ *
+ * @author      Erwan Taloc <erwan.taloc@combodo.com>
+ * @author      Romain Quetiez <romain.quetiez@combodo.com>
+ * @author      Denis Flaven <denis.flaven@combodo.com>
+ * @license     http://www.opensource.org/licenses/gpl-3.0.html LGPL
+ */
+
+Dict::Add('EN US', 'English', 'English', array(
+	// Dictionary entries go here
+));
+?>

+ 0 - 0
datamodels/2.x/itop-config-mgmt/images/ipphone.png → datamodels/2.x/itop-endusers-devices/images/ipphone.png


+ 0 - 0
datamodels/2.x/itop-config-mgmt/images/laptop.png → datamodels/2.x/itop-endusers-devices/images/laptop.png


+ 0 - 0
datamodels/2.x/itop-config-mgmt/images/mobile-phone.png → datamodels/2.x/itop-endusers-devices/images/mobile-phone.png


+ 0 - 0
datamodels/2.x/itop-config-mgmt/images/peripherals.png → datamodels/2.x/itop-endusers-devices/images/peripherals.png


+ 0 - 0
datamodels/2.x/itop-config-mgmt/images/phone.png → datamodels/2.x/itop-endusers-devices/images/phone.png


BIN
datamodels/2.x/itop-endusers-devices/images/printer.png


+ 0 - 0
datamodels/2.x/itop-config-mgmt/images/tablet.png → datamodels/2.x/itop-endusers-devices/images/tablet.png


+ 63 - 0
datamodels/2.x/itop-endusers-devices/module.itop-endusers-devices.php

@@ -0,0 +1,63 @@
+<?php
+// Copyright (C) 2010 Combodo SARL
+//
+//   This program is free software; you can redistribute it and/or modify
+//   it under the terms of the GNU General Public License as published by
+//   the Free Software Foundation; version 3 of the License.
+//
+//   This program is distributed in the hope that it will be useful,
+//   but WITHOUT ANY WARRANTY; without even the implied warranty of
+//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//   GNU General Public License for more details.
+//
+//   You should have received a copy of the GNU General Public License
+//   along with this program; if not, write to the Free Software
+//   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+SetupWebPage::AddModule(
+	__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
+	'itop-endusers-devices/2.0.0',
+	array(
+		// Identification
+		//
+		'label' => 'End User Devices management',
+		'category' => 'business',
+
+		// Setup
+		//
+		'dependencies' => array(
+			'itop-config-mgmt/2.0.0'
+		),
+		'mandatory' => false,
+		'visible' => true,
+
+		// Components
+		//
+		'datamodel' => array(
+			'model.itop-endusers-devices.php'
+		),
+		'webservice' => array(
+			
+		),
+		'data.struct' => array(
+			// add your 'structure' definition XML files here,
+		),
+		'data.sample' => array(
+			// add your sample data XML files here,
+		),
+		
+		// Documentation
+		//
+		'doc.manual_setup' => '', // hyperlink to manual setup documentation, if any
+		'doc.more_information' => '', // hyperlink to more information, if any 
+
+		// Default settings
+		//
+		'settings' => array(
+			// Module specific settings go here, if any
+		),
+	)
+);
+
+
+?>

+ 26 - 0
datamodels/2.x/itop-request-mgmt-itil/datamodel.itop-request-mgmt-itil.xml

@@ -2222,6 +2222,32 @@
     </class>
   </classes>
   <menus>
+    <menu id="WelcomeMenuPage" xsi:type="DashboardMenuNode" _delta="must_exist">
+      <definition>
+        <cells>
+          <cell id="1" _delta="define">
+            <rank>1</rank>
+            <dashlets>
+              <dashlet id="8" xsi:type="DashletHeaderDynamic">
+                <rank>0</rank>
+                <title>Menu:RequestManagement</title>
+                <icon>itop-welcome-itil/images/user-request-deadline.png</icon>
+                <subtitle>Open Requests</subtitle>
+                <query>SELECT UserRequest WHERE status != "closed"</query>
+                <group_by>status</group_by>
+                <values>new,assigned,escalated_tto,escalated_ttr,resolved</values>
+              </dashlet>
+              <dashlet id="9" xsi:type="DashletObjectList">
+                <rank>1</rank>
+                <title>UI:WelcomeMenu:MyCalls</title>
+                <query>SELECT UserRequest AS i WHERE i.agent_id = :current_contact_id AND status NOT IN ("closed", "resolved")</query>
+                <menu>true</menu>
+              </dashlet>
+            </dashlets>
+          </cell>
+        </cells>
+      </definition>
+    </menu>
     <menu id="RequestManagement" xsi:type="MenuGroup" _delta="define">
       <rank>30</rank>
       <enable_class>Contact</enable_class>

+ 26 - 0
datamodels/2.x/itop-request-mgmt/datamodel.itop-request-mgmt.xml

@@ -2204,6 +2204,32 @@
     </class>
   </classes>
   <menus>
+    <menu id="WelcomeMenuPage" xsi:type="DashboardMenuNode" _delta="must_exist">
+      <definition>
+        <cells>
+          <cell id="1" _delta="define">
+            <rank>1</rank>
+            <dashlets>
+              <dashlet id="8" xsi:type="DashletHeaderDynamic">
+                <rank>0</rank>
+                <title>Menu:RequestManagement</title>
+                <icon>itop-welcome-itil/images/user-request-deadline.png</icon>
+                <subtitle>Open Requests</subtitle>
+                <query>SELECT UserRequest WHERE status != "closed"</query>
+                <group_by>status</group_by>
+                <values>new,assigned,escalated_tto,escalated_ttr,resolved</values>
+              </dashlet>
+              <dashlet id="9" xsi:type="DashletObjectList">
+                <rank>1</rank>
+                <title>UI:WelcomeMenu:MyCalls</title>
+                <query>SELECT UserRequest AS i WHERE i.agent_id = :current_contact_id AND status NOT IN ("closed", "resolved")</query>
+                <menu>true</menu>
+              </dashlet>
+            </dashlets>
+          </cell>
+        </cells>
+      </definition>
+    </menu>
     <menu id="RequestManagement" xsi:type="MenuGroup" _delta="define">
       <rank>30</rank>
       <enable_class>Contact</enable_class>

+ 1855 - 0
datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml

@@ -0,0 +1,1855 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
+  <classes>
+    <class id="StorageSystem" _delta="define">
+      <parent>DatacenterDevice</parent>
+      <properties>
+        <category>bizmodel,searchable</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>storagesystem</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s</format>
+          <attributes>
+            <attribute id="name"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon>images/storageArea.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="name"/>
+            <attribute id="org_id"/>
+            <attribute id="organization_name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields>
+        <field id="logicalvolume_list" xsi:type="AttributeLinkedSet">
+          <linked_class>LogicalVolume</linked_class>
+          <ext_key_to_me>storagesystem_id</ext_key_to_me>
+          <edit_mode>in_place</edit_mode>
+          <count_min>0</count_min>
+          <count_max>0</count_max>
+        </field>
+      </fields>
+      <methods>
+        <method id="GetRelationQueries">
+          <static>true</static>
+          <access>public</access>
+          <type>Overload-DBObject</type>
+          <code><![CDATA[ public static function GetRelationQueries($sRelCode)
+  {
+    switch ($sRelCode)
+    {
+    case "impacts":
+      $aRels = array(
+        "logicalvolume" => array("sQuery"=>"SELECT LogicalVolume WHERE storagesystem_id = :this->id", "bPropagate"=>true, "iDistance"=>10),
+      );
+      return array_merge($aRels, parent::GetRelationQueries($sRelCode));
+      break;
+    default:
+      return parent::GetRelationQueries($sRelCode);
+    }
+  }]]></code>
+        </method>
+      </methods>
+      <presentation>
+        <details>
+          <items>
+            <item id="contacts_list">
+              <rank>10</rank>
+            </item>
+            <item id="documents_list">
+              <rank>20</rank>
+            </item>
+            <item id="tickets_list">
+              <rank>30</rank>
+            </item>
+            <item id="physicalinterface_list">
+              <rank>40</rank>
+            </item>
+            <item id="fiberinterfacelist_list">
+              <rank>50</rank>
+            </item>
+            <item id="networkdevice_list">
+              <rank>60</rank>
+            </item>
+            <item id="logicalvolume_list">
+              <rank>70</rank>
+            </item>
+            <item id="san_list">
+              <rank>80</rank>
+            </item>
+            <item id="providercontracts_list">
+              <rank>90</rank>
+            </item>
+            <item id="services_list">
+              <rank>100</rank>
+            </item>
+            <item id="col:col1">
+              <rank>110</rank>
+              <items>
+                <item id="fieldset:Server:baseinfo">
+                  <rank>10</rank>
+                  <items>
+                    <item id="name">
+                      <rank>10</rank>
+                    </item>
+                    <item id="org_id">
+                      <rank>20</rank>
+                    </item>
+                    <item id="status">
+                      <rank>30</rank>
+                    </item>
+                    <item id="business_criticity">
+                      <rank>40</rank>
+                    </item>
+                    <item id="location_id">
+                      <rank>50</rank>
+                    </item>
+                    <item id="rack_id">
+                      <rank>60</rank>
+                    </item>
+                    <item id="enclosure_id">
+                      <rank>70</rank>
+                    </item>
+                  </items>
+                </item>
+                <item id="fieldset:Server:moreinfo">
+                  <rank>20</rank>
+                  <items>
+                    <item id="brand_id">
+                      <rank>10</rank>
+                    </item>
+                    <item id="model_id">
+                      <rank>20</rank>
+                    </item>
+                    <item id="nb_u">
+                      <rank>30</rank>
+                    </item>
+                    <item id="serialnumber">
+                      <rank>40</rank>
+                    </item>
+                    <item id="asset_number">
+                      <rank>50</rank>
+                    </item>
+                  </items>
+                </item>
+              </items>
+            </item>
+            <item id="col:col2">
+              <rank>120</rank>
+              <items>
+                <item id="fieldset:Server:Date">
+                  <rank>10</rank>
+                  <items>
+                    <item id="move2production">
+                      <rank>10</rank>
+                    </item>
+                    <item id="purchase_date">
+                      <rank>20</rank>
+                    </item>
+                    <item id="end_of_warranty">
+                      <rank>30</rank>
+                    </item>
+                  </items>
+                </item>
+                <item id="fieldset:Server:otherinfo">
+                  <rank>20</rank>
+                  <items>
+                    <item id="powerA_id">
+                      <rank>10</rank>
+                    </item>
+                    <item id="powerB_id">
+                      <rank>20</rank>
+                    </item>
+                    <item id="description">
+                      <rank>30</rank>
+                    </item>
+                  </items>
+                </item>
+              </items>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="status">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="location_id">
+              <rank>50</rank>
+            </item>
+            <item id="brand_id">
+              <rank>60</rank>
+            </item>
+            <item id="model_id">
+              <rank>70</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>80</rank>
+            </item>
+            <item id="asset_number">
+              <rank>90</rank>
+            </item>
+            <item id="powerA_id">
+              <rank>100</rank>
+            </item>
+            <item id="powerB_id">
+              <rank>110</rank>
+            </item>
+            <item id="move2production">
+              <rank>120</rank>
+            </item>
+            <item id="purchase_date">
+              <rank>130</rank>
+            </item>
+            <item id="end_of_warranty">
+              <rank>140</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="org_id">
+              <rank>10</rank>
+            </item>
+            <item id="status">
+              <rank>20</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>30</rank>
+            </item>
+            <item id="location_id">
+              <rank>40</rank>
+            </item>
+            <item id="brand_id">
+              <rank>50</rank>
+            </item>
+            <item id="model_id">
+              <rank>60</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>70</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+    <class id="SANSwitch" _delta="define">
+      <parent>DatacenterDevice</parent>
+      <properties>
+        <category>bizmodel,searchable</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>sanswitch</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s</format>
+          <attributes>
+            <attribute id="name"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon>images/switch.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="name"/>
+            <attribute id="org_id"/>
+            <attribute id="organization_name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields>
+        <field id="datacenterdevice_list" xsi:type="AttributeLinkedSetIndirect">
+          <linked_class>lnkSanToDatacenterDevice</linked_class>
+          <ext_key_to_me>san_id</ext_key_to_me>
+          <count_min>0</count_min>
+          <count_max>0</count_max>
+          <ext_key_to_remote>datacenterdevice_id</ext_key_to_remote>
+          <duplicates/>
+        </field>
+      </fields>
+      <methods>
+        <method id="GetRelationQueries">
+          <static>true</static>
+          <access>public</access>
+          <type>Overload-DBObject</type>
+          <code><![CDATA[ public static function GetRelationQueries($sRelCode)
+  {
+    switch ($sRelCode)
+    {
+    case "impacts":
+      $aRels = array(
+        "datacenterdevice" => array("sQuery"=>"SELECT DatacenterDevice AS dc JOIN lnkSanToDatacenterDevice AS l1 ON l1.datacenterdevice_id = dc.id WHERE l1.san_id = :this->id", "bPropagate"=>true, "iDistance"=>10),
+
+      );
+      return array_merge($aRels, parent::GetRelationQueries($sRelCode));
+      break;
+    default:
+      return parent::GetRelationQueries($sRelCode);
+    }
+  }]]></code>
+        </method>
+      </methods>
+      <presentation>
+        <details>
+          <items>
+            <item id="contacts_list">
+              <rank>10</rank>
+            </item>
+            <item id="documents_list">
+              <rank>20</rank>
+            </item>
+            <item id="tickets_list">
+              <rank>30</rank>
+            </item>
+            <item id="physicalinterface_list">
+              <rank>40</rank>
+            </item>
+            <item id="fiberinterfacelist_list">
+              <rank>50</rank>
+            </item>
+            <item id="networkdevice_list">
+              <rank>60</rank>
+            </item>
+            <item id="datacenterdevice_list">
+              <rank>70</rank>
+            </item>
+            <item id="providercontracts_list">
+              <rank>80</rank>
+            </item>
+            <item id="services_list">
+              <rank>90</rank>
+            </item>
+            <item id="col:col1">
+              <rank>100</rank>
+              <items>
+                <item id="fieldset:Server:baseinfo">
+                  <rank>10</rank>
+                  <items>
+                    <item id="name">
+                      <rank>10</rank>
+                    </item>
+                    <item id="org_id">
+                      <rank>20</rank>
+                    </item>
+                    <item id="status">
+                      <rank>30</rank>
+                    </item>
+                    <item id="business_criticity">
+                      <rank>40</rank>
+                    </item>
+                    <item id="location_id">
+                      <rank>50</rank>
+                    </item>
+                    <item id="rack_id">
+                      <rank>60</rank>
+                    </item>
+                    <item id="enclosure_id">
+                      <rank>70</rank>
+                    </item>
+                  </items>
+                </item>
+                <item id="fieldset:Server:moreinfo">
+                  <rank>20</rank>
+                  <items>
+                    <item id="brand_id">
+                      <rank>10</rank>
+                    </item>
+                    <item id="model_id">
+                      <rank>20</rank>
+                    </item>
+                    <item id="nb_u">
+                      <rank>30</rank>
+                    </item>
+                    <item id="serialnumber">
+                      <rank>40</rank>
+                    </item>
+                    <item id="asset_number">
+                      <rank>50</rank>
+                    </item>
+                  </items>
+                </item>
+              </items>
+            </item>
+            <item id="col:col2">
+              <rank>110</rank>
+              <items>
+                <item id="fieldset:Server:Date">
+                  <rank>10</rank>
+                  <items>
+                    <item id="move2production">
+                      <rank>10</rank>
+                    </item>
+                    <item id="purchase_date">
+                      <rank>20</rank>
+                    </item>
+                    <item id="end_of_warranty">
+                      <rank>30</rank>
+                    </item>
+                  </items>
+                </item>
+                <item id="fieldset:Server:otherinfo">
+                  <rank>20</rank>
+                  <items>
+                    <item id="powerA_id">
+                      <rank>10</rank>
+                    </item>
+                    <item id="powerB_id">
+                      <rank>20</rank>
+                    </item>
+                    <item id="description">
+                      <rank>30</rank>
+                    </item>
+                  </items>
+                </item>
+              </items>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="status">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="location_id">
+              <rank>50</rank>
+            </item>
+            <item id="brand_id">
+              <rank>60</rank>
+            </item>
+            <item id="model_id">
+              <rank>70</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>80</rank>
+            </item>
+            <item id="asset_number">
+              <rank>90</rank>
+            </item>
+            <item id="powerA_id">
+              <rank>100</rank>
+            </item>
+            <item id="powerB_id">
+              <rank>110</rank>
+            </item>
+            <item id="move2production">
+              <rank>120</rank>
+            </item>
+            <item id="purchase_date">
+              <rank>130</rank>
+            </item>
+            <item id="end_of_warranty">
+              <rank>140</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="org_id">
+              <rank>10</rank>
+            </item>
+            <item id="status">
+              <rank>20</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>30</rank>
+            </item>
+            <item id="location_id">
+              <rank>40</rank>
+            </item>
+            <item id="brand_id">
+              <rank>50</rank>
+            </item>
+            <item id="model_id">
+              <rank>60</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>70</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+    <class id="TapeLibrary" _delta="define">
+      <parent>DatacenterDevice</parent>
+      <properties>
+        <category>bizmodel,searchable</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>tapelibrary</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s</format>
+          <attributes>
+            <attribute id="name"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon>images/tapelibrary.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="name"/>
+            <attribute id="org_id"/>
+            <attribute id="organization_name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields>
+        <field id="tapes_list" xsi:type="AttributeLinkedSet">
+          <linked_class>Tape</linked_class>
+          <ext_key_to_me>tapelibrary_id</ext_key_to_me>
+          <edit_mode>in_place</edit_mode>
+          <count_min>0</count_min>
+          <count_max>0</count_max>
+        </field>
+      </fields>
+      <methods>
+        <method id="GetRelationQueries">
+          <static>true</static>
+          <access>public</access>
+          <type>Overload-DBObject</type>
+          <code><![CDATA[ public static function GetRelationQueries($sRelCode)
+  {
+    switch ($sRelCode)
+    {
+    case "impacts":
+      $aRels = array(
+        "tape" => array("sQuery"=>"SELECT Tape  WHERE tapelibrary_id= :this->id", "bPropagate"=>true, "iDistance"=>10),
+
+      );
+      return array_merge($aRels, parent::GetRelationQueries($sRelCode));
+      break;
+    default:
+      return parent::GetRelationQueries($sRelCode);
+    }
+  }]]></code>
+        </method>
+      </methods>
+      <presentation>
+        <details>
+          <items>
+            <item id="tapes_list">
+              <rank>10</rank>
+            </item>
+            <item id="contacts_list">
+              <rank>20</rank>
+            </item>
+            <item id="documents_list">
+              <rank>30</rank>
+            </item>
+            <item id="tickets_list">
+              <rank>40</rank>
+            </item>
+            <item id="physicalinterface_list">
+              <rank>50</rank>
+            </item>
+            <item id="fiberinterfacelist_list">
+              <rank>60</rank>
+            </item>
+            <item id="networkdevice_list">
+              <rank>70</rank>
+            </item>
+            <item id="providercontracts_list">
+              <rank>80</rank>
+            </item>
+            <item id="services_list">
+              <rank>90</rank>
+            </item>
+            <item id="col:col1">
+              <rank>100</rank>
+              <items>
+                <item id="fieldset:Server:baseinfo">
+                  <rank>10</rank>
+                  <items>
+                    <item id="name">
+                      <rank>10</rank>
+                    </item>
+                    <item id="org_id">
+                      <rank>20</rank>
+                    </item>
+                    <item id="status">
+                      <rank>30</rank>
+                    </item>
+                    <item id="business_criticity">
+                      <rank>40</rank>
+                    </item>
+                    <item id="location_id">
+                      <rank>50</rank>
+                    </item>
+                    <item id="rack_id">
+                      <rank>60</rank>
+                    </item>
+                    <item id="enclosure_id">
+                      <rank>70</rank>
+                    </item>
+                  </items>
+                </item>
+                <item id="fieldset:Server:moreinfo">
+                  <rank>20</rank>
+                  <items>
+                    <item id="brand_id">
+                      <rank>10</rank>
+                    </item>
+                    <item id="model_id">
+                      <rank>20</rank>
+                    </item>
+                    <item id="nb_u">
+                      <rank>30</rank>
+                    </item>
+                    <item id="serialnumber">
+                      <rank>40</rank>
+                    </item>
+                    <item id="asset_number">
+                      <rank>50</rank>
+                    </item>
+                  </items>
+                </item>
+              </items>
+            </item>
+            <item id="col:col2">
+              <rank>110</rank>
+              <items>
+                <item id="fieldset:Server:Date">
+                  <rank>10</rank>
+                  <items>
+                    <item id="move2production">
+                      <rank>10</rank>
+                    </item>
+                    <item id="purchase_date">
+                      <rank>20</rank>
+                    </item>
+                    <item id="end_of_warranty">
+                      <rank>30</rank>
+                    </item>
+                  </items>
+                </item>
+                <item id="fieldset:Server:otherinfo">
+                  <rank>20</rank>
+                  <items>
+                    <item id="powerA_id">
+                      <rank>10</rank>
+                    </item>
+                    <item id="powerB_id">
+                      <rank>20</rank>
+                    </item>
+                    <item id="description">
+                      <rank>30</rank>
+                    </item>
+                  </items>
+                </item>
+              </items>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="status">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="location_id">
+              <rank>50</rank>
+            </item>
+            <item id="brand_id">
+              <rank>60</rank>
+            </item>
+            <item id="model_id">
+              <rank>70</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>80</rank>
+            </item>
+            <item id="asset_number">
+              <rank>90</rank>
+            </item>
+            <item id="powerA_id">
+              <rank>100</rank>
+            </item>
+            <item id="powerB_id">
+              <rank>110</rank>
+            </item>
+            <item id="move2production">
+              <rank>120</rank>
+            </item>
+            <item id="purchase_date">
+              <rank>130</rank>
+            </item>
+            <item id="end_of_warranty">
+              <rank>140</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="org_id">
+              <rank>10</rank>
+            </item>
+            <item id="status">
+              <rank>20</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>30</rank>
+            </item>
+            <item id="location_id">
+              <rank>40</rank>
+            </item>
+            <item id="brand_id">
+              <rank>50</rank>
+            </item>
+            <item id="model_id">
+              <rank>60</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>70</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+    <class id="NAS" _delta="define">
+      <parent>DatacenterDevice</parent>
+      <properties>
+        <category>bizmodel,searchable</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>nas</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s</format>
+          <attributes>
+            <attribute id="name"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon>images/nas.jpeg</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="name"/>
+            <attribute id="org_id"/>
+            <attribute id="organization_name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields>
+        <field id="nasfilesystem_list" xsi:type="AttributeLinkedSet">
+          <linked_class>NasFileSystem</linked_class>
+          <ext_key_to_me>nas_id</ext_key_to_me>
+          <edit_mode>in_place</edit_mode>
+          <count_min>0</count_min>
+          <count_max>0</count_max>
+        </field>
+      </fields>
+      <methods>
+        <method id="GetRelationQueries">
+          <static>true</static>
+          <access>public</access>
+          <type>Overload-DBObject</type>
+          <code><![CDATA[ public static function GetRelationQueries($sRelCode)
+  {
+    switch ($sRelCode)
+    {
+    case "impacts":
+      $aRels = array(
+        "nasfilesystem" => array("sQuery"=>"SELECT NasFileSystem WHERE nas_id = :this->id", "bPropagate"=>true, "iDistance"=>10),
+
+      );
+      return array_merge($aRels, parent::GetRelationQueries($sRelCode));
+      break;
+    default:
+      return parent::GetRelationQueries($sRelCode);
+    }
+  }]]></code>
+        </method>
+      </methods>
+      <presentation>
+        <details>
+          <items>
+            <item id="contacts_list">
+              <rank>10</rank>
+            </item>
+            <item id="documents_list">
+              <rank>20</rank>
+            </item>
+            <item id="tickets_list">
+              <rank>30</rank>
+            </item>
+            <item id="physicalinterface_list">
+              <rank>40</rank>
+            </item>
+            <item id="fiberinterfacelist_list">
+              <rank>50</rank>
+            </item>
+            <item id="networkdevice_list">
+              <rank>60</rank>
+            </item>
+            <item id="nasfilesystem_list">
+              <rank>70</rank>
+            </item>
+            <item id="providercontracts_list">
+              <rank>80</rank>
+            </item>
+            <item id="services_list">
+              <rank>90</rank>
+            </item>
+            <item id="col:col1">
+              <rank>100</rank>
+              <items>
+                <item id="fieldset:Server:baseinfo">
+                  <rank>10</rank>
+                  <items>
+                    <item id="name">
+                      <rank>10</rank>
+                    </item>
+                    <item id="org_id">
+                      <rank>20</rank>
+                    </item>
+                    <item id="status">
+                      <rank>30</rank>
+                    </item>
+                    <item id="business_criticity">
+                      <rank>40</rank>
+                    </item>
+                    <item id="location_id">
+                      <rank>50</rank>
+                    </item>
+                    <item id="rack_id">
+                      <rank>60</rank>
+                    </item>
+                    <item id="enclosure_id">
+                      <rank>70</rank>
+                    </item>
+                  </items>
+                </item>
+                <item id="fieldset:Server:moreinfo">
+                  <rank>20</rank>
+                  <items>
+                    <item id="brand_id">
+                      <rank>10</rank>
+                    </item>
+                    <item id="model_id">
+                      <rank>20</rank>
+                    </item>
+                    <item id="nb_u">
+                      <rank>30</rank>
+                    </item>
+                    <item id="serialnumber">
+                      <rank>40</rank>
+                    </item>
+                    <item id="asset_number">
+                      <rank>50</rank>
+                    </item>
+                  </items>
+                </item>
+              </items>
+            </item>
+            <item id="col:col2">
+              <rank>110</rank>
+              <items>
+                <item id="fieldset:Server:Date">
+                  <rank>10</rank>
+                  <items>
+                    <item id="move2production">
+                      <rank>10</rank>
+                    </item>
+                    <item id="purchase_date">
+                      <rank>20</rank>
+                    </item>
+                    <item id="end_of_warranty">
+                      <rank>30</rank>
+                    </item>
+                  </items>
+                </item>
+                <item id="fieldset:Server:otherinfo">
+                  <rank>20</rank>
+                  <items>
+                    <item id="powerA_id">
+                      <rank>10</rank>
+                    </item>
+                    <item id="powerB_id">
+                      <rank>20</rank>
+                    </item>
+                    <item id="description">
+                      <rank>30</rank>
+                    </item>
+                  </items>
+                </item>
+              </items>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="status">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="location_id">
+              <rank>50</rank>
+            </item>
+            <item id="brand_id">
+              <rank>60</rank>
+            </item>
+            <item id="model_id">
+              <rank>70</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>80</rank>
+            </item>
+            <item id="asset_number">
+              <rank>90</rank>
+            </item>
+            <item id="powerA_id">
+              <rank>100</rank>
+            </item>
+            <item id="powerB_id">
+              <rank>110</rank>
+            </item>
+            <item id="move2production">
+              <rank>120</rank>
+            </item>
+            <item id="purchase_date">
+              <rank>130</rank>
+            </item>
+            <item id="end_of_warranty">
+              <rank>140</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="org_id">
+              <rank>10</rank>
+            </item>
+            <item id="status">
+              <rank>20</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>30</rank>
+            </item>
+            <item id="location_id">
+              <rank>40</rank>
+            </item>
+            <item id="brand_id">
+              <rank>50</rank>
+            </item>
+            <item id="model_id">
+              <rank>60</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>70</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+    <class id="Tape" _delta="define">
+      <parent>cmdbAbstractObject</parent>
+      <properties>
+        <category>bizmodel,searchable,configmgmt</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>tape</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s</format>
+          <attributes>
+            <attribute id="name"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon>images/tape.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="tapelibrary_id"/>
+            <attribute id="name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields>
+        <field id="name" xsi:type="AttributeString">
+          <sql>name</sql>
+          <default_value/>
+          <is_null_allowed>false</is_null_allowed>
+        </field>
+        <field id="description" xsi:type="AttributeText">
+          <sql>description</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+        </field>
+        <field id="size" xsi:type="AttributeString">
+          <sql>size</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+        </field>
+        <field id="tapelibrary_id" xsi:type="AttributeExternalKey">
+          <sql>tapelibrary_id</sql>
+          <target_class>TapeLibrary</target_class>
+          <is_null_allowed>false</is_null_allowed>
+          <on_target_delete>DEL_AUTO</on_target_delete>
+        </field>
+        <field id="tapelibrary_name" xsi:type="AttributeExternalField">
+          <extkey_attcode>tapelibrary_id</extkey_attcode>
+          <target_attcode>name</target_attcode>
+        </field>
+      </fields>
+      <methods>
+        <method id="GetRelationQueries">
+          <static>true</static>
+          <access>public</access>
+          <type>Overload-DBObject</type>
+          <code><![CDATA[ public static function GetRelationQueries($sRelCode)
+  {
+    switch ($sRelCode)
+    {
+      case "impacts":
+      $aRels = array(
+
+      );
+      return array_merge($aRels, parent::GetRelationQueries($sRelCode));
+      break;
+      
+      case 'depends on':
+      $aRels = array(
+        "tapelibrary" => array("sQuery"=>"SELECT TapeLibrary  WHERE id = :this->tapelibrary_id", "bPropagate"=>true, "iDistance"=>5), 
+      );
+      return array_merge($aRels, parent::GetRelationQueries($sRelCode));
+      break;
+      
+      default:
+      return parent::GetRelationQueries($sRelCode);     
+    }
+  }]]></code>
+        </method>
+      </methods>
+      <presentation>
+        <details>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="description">
+              <rank>20</rank>
+            </item>
+            <item id="tapelibrary_id">
+              <rank>30</rank>
+            </item>
+            <item id="size">
+              <rank>40</rank>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="tapelibrary_id">
+              <rank>20</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="tapelibrary_id">
+              <rank>10</rank>
+            </item>
+            <item id="size">
+              <rank>20</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+    <class id="NasFileSystem" _delta="define">
+      <parent>cmdbAbstractObject</parent>
+      <properties>
+        <category>bizmodel,searchable,configmgmt</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>nasfilesystem</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s</format>
+          <attributes>
+            <attribute id="name"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon>images/filesystem.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="nas_id"/>
+            <attribute id="name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields>
+        <field id="name" xsi:type="AttributeString">
+          <sql>name</sql>
+          <default_value/>
+          <is_null_allowed>false</is_null_allowed>
+        </field>
+        <field id="description" xsi:type="AttributeText">
+          <sql>description</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+        </field>
+        <field id="raid_level" xsi:type="AttributeString">
+          <sql>raid_level</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+        </field>
+        <field id="size" xsi:type="AttributeString">
+          <sql>size</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+        </field>
+        <field id="nas_id" xsi:type="AttributeExternalKey">
+          <sql>nas_id</sql>
+          <target_class>NAS</target_class>
+          <is_null_allowed>false</is_null_allowed>
+          <on_target_delete>DEL_AUTO</on_target_delete>
+        </field>
+        <field id="nas_name" xsi:type="AttributeExternalField">
+          <extkey_attcode>nas_id</extkey_attcode>
+          <target_attcode>name</target_attcode>
+        </field>
+      </fields>
+      <methods>
+        <method id="GetRelationQueries">
+          <static>true</static>
+          <access>public</access>
+          <type>Overload-DBObject</type>
+          <code><![CDATA[ public static function GetRelationQueries($sRelCode)
+  {
+    switch ($sRelCode)
+    {
+      case "impacts":
+      $aRels = array(
+
+      );
+      return array_merge($aRels, parent::GetRelationQueries($sRelCode));
+      break;
+      
+      case 'depends on':
+      $aRels = array(
+        "nas" => array("sQuery"=>"SELECT NAS  WHERE id = :this->nas_id", "bPropagate"=>true, "iDistance"=>5), 
+      );
+      return array_merge($aRels, parent::GetRelationQueries($sRelCode));
+      break;
+      
+      default:
+      return parent::GetRelationQueries($sRelCode);     
+    }
+  }]]></code>
+        </method>
+      </methods>
+      <presentation>
+        <details>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="description">
+              <rank>20</rank>
+            </item>
+            <item id="nas_id">
+              <rank>30</rank>
+            </item>
+            <item id="raid_level">
+              <rank>40</rank>
+            </item>
+            <item id="size">
+              <rank>50</rank>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="nas_id">
+              <rank>20</rank>
+            </item>
+            <item id="raid_level">
+              <rank>30</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="nas_id">
+              <rank>10</rank>
+            </item>
+            <item id="raid_level">
+              <rank>20</rank>
+            </item>
+            <item id="size">
+              <rank>30</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+    <class id="FiberChannelInterface" _delta="define">
+      <parent>NetworkInterface</parent>
+      <properties>
+        <category>bizmodel,searchable</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>fiberchannelinterface</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s %2$s</format>
+          <attributes>
+            <attribute id="name"/>
+            <attribute id="datacenterdevice_name"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon>images/application.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="name"/>
+            <attribute id="datacenterdevice_id"/>
+            <attribute id="datacenterdevice_name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields>
+        <field id="speed" xsi:type="AttributeDecimal">
+          <sql>speed</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+          <digits>6</digits>
+          <decimals>2</decimals>
+        </field>
+        <field id="topology" xsi:type="AttributeString">
+          <sql>topology</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+        </field>
+        <field id="wwn" xsi:type="AttributeString">
+          <sql>wwn</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+        </field>
+        <field id="datacenterdevice_id" xsi:type="AttributeExternalKey">
+          <sql>datacenterdevice_id</sql>
+          <target_class>DatacenterDevice</target_class>
+          <is_null_allowed>false</is_null_allowed>
+          <on_target_delete>DEL_AUTO</on_target_delete>
+        </field>
+        <field id="datacenterdevice_name" xsi:type="AttributeExternalField">
+          <extkey_attcode>datacenterdevice_id</extkey_attcode>
+          <target_attcode>name</target_attcode>
+        </field>
+      </fields>
+      <methods/>
+      <presentation>
+        <details>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="datacenterdevice_id">
+              <rank>20</rank>
+            </item>
+            <item id="speed">
+              <rank>30</rank>
+            </item>
+            <item id="topology">
+              <rank>40</rank>
+            </item>
+            <item id="wwn">
+              <rank>50</rank>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="speed">
+              <rank>20</rank>
+            </item>
+            <item id="topology">
+              <rank>30</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="datacenterdevice_id">
+              <rank>20</rank>
+            </item>
+            <item id="speed">
+              <rank>30</rank>
+            </item>
+            <item id="topology">
+              <rank>40</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+    <class id="LogicalVolume" _delta="define">
+      <parent>cmdbAbstractObject</parent>
+      <properties>
+        <category>bizmodel,searchable,configmgmt</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>logicalvolume</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s</format>
+          <attributes>
+            <attribute id="storagesystem_name"/>
+            <attribute id="name"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon>images/volume.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="lun_id"/>
+            <attribute id="name"/>
+            <attribute id="storagesystem_id"/>
+            <attribute id="storagesystem_name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields>
+        <field id="name" xsi:type="AttributeString">
+          <sql>name</sql>
+          <default_value/>
+          <is_null_allowed>false</is_null_allowed>
+        </field>
+        <field id="lun_id" xsi:type="AttributeString">
+          <sql>lun_id</sql>
+          <default_value/>
+          <is_null_allowed>false</is_null_allowed>
+        </field>
+        <field id="description" xsi:type="AttributeText">
+          <sql>description</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+        </field>
+        <field id="raid_level" xsi:type="AttributeString">
+          <sql>raid_level</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+        </field>
+        <field id="size" xsi:type="AttributeString">
+          <sql>size</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+        </field>
+        <field id="storagesystem_id" xsi:type="AttributeExternalKey">
+          <sql>storagesystem_id</sql>
+          <target_class>StorageSystem</target_class>
+          <is_null_allowed>false</is_null_allowed>
+          <on_target_delete>DEL_AUTO</on_target_delete>
+        </field>
+        <field id="storagesystem_name" xsi:type="AttributeExternalField">
+          <extkey_attcode>storagesystem_id</extkey_attcode>
+          <target_attcode>name</target_attcode>
+        </field>
+        <field id="servers_list" xsi:type="AttributeLinkedSetIndirect">
+          <linked_class>lnkServerToVolume</linked_class>
+          <ext_key_to_me>volume_id</ext_key_to_me>
+          <count_min>0</count_min>
+          <count_max>0</count_max>
+          <ext_key_to_remote>server_id</ext_key_to_remote>
+          <duplicates/>
+        </field>
+        <field id="virtualdevices_list" xsi:type="AttributeLinkedSetIndirect">
+          <linked_class>lnkVirtualDeviceToVolume</linked_class>
+          <ext_key_to_me>volume_id</ext_key_to_me>
+          <count_min>0</count_min>
+          <count_max>0</count_max>
+          <ext_key_to_remote>virtualdevice_id</ext_key_to_remote>
+          <duplicates/>
+        </field>
+      </fields>
+      <methods>
+        <method id="GetRelationQueries">
+          <static>true</static>
+          <access>public</access>
+          <type>Overload-DBObject</type>
+          <code><![CDATA[ public static function GetRelationQueries($sRelCode)
+  {
+    switch ($sRelCode)
+    {
+      case "impacts":
+      $aRels = array(
+        // Actually this should be limited to the Software instances based on a DBServer Application type...
+        "server" => array("sQuery"=>"SELECT Server AS s JOIN lnkServerToVolume AS l1 ON l1.server_id=s.id  WHERE l1.volume_id = :this->id", "bPropagate"=>true, "iDistance"=>5),  
+        "virtualdevice" => array("sQuery"=>"SELECT VirtualDevice AS vd JOIN lnkVirtualDeviceToVolume AS l1 ON l1.virtualdevice_id=vd.id  WHERE l1.volume_id = :this->id", "bPropagate"=>true, "iDistance"=>5),
+      );
+      return array_merge($aRels, parent::GetRelationQueries($sRelCode));
+      break;
+      
+      case 'depends on':
+      $aRels = array(
+        "sotragesystem" => array("sQuery"=>"SELECT StorageStystem AS storage WHERE storage.id = :this->storagesystem_id", "bPropagate"=>true, "iDistance"=>5),  
+      );
+      return array_merge($aRels, parent::GetRelationQueries($sRelCode));
+      break;
+      
+      default:
+      return parent::GetRelationQueries($sRelCode);     
+    }
+  }]]></code>
+        </method>
+      </methods>
+      <presentation>
+        <details>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="lun_id">
+              <rank>20</rank>
+            </item>
+            <item id="description">
+              <rank>30</rank>
+            </item>
+            <item id="storagesystem_id">
+              <rank>40</rank>
+            </item>
+            <item id="raid_level">
+              <rank>50</rank>
+            </item>
+            <item id="size">
+              <rank>60</rank>
+            </item>
+            <item id="servers_list">
+              <rank>70</rank>
+            </item>
+            <item id="virtualdevices_list">
+              <rank>80</rank>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="lun_id">
+              <rank>20</rank>
+            </item>
+            <item id="storagesystem_id">
+              <rank>30</rank>
+            </item>
+            <item id="raid_level">
+              <rank>40</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="lun_id">
+              <rank>10</rank>
+            </item>
+            <item id="storagesystem_id">
+              <rank>20</rank>
+            </item>
+            <item id="raid_level">
+              <rank>30</rank>
+            </item>
+            <item id="size">
+              <rank>40</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+    <class id="lnkServerToVolume" _delta="define">
+      <parent>cmdbAbstractObject</parent>
+      <properties>
+        <category>bizmodel,configmgmt</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>lnkservertovolume</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s</format>
+          <attributes>
+            <attribute id="volume_id"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon/>
+        <reconciliation>
+          <attributes>
+            <attribute id="volume_id"/>
+            <attribute id="server_id"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields>
+        <field id="volume_id" xsi:type="AttributeExternalKey">
+          <sql>volume_id</sql>
+          <target_class>LogicalVolume</target_class>
+          <is_null_allowed>false</is_null_allowed>
+          <on_target_delete>DEL_AUTO</on_target_delete>
+        </field>
+        <field id="volume_name" xsi:type="AttributeExternalField">
+          <extkey_attcode>volume_id</extkey_attcode>
+          <target_attcode>name</target_attcode>
+        </field>
+        <field id="server_id" xsi:type="AttributeExternalKey">
+          <sql>server_id</sql>
+          <target_class>Server</target_class>
+          <is_null_allowed>false</is_null_allowed>
+          <on_target_delete>DEL_AUTO</on_target_delete>
+        </field>
+        <field id="server_name" xsi:type="AttributeExternalField">
+          <extkey_attcode>server_id</extkey_attcode>
+          <target_attcode>name</target_attcode>
+        </field>
+        <field id="size_used" xsi:type="AttributeString">
+          <sql>size_used</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+        </field>
+      </fields>
+      <methods/>
+      <presentation>
+        <details>
+          <items>
+            <item id="volume_id">
+              <rank>10</rank>
+            </item>
+            <item id="server_id">
+              <rank>20</rank>
+            </item>
+            <item id="size_used">
+              <rank>30</rank>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="volume_id">
+              <rank>10</rank>
+            </item>
+            <item id="server_id">
+              <rank>20</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="volume_id">
+              <rank>10</rank>
+            </item>
+            <item id="server_id">
+              <rank>20</rank>
+            </item>
+            <item id="size_used">
+              <rank>30</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+    <class id="lnkVirtualDeviceToVolume" _delta="define">
+      <parent>cmdbAbstractObject</parent>
+      <properties>
+        <category>bizmodel,configmgmt</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>lnkvirtualdevicetovolume</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s</format>
+          <attributes>
+            <attribute id="volume_id"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon/>
+        <reconciliation>
+          <attributes>
+            <attribute id="volume_id"/>
+            <attribute id="virtualdevice_id"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields>
+        <field id="volume_id" xsi:type="AttributeExternalKey">
+          <sql>volume_id</sql>
+          <target_class>LogicalVolume</target_class>
+          <is_null_allowed>false</is_null_allowed>
+          <on_target_delete>DEL_AUTO</on_target_delete>
+        </field>
+        <field id="volume_name" xsi:type="AttributeExternalField">
+          <extkey_attcode>volume_id</extkey_attcode>
+          <target_attcode>name</target_attcode>
+        </field>
+        <field id="virtualdevice_id" xsi:type="AttributeExternalKey">
+          <sql>virtualdevice_id</sql>
+          <target_class>VirtualDevice</target_class>
+          <is_null_allowed>false</is_null_allowed>
+          <on_target_delete>DEL_AUTO</on_target_delete>
+        </field>
+        <field id="virtualdevice_name" xsi:type="AttributeExternalField">
+          <extkey_attcode>virtualdevice_id</extkey_attcode>
+          <target_attcode>name</target_attcode>
+        </field>
+        <field id="size_used" xsi:type="AttributeString">
+          <sql>size_used</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+        </field>
+      </fields>
+      <methods/>
+      <presentation>
+        <details>
+          <items>
+            <item id="volume_id">
+              <rank>10</rank>
+            </item>
+            <item id="virtualdevice_id">
+              <rank>20</rank>
+            </item>
+            <item id="size_used">
+              <rank>30</rank>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="volume_id">
+              <rank>10</rank>
+            </item>
+            <item id="virtualdevice_id">
+              <rank>20</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="volume_id">
+              <rank>10</rank>
+            </item>
+            <item id="virtualdevice_id">
+              <rank>20</rank>
+            </item>
+            <item id="size_used">
+              <rank>30</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+    <class id="lnkSanToDatacenterDevice" _delta="define">
+      <parent>cmdbAbstractObject</parent>
+      <properties>
+        <is_link>1</is_link>
+        <category>bizmodel,configmgmt</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>lnkdatacenterdevicetosan</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s</format>
+          <attributes>
+            <attribute id="san_id"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon/>
+        <reconciliation>
+          <attributes>
+            <attribute id="san_id"/>
+            <attribute id="datacenterdevice_id"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields>
+        <field id="san_id" xsi:type="AttributeExternalKey">
+          <sql>san_id</sql>
+          <target_class>SANSwitch</target_class>
+          <is_null_allowed>false</is_null_allowed>
+          <on_target_delete>DEL_AUTO</on_target_delete>
+        </field>
+        <field id="san_name" xsi:type="AttributeExternalField">
+          <extkey_attcode>san_id</extkey_attcode>
+          <target_attcode>name</target_attcode>
+        </field>
+        <field id="datacenterdevice_id" xsi:type="AttributeExternalKey">
+          <sql>datacenterdevice_id</sql>
+          <target_class>DatacenterDevice</target_class>
+          <is_null_allowed>false</is_null_allowed>
+          <on_target_delete>DEL_AUTO</on_target_delete>
+        </field>
+        <field id="datacenterdevice_name" xsi:type="AttributeExternalField">
+          <extkey_attcode>datacenterdevice_id</extkey_attcode>
+          <target_attcode>name</target_attcode>
+        </field>
+        <field id="san_port" xsi:type="AttributeString">
+          <sql>san_port</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+        </field>
+        <field id="datacenterdevice_port" xsi:type="AttributeString">
+          <sql>datacenterdevice_port</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+        </field>
+      </fields>
+      <methods/>
+      <presentation>
+        <details>
+          <items>
+            <item id="san_id">
+              <rank>10</rank>
+            </item>
+            <item id="san_port">
+              <rank>20</rank>
+            </item>
+            <item id="datacenterdevice_id">
+              <rank>30</rank>
+            </item>
+            <item id="datacenterdevice_port">
+              <rank>40</rank>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="san_id">
+              <rank>10</rank>
+            </item>
+            <item id="san_port">
+              <rank>20</rank>
+            </item>
+            <item id="datacenterdevice_id">
+              <rank>30</rank>
+            </item>
+            <item id="datacenterdevice_port">
+              <rank>40</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="san_id">
+              <rank>10</rank>
+            </item>
+            <item id="san_port">
+              <rank>20</rank>
+            </item>
+            <item id="datacenterdevice_id">
+              <rank>30</rank>
+            </item>
+            <item id="datacenterdevice_port">
+              <rank>40</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+</classes>
+<menus>
+    <menu id="ConfigManagementOverview" xsi:type="DashboardMenuNode" _delta="must_exist">
+      <rank>1</rank>
+      <parent>ConfigManagement</parent>
+      <definition>
+  <layout>DashboardLayoutOneCol</layout>
+  <title></title>
+  <cells>
+    <cell id="0" _delta="must_exist">
+      <rank>0</rank>
+      <dashlets>
+        <dashlet id="6" xsi:type="DashletBadge" _delta="define">
+          <rank>5</rank>
+          <class>StorageSystem</class>
+        </dashlet>
+        <dashlet id="7" xsi:type="DashletBadge" _delta="define">
+          <rank>6</rank>
+          <class>SANSwitch</class>
+        </dashlet>
+        <dashlet id="8" xsi:type="DashletBadge" _delta="define">
+          <rank>7</rank>
+          <class>NAS</class>
+        </dashlet>
+        <dashlet id="9" xsi:type="DashletBadge" _delta="define">
+          <rank>8</rank>
+          <class>TapeLibrary</class>
+        </dashlet>
+      </dashlets>
+    </cell>
+    <cell id="4" _delta="must_exist">
+      <rank>4</rank>
+      <dashlets>
+        <dashlet id="37" xsi:type="DashletBadge" _delta="define">
+          <rank>3</rank>
+          <class>LogicalVolume</class>
+        </dashlet>
+      </dashlets>
+    </cell>
+
+    </cells>
+    </definition>
+    </menu>
+ </menus>
+</itop_design>

+ 29 - 0
datamodels/2.x/itop-storage-mgmt/en.dict.itop-storage-mgmt.php

@@ -0,0 +1,29 @@
+<?php
+// Copyright (C) 2010 Combodo SARL
+//
+//   This program is free software; you can redistribute it and/or modify
+//   it under the terms of the GNU General Public License as published by
+//   the Free Software Foundation; version 3 of the License.
+//
+//   This program is distributed in the hope that it will be useful,
+//   but WITHOUT ANY WARRANTY; without even the implied warranty of
+//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//   GNU General Public License for more details.
+//
+//   You should have received a copy of the GNU General Public License
+//   along with this program; if not, write to the Free Software
+//   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+/**
+ * Localized data
+ *
+ * @author      Erwan Taloc <erwan.taloc@combodo.com>
+ * @author      Romain Quetiez <romain.quetiez@combodo.com>
+ * @author      Denis Flaven <denis.flaven@combodo.com>
+ * @license     http://www.opensource.org/licenses/gpl-3.0.html LGPL
+ */
+
+Dict::Add('EN US', 'English', 'English', array(
+	// Dictionary entries go here
+));
+?>

BIN
datamodels/2.x/itop-storage-mgmt/images/diskarray.png


+ 0 - 0
datamodels/2.x/itop-config-mgmt/images/nas.jpeg → datamodels/2.x/itop-storage-mgmt/images/nas.jpeg


+ 0 - 0
datamodels/2.x/itop-config-mgmt/images/storageArea.png → datamodels/2.x/itop-storage-mgmt/images/storageArea.png


BIN
datamodels/2.x/itop-config-mgmt/images/pdu.png → datamodels/2.x/itop-storage-mgmt/images/switch.png


+ 0 - 0
datamodels/2.x/itop-config-mgmt/images/tape.png → datamodels/2.x/itop-storage-mgmt/images/tape.png


+ 0 - 0
datamodels/2.x/itop-config-mgmt/images/tapelibrary.png → datamodels/2.x/itop-storage-mgmt/images/tapelibrary.png


BIN
datamodels/2.x/itop-storage-mgmt/images/volume.png


+ 63 - 0
datamodels/2.x/itop-storage-mgmt/module.itop-storage-mgmt.php

@@ -0,0 +1,63 @@
+<?php
+// Copyright (C) 2010 Combodo SARL
+//
+//   This program is free software; you can redistribute it and/or modify
+//   it under the terms of the GNU General Public License as published by
+//   the Free Software Foundation; version 3 of the License.
+//
+//   This program is distributed in the hope that it will be useful,
+//   but WITHOUT ANY WARRANTY; without even the implied warranty of
+//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//   GNU General Public License for more details.
+//
+//   You should have received a copy of the GNU General Public License
+//   along with this program; if not, write to the Free Software
+//   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+SetupWebPage::AddModule(
+	__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
+	'itop-storage-mgmt/2.0.0',
+	array(
+		// Identification
+		//
+		'label' => 'Advanced Storage Management',
+		'category' => 'business',
+
+		// Setup
+		//
+		'dependencies' => array(
+			'itop-config-mgmt/2.0.0'
+		),
+		'mandatory' => false,
+		'visible' => true,
+
+		// Components
+		//
+		'datamodel' => array(
+			'model.itop-storage-mgmt.php'
+		),
+		'webservice' => array(
+			
+		),
+		'data.struct' => array(
+			// add your 'structure' definition XML files here,
+		),
+		'data.sample' => array(
+			// add your sample data XML files here,
+		),
+		
+		// Documentation
+		//
+		'doc.manual_setup' => '', // hyperlink to manual setup documentation, if any
+		'doc.more_information' => '', // hyperlink to more information, if any 
+
+		// Default settings
+		//
+		'settings' => array(
+			// Module specific settings go here, if any
+		),
+	)
+);
+
+
+?>

+ 0 - 0
datamodels/2.x/itop-config-mgmt/data.sample.farm.xml → datamodels/2.x/itop-virtualization-mgmt/data.sample.farm.xml


+ 0 - 0
datamodels/2.x/itop-config-mgmt/data.sample.hypervisor.xml → datamodels/2.x/itop-virtualization-mgmt/data.sample.hypervisor.xml


+ 0 - 0
datamodels/2.x/itop-config-mgmt/data.sample.vm.xml → datamodels/2.x/itop-virtualization-mgmt/data.sample.vm.xml


+ 835 - 0
datamodels/2.x/itop-virtualization-mgmt/datamodel.itop-virtualization-mgmt.xml

@@ -0,0 +1,835 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
+  <classes>
+    <class id="VirtualDevice" _delta="define">
+      <parent>FunctionalCI</parent>
+      <properties>
+        <category>bizmodel,searchable</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>virtualdevice</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s</format>
+          <attributes>
+            <attribute id="name"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon>images/application.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="name"/>
+            <attribute id="org_id"/>
+            <attribute id="organization_name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields>
+        <field id="status" xsi:type="AttributeEnum">
+          <values>
+            <value>production</value>
+            <value>implementation</value>
+            <value>stock</value>
+            <value>obsolete</value>
+          </values>
+          <sql>status</sql>
+          <default_value>production</default_value>
+          <is_null_allowed>true</is_null_allowed>
+          <display_style>list</display_style>
+        </field>
+        <field id="logicalvolumes_list" xsi:type="AttributeLinkedSetIndirect">
+          <linked_class>lnkVirtualDeviceToVolume</linked_class>
+          <ext_key_to_me>virtualdevice_id</ext_key_to_me>
+          <count_min>0</count_min>
+          <count_max>0</count_max>
+          <ext_key_to_remote>volume_id</ext_key_to_remote>
+          <duplicates/>
+        </field>
+      </fields>
+      <methods/>
+      <presentation>
+        <details>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="status">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="move2production">
+              <rank>50</rank>
+            </item>
+            <item id="description">
+              <rank>60</rank>
+            </item>
+            <item id="contacts_list">
+              <rank>70</rank>
+            </item>
+            <item id="documents_list">
+              <rank>80</rank>
+            </item>
+            <item id="applicationsolution_list">
+              <rank>90</rank>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="status">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="move2production">
+              <rank>50</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="finalclass">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="status">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="move2production">
+              <rank>50</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+    <class id="VirtualHost" _delta="define">
+      <parent>VirtualDevice</parent>
+      <properties>
+        <category>bizmodel,searchable</category>
+        <abstract>true</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>virtualhost</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s</format>
+          <attributes>
+            <attribute id="name"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon>images/application.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="name"/>
+            <attribute id="org_id"/>
+            <attribute id="organization_name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields>
+        <field id="virtualmachine_list" xsi:type="AttributeLinkedSet">
+          <linked_class>VirtualMachine</linked_class>
+          <ext_key_to_me>virtualhost_id</ext_key_to_me>
+          <edit_mode>add_only</edit_mode>
+          <count_min>0</count_min>
+          <count_max>0</count_max>
+        </field>
+      </fields>
+      <methods>
+        <method id="GetRelationQueries">
+          <static>true</static>
+          <access>public</access>
+          <type>Overload-DBObject</type>
+          <code><![CDATA[ public static function GetRelationQueries($sRelCode)
+  {
+    switch ($sRelCode)
+    {
+      case "impacts":
+      $aRels = array(
+        "virtualmachine" => array("sQuery"=>"SELECT VirtualMachine WHERE virtualhost_id = :this->id", "bPropagate"=>true, "iDistance"=>10),
+
+      );
+      return array_merge($aRels, parent::GetRelationQueries($sRelCode));
+      break;
+      
+      case 'depends on':
+      $aRels = array(
+      
+      );
+      return array_merge($aRels, parent::GetRelationQueries($sRelCode));
+      break;
+      
+      default:
+      return parent::GetRelationQueries($sRelCode);     
+    }
+  }]]></code>
+        </method>
+      </methods>
+      <presentation>
+        <details>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>30</rank>
+            </item>
+            <item id="move2production">
+              <rank>40</rank>
+            </item>
+            <item id="description">
+              <rank>50</rank>
+            </item>
+            <item id="contacts_list">
+              <rank>60</rank>
+            </item>
+            <item id="documents_list">
+              <rank>70</rank>
+            </item>
+            <item id="applicationsolution_list">
+              <rank>80</rank>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>30</rank>
+            </item>
+            <item id="move2production">
+              <rank>40</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="finalclass">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="status">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="move2production">
+              <rank>50</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+    <class id="Hypervisor" _delta="define">
+      <parent>VirtualHost</parent>
+      <properties>
+        <category>bizmodel,searchable</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>hypervisor</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s</format>
+          <attributes>
+            <attribute id="name"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon>images/hypervisor.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="name"/>
+            <attribute id="org_id"/>
+            <attribute id="organization_name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields>
+        <field id="farm_id" xsi:type="AttributeExternalKey">
+          <sql>farm_id</sql>
+          <target_class>Farm</target_class>
+          <is_null_allowed>true</is_null_allowed>
+          <on_target_delete>DEL_MANUAL</on_target_delete>
+        </field>
+        <field id="farm_name" xsi:type="AttributeExternalField">
+          <extkey_attcode>farm_id</extkey_attcode>
+          <target_attcode>name</target_attcode>
+        </field>
+        <field id="server_id" xsi:type="AttributeExternalKey">
+          <sql>server_id</sql>
+          <target_class>Server</target_class>
+          <is_null_allowed>true</is_null_allowed>
+          <on_target_delete>DEL_AUTO</on_target_delete>
+        </field>
+        <field id="server_name" xsi:type="AttributeExternalField">
+          <extkey_attcode>server_id</extkey_attcode>
+          <target_attcode>name</target_attcode>
+        </field>
+      </fields>
+      <methods>
+        <method id="GetRelationQueries">
+          <static>true</static>
+          <access>public</access>
+          <type>Overload-DBObject</type>
+          <code><![CDATA[ public static function GetRelationQueries($sRelCode)
+  {
+    switch ($sRelCode)
+    {
+      case "impacts":
+      $aRels = array(
+        "farm" => array("sQuery"=>"SELECT Farm WHERE id = :this->farm_id", "bPropagate"=>true, "iDistance"=>10),
+
+      );
+      return array_merge($aRels, parent::GetRelationQueries($sRelCode));
+      break;
+      
+      case 'depends on':
+      $aRels = array(
+        "server" => array("sQuery"=>"SELECT Server WHERE id = :this->server_id", "bPropagate"=>true, "iDistance"=>10),
+      
+      );
+      return array_merge($aRels, parent::GetRelationQueries($sRelCode));
+      break;
+      
+      default:
+      return parent::GetRelationQueries($sRelCode);     
+    }
+  }]]></code>
+        </method>
+      </methods>
+      <presentation>
+        <details>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="server_id">
+              <rank>30</rank>
+            </item>
+            <item id="farm_id">
+              <rank>40</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>50</rank>
+            </item>
+            <item id="move2production">
+              <rank>60</rank>
+            </item>
+            <item id="description">
+              <rank>70</rank>
+            </item>
+            <item id="contacts_list">
+              <rank>80</rank>
+            </item>
+            <item id="documents_list">
+              <rank>90</rank>
+            </item>
+            <item id="tickets_list">
+              <rank>100</rank>
+            </item>
+            <item id="applicationsolution_list">
+              <rank>110</rank>
+            </item>
+            <item id="virtualmachine_list">
+              <rank>120</rank>
+            </item>
+            <item id="providercontracts_list">
+              <rank>130</rank>
+            </item>
+            <item id="services_list">
+              <rank>140</rank>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>30</rank>
+            </item>
+            <item id="move2production">
+              <rank>40</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="org_id">
+              <rank>10</rank>
+            </item>
+            <item id="server_id">
+              <rank>20</rank>
+            </item>
+            <item id="farm_id">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="move2production">
+              <rank>50</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+    <class id="Farm" _delta="define">
+      <parent>VirtualHost</parent>
+      <properties>
+        <category>bizmodel,searchable</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>farm</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s</format>
+          <attributes>
+            <attribute id="name"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon>images/cluster.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="name"/>
+            <attribute id="org_id"/>
+            <attribute id="organization_name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields>
+        <field id="hypervisor_list" xsi:type="AttributeLinkedSet">
+          <linked_class>Hypervisor</linked_class>
+          <ext_key_to_me>farm_id</ext_key_to_me>
+          <edit_mode>add_only</edit_mode>
+          <count_min>0</count_min>
+          <count_max>0</count_max>
+        </field>
+      </fields>
+      <methods>
+        <method id="GetRelationQueries">
+          <static>true</static>
+          <access>public</access>
+          <type>Overload-DBObject</type>
+          <code><![CDATA[ public static function GetRelationQueries($sRelCode)
+  {
+    switch ($sRelCode)
+    {
+      case "impacts":
+      $aRels = array(
+
+      );
+      return array_merge($aRels, parent::GetRelationQueries($sRelCode));
+      break;
+      
+      case 'depends on':
+      $aRels = array(
+        "Hypervisor" => array("sQuery"=>"SELECT Hypervisor WHERE farm_id = :this->id", "bPropagate"=>true, "iDistance"=>10),
+      
+      );
+      return array_merge($aRels, parent::GetRelationQueries($sRelCode));
+      break;
+      
+      default:
+      return parent::GetRelationQueries($sRelCode);     
+    }
+  }]]></code>
+        </method>
+      </methods>
+      <presentation>
+        <details>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>30</rank>
+            </item>
+            <item id="move2production">
+              <rank>40</rank>
+            </item>
+            <item id="description">
+              <rank>50</rank>
+            </item>
+            <item id="contacts_list">
+              <rank>60</rank>
+            </item>
+            <item id="documents_list">
+              <rank>70</rank>
+            </item>
+            <item id="tickets_list">
+              <rank>80</rank>
+            </item>
+            <item id="applicationsolution_list">
+              <rank>90</rank>
+            </item>
+            <item id="hypervisor_list">
+              <rank>100</rank>
+            </item>
+            <item id="virtualmachine_list">
+              <rank>110</rank>
+            </item>
+            <item id="providercontracts_list">
+              <rank>120</rank>
+            </item>
+            <item id="services_list">
+              <rank>130</rank>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>30</rank>
+            </item>
+            <item id="move2production">
+              <rank>40</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="org_id">
+              <rank>10</rank>
+            </item>
+            <item id="status">
+              <rank>20</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>30</rank>
+            </item>
+            <item id="move2production">
+              <rank>40</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+    <class id="VirtualMachine" _delta="define">
+      <parent>VirtualDevice</parent>
+      <properties>
+        <category>bizmodel,searchable</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>virtualmachine</db_table>
+        <db_key_field>id</db_key_field>
+        <db_final_class_field/>
+        <naming>
+          <format>%1$s</format>
+          <attributes>
+            <attribute id="name"/>
+          </attributes>
+        </naming>
+        <display_template/>
+        <icon>images/virtualmachine.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="name"/>
+            <attribute id="org_id"/>
+            <attribute id="organization_name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields>
+        <field id="virtualhost_id" xsi:type="AttributeExternalKey">
+          <sql>virtualhost_id</sql>
+          <target_class>VirtualHost</target_class>
+          <is_null_allowed>false</is_null_allowed>
+          <on_target_delete>DEL_MANUAL</on_target_delete>
+        </field>
+        <field id="virtualhost_name" xsi:type="AttributeExternalField">
+          <extkey_attcode>virtualhost_id</extkey_attcode>
+          <target_attcode>name</target_attcode>
+        </field>
+        <field id="osfamily_id" xsi:type="AttributeExternalKey">
+          <sql>osfamily_id</sql>
+          <target_class>OSfamily</target_class>
+          <is_null_allowed>true</is_null_allowed>
+          <on_target_delete>DEL_MANUAL</on_target_delete>
+        </field>
+        <field id="osfamily_name" xsi:type="AttributeExternalField">
+          <extkey_attcode>osfamily_id</extkey_attcode>
+          <target_attcode>name</target_attcode>
+        </field>
+        <field id="osversion_id" xsi:type="AttributeExternalKey">
+          <filter><![CDATA[SELECT OSversion WHERE osfamily_id = :this->osfamily_id]]></filter>
+          <dependencies>
+            <attribute id="osfamily_id"/>
+          </dependencies>
+          <sql>osversion_id</sql>
+          <target_class>OSversion</target_class>
+          <is_null_allowed>true</is_null_allowed>
+          <on_target_delete>DEL_MANUAL</on_target_delete>
+        </field>
+        <field id="osversion_name" xsi:type="AttributeExternalField">
+          <extkey_attcode>osversion_id</extkey_attcode>
+          <target_attcode>name</target_attcode>
+        </field>
+        <field id="oslicence_id" xsi:type="AttributeExternalKey">
+          <filter><![CDATA[SELECT OsLicence WHERE osversion_id = :this->osversion_id]]></filter>
+          <dependencies>
+            <attribute id="osversion_id"/>
+          </dependencies>
+          <sql>oslicence_id</sql>
+          <target_class>OsLicence</target_class>
+          <is_null_allowed>true</is_null_allowed>
+          <on_target_delete>DEL_MANUAL</on_target_delete>
+        </field>
+        <field id="oslicence_name" xsi:type="AttributeExternalField">
+          <extkey_attcode>oslicence_id</extkey_attcode>
+          <target_attcode>name</target_attcode>
+        </field>
+        <field id="cpu" xsi:type="AttributeString">
+          <sql>cpu</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+        </field>
+        <field id="ram" xsi:type="AttributeString">
+          <sql>ram</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+        </field>
+        <field id="logicalinterface_list" xsi:type="AttributeLinkedSet">
+          <linked_class>LogicalInterface</linked_class>
+          <ext_key_to_me>virtualmachine_id</ext_key_to_me>
+          <edit_mode>in_place</edit_mode>
+          <count_min>0</count_min>
+          <count_max>0</count_max>
+        </field>
+      </fields>
+      <methods>
+        <method id="GetRelationQueries">
+          <static>true</static>
+          <access>public</access>
+          <type>Overload-DBObject</type>
+          <code><![CDATA[ public static function GetRelationQueries($sRelCode)
+  {
+    switch ($sRelCode)
+    {
+      case "impacts":
+      $aRels = array(
+
+      );
+      return array_merge($aRels, parent::GetRelationQueries($sRelCode));
+      break;
+      
+      case 'depends on':
+      $aRels = array(
+        "virtualhost" => array("sQuery"=>"SELECT VirtualHost WHERE id = :this->virtualhost_id", "bPropagate"=>true, "iDistance"=>10),
+      
+      );
+      return array_merge($aRels, parent::GetRelationQueries($sRelCode));
+      break;
+      
+      default:
+      return parent::GetRelationQueries($sRelCode);     
+    }
+  }]]></code>
+        </method>
+      </methods>
+      <presentation>
+        <details>
+          <items>
+            <item id="softwares_list">
+              <rank>10</rank>
+            </item>
+            <item id="contacts_list">
+              <rank>20</rank>
+            </item>
+            <item id="documents_list">
+              <rank>30</rank>
+            </item>
+            <item id="tickets_list">
+              <rank>40</rank>
+            </item>
+            <item id="logicalinterface_list">
+              <rank>50</rank>
+            </item>
+            <item id="logicalvolumes_list">
+              <rank>60</rank>
+            </item>
+            <item id="providercontracts_list">
+              <rank>70</rank>
+            </item>
+            <item id="services_list">
+              <rank>80</rank>
+            </item>
+            <item id="col:col1">
+              <rank>90</rank>
+              <items>
+                <item id="fieldset:Server:baseinfo">
+                  <rank>10</rank>
+                  <items>
+                    <item id="name">
+                      <rank>10</rank>
+                    </item>
+                    <item id="org_id">
+                      <rank>20</rank>
+                    </item>
+                    <item id="status">
+                      <rank>30</rank>
+                    </item>
+                    <item id="business_criticity">
+                      <rank>40</rank>
+                    </item>
+                    <item id="virtualhost_id">
+                      <rank>50</rank>
+                    </item>
+                  </items>
+                </item>
+                <item id="fieldset:Server:moreinfo">
+                  <rank>20</rank>
+                  <items>
+                    <item id="osfamily_id">
+                      <rank>10</rank>
+                    </item>
+                    <item id="osversion_id">
+                      <rank>20</rank>
+                    </item>
+                    <item id="oslicence_id">
+                      <rank>30</rank>
+                    </item>
+                    <item id="cpu">
+                      <rank>40</rank>
+                    </item>
+                    <item id="ram">
+                      <rank>50</rank>
+                    </item>
+                  </items>
+                </item>
+              </items>
+            </item>
+            <item id="col:col2">
+              <rank>100</rank>
+              <items>
+                <item id="fieldset:Server:otherinfo">
+                  <rank>10</rank>
+                  <items>
+                    <item id="move2production">
+                      <rank>10</rank>
+                    </item>
+                    <item id="description">
+                      <rank>20</rank>
+                    </item>
+                  </items>
+                </item>
+              </items>
+            </item>
+          </items>
+        </details>
+        <search>
+          <items>
+            <item id="name">
+              <rank>10</rank>
+            </item>
+            <item id="org_id">
+              <rank>20</rank>
+            </item>
+            <item id="status">
+              <rank>30</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>40</rank>
+            </item>
+            <item id="move2production">
+              <rank>50</rank>
+            </item>
+          </items>
+        </search>
+        <list>
+          <items>
+            <item id="org_id">
+              <rank>10</rank>
+            </item>
+            <item id="status">
+              <rank>20</rank>
+            </item>
+            <item id="business_criticity">
+              <rank>30</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+</classes>
+<menus>
+  <menu id="ConfigManagementOverview" xsi:type="DashboardMenuNode" _delta="must_exist">
+    <definition>
+      <cells>
+        <cell id="1" _delta="define">
+          <rank>1</rank>
+          <dashlets>
+            <dashlet id="0" xsi:type="DashletHeaderStatic">
+              <rank>0</rank>
+              <title>Menu:ConfigManagement:virtualization</title>
+              <icon>itop-virtualization-mgmt/images/hypervisor-sw.png</icon>
+            </dashlet>
+            <dashlet id="1" xsi:type="DashletBadge">
+              <rank>1</rank>
+              <class>Farm</class>
+            </dashlet>
+            <dashlet id="2" xsi:type="DashletBadge">
+              <rank>2</rank>
+              <class>Hypervisor</class>
+            </dashlet>
+            <dashlet id="3" xsi:type="DashletBadge">
+              <rank>3</rank>
+              <class>VirtualMachine</class>
+            </dashlet>
+          </dashlets>
+        </cell>
+      </cells>
+    </definition>
+  </menu>
+</menus>
+</itop_design>

+ 29 - 0
datamodels/2.x/itop-virtualization-mgmt/en.dict.itop-virtualization-mgmt.php

@@ -0,0 +1,29 @@
+<?php
+// Copyright (C) 2010 Combodo SARL
+//
+//   This program is free software; you can redistribute it and/or modify
+//   it under the terms of the GNU General Public License as published by
+//   the Free Software Foundation; version 3 of the License.
+//
+//   This program is distributed in the hope that it will be useful,
+//   but WITHOUT ANY WARRANTY; without even the implied warranty of
+//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//   GNU General Public License for more details.
+//
+//   You should have received a copy of the GNU General Public License
+//   along with this program; if not, write to the Free Software
+//   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+/**
+ * Localized data
+ *
+ * @author      Erwan Taloc <erwan.taloc@combodo.com>
+ * @author      Romain Quetiez <romain.quetiez@combodo.com>
+ * @author      Denis Flaven <denis.flaven@combodo.com>
+ * @license     http://www.opensource.org/licenses/gpl-3.0.html LGPL
+ */
+
+Dict::Add('EN US', 'English', 'English', array(
+	// Dictionary entries go here
+));
+?>

BIN
datamodels/2.x/itop-virtualization-mgmt/images/cluster.png


BIN
datamodels/2.x/itop-virtualization-mgmt/images/hypervisor-sw.png


BIN
datamodels/2.x/itop-virtualization-mgmt/images/hypervisor.png


+ 0 - 0
datamodels/2.x/itop-config-mgmt/images/virtualmachine.png → datamodels/2.x/itop-virtualization-mgmt/images/virtualmachine.png


BIN
datamodels/2.x/itop-virtualization-mgmt/images/vlan.png


+ 66 - 0
datamodels/2.x/itop-virtualization-mgmt/module.itop-virtualization-mgmt.php

@@ -0,0 +1,66 @@
+<?php
+// Copyright (C) 2010 Combodo SARL
+//
+//   This program is free software; you can redistribute it and/or modify
+//   it under the terms of the GNU General Public License as published by
+//   the Free Software Foundation; version 3 of the License.
+//
+//   This program is distributed in the hope that it will be useful,
+//   but WITHOUT ANY WARRANTY; without even the implied warranty of
+//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//   GNU General Public License for more details.
+//
+//   You should have received a copy of the GNU General Public License
+//   along with this program; if not, write to the Free Software
+//   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+SetupWebPage::AddModule(
+	__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
+	'itop-virtualization-mgmt/2.0.0',
+	array(
+		// Identification
+		//
+		'label' => 'Virtualization Management',
+		'category' => 'business',
+
+		// Setup
+		//
+		'dependencies' => array(
+			'itop-config-mgmt/2.0.0'
+		),
+		'mandatory' => false,
+		'visible' => true,
+
+		// Components
+		//
+		'datamodel' => array(
+			'model.itop-virtualization-mgmt.php'
+		),
+		'webservice' => array(
+			
+		),
+		'data.struct' => array(
+			// add your 'structure' definition XML files here,
+		),
+		'data.sample' => array(
+			// add your sample data XML files here,
+			'data.sample.farm.xml',
+			'data.sample.hypervisor.xml',
+			'data.sample.vm.xml',
+		),
+		
+		// Documentation
+		//
+		'doc.manual_setup' => '', // hyperlink to manual setup documentation, if any
+		'doc.more_information' => '', // hyperlink to more information, if any 
+
+		// Default settings
+		//
+		'settings' => array(
+			// Module specific settings go here, if any
+		),
+	)
+);
+
+
+?>

+ 2 - 2
datamodels/2.x/itop-welcome-itil/main.itop-welcome-itil.php

@@ -44,8 +44,8 @@ class ItopWelcome extends ModuleHandlerAPI
 {
 	public static function OnMenuCreation()
 	{
-		$oWelcomeMenu = new MenuGroup('WelcomeMenu', 10 /* fRank */);
-		new DashboardMenuNode('WelcomeMenuPage', dirname(__FILE__).'/welcome_menu.xml', $oWelcomeMenu->GetIndex() /* oParent */, 1 /* fRank */);
+		//$oWelcomeMenu = new MenuGroup('WelcomeMenu', 10 /* fRank */);
+		//new DashboardMenuNode('WelcomeMenuPage', dirname(__FILE__).'/welcome_menu.xml', $oWelcomeMenu->GetIndex() /* oParent */, 1 /* fRank */);
 		
 		$oToolsMenu = new MenuGroup('DataAdministration', 70 /* fRank */, 'Organization', UR_ACTION_MODIFY, UR_ALLOWED_YES|UR_ALLOWED_DEPENDS);
 		new WebPageMenuNode('CSVImportMenu', utils::GetAbsoluteUrlAppRoot().'pages/csvimport.php', $oToolsMenu->GetIndex(), 1 /* fRank */);

+ 1 - 0
datamodels/2.x/itop-welcome-itil/module.itop-welcome-itil.php

@@ -22,6 +22,7 @@ SetupWebPage::AddModule(
 		//
 		'datamodel' => array(
 			'main.itop-welcome-itil.php',
+			'model.itop-welcome-itil.php',
 		),
 		'webservice' => array(
 			//'webservices.itop-welcome-itil.php',

+ 0 - 65
datamodels/2.x/itop-welcome-itil/welcome_menu.xml

@@ -1,65 +0,0 @@
-<?xml version="1.0"?>
-<dashboard xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <layout>DashboardLayoutOneCol</layout>
-  <title></title>
-  <cells>
-    <cell id="0">
-      <rank>0</rank>
-      <dashlets>
-        <dashlet id="1" xsi:type="DashletHeaderStatic">
-          <rank>0</rank>
-          <title>Menu:ConfigManagementCI</title>
-          <icon>itop-welcome-itil/images/database.png</icon>
-        </dashlet>
-        <dashlet id="2" xsi:type="DashletBadge">
-          <rank>1</rank>
-          <class>BusinessProcess</class>
-        </dashlet>
-        <dashlet id="3" xsi:type="DashletBadge">
-          <rank>2</rank>
-          <class>ApplicationSolution</class>
-        </dashlet>
-        <dashlet id="4" xsi:type="DashletBadge">
-          <rank>3</rank>
-          <class>Contact</class>
-        </dashlet>
-        <dashlet id="5" xsi:type="DashletBadge">
-          <rank>4</rank>
-          <class>Location</class>
-        </dashlet>
-        <dashlet id="6" xsi:type="DashletBadge">
-          <rank>5</rank>
-          <class>Contract</class>
-        </dashlet>
-        <dashlet id="7" xsi:type="DashletBadge">
-          <rank>6</rank>
-          <class>Server</class>
-        </dashlet>
-        <dashlet id="8" xsi:type="DashletBadge">
-          <rank>7</rank>
-          <class>NetworkDevice</class>
-        </dashlet>
-      </dashlets>
-    </cell>
-    <cell id="1">
-      <rank>1</rank>
-      <dashlets>
-        <dashlet id="8" xsi:type="DashletHeaderDynamic">
-          <rank>0</rank>
-          <title>Menu:RequestManagement</title>
-          <icon>itop-welcome-itil/images/user-request-deadline.png</icon>
-          <subtitle>Open Requests</subtitle>
-          <query>SELECT UserRequest WHERE status != "closed"</query>
-          <group_by>status</group_by>
-          <values>new,assigned,escalated_tto,escalated_ttr,resolved</values>
-        </dashlet>
-        <dashlet id="9" xsi:type="DashletObjectList">
-          <rank>1</rank>
-          <title>UI:WelcomeMenu:MyCalls</title>
-          <query>SELECT UserRequest AS i WHERE i.agent_id = :current_contact_id AND status NOT IN ("closed", "resolved")</query>
-          <menu>true</menu>
-        </dashlet>
-      </dashlets>
-    </cell>
-  </cells>
-</dashboard>

Некоторые файлы не были показаны из-за большого количества измененных файлов