浏览代码

Add specific module for Datacenter related CIs

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@2348 a333f486-631f-4898-b8df-5754b55c2be0
etaloc 12 年之前
父节点
当前提交
3e22fc5492

+ 952 - 0
datamodels/2.x/itop-datacenter-mgmt/datamodel.itop-datacenter-mgmt.xml

@@ -0,0 +1,952 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
+  <classes>
+    <class id="Rack" _delta="define">
+      <parent>PhysicalDevice</parent>
+      <properties>
+        <category>bizmodel,searchable</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>rack</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/rack.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields>
+        <field id="nb_u" xsi:type="AttributeInteger">
+          <sql>nb_u</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+        </field>
+        <field id="device_list" xsi:type="AttributeLinkedSet">
+          <linked_class>DatacenterDevice</linked_class>
+          <ext_key_to_me>rack_id</ext_key_to_me>
+          <edit_mode>add_only</edit_mode>
+          <count_min>0</count_min>
+          <count_max>0</count_max>
+        </field>
+        <field id="enclosure_list" xsi:type="AttributeLinkedSet">
+          <linked_class>Enclosure</linked_class>
+          <ext_key_to_me>rack_id</ext_key_to_me>
+          <edit_mode>add_only</edit_mode>
+          <count_min>0</count_min>
+          <count_max>0</count_max>
+        </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="nb_u">
+              <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="enclosure_list">
+              <rank>180</rank>
+            </item>
+            <item id="device_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="nb_u">
+              <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="nb_u">
+              <rank>70</rank>
+            </item>
+          </items>
+        </list>
+      </presentation>
+    </class>
+    <class id="Enclosure" _delta="define">
+      <parent>PhysicalDevice</parent>
+      <properties>
+        <category>bizmodel,searchable</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>enclosure</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/enclosure.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="name"/>
+            <attribute id="org_id"/>
+            <attribute id="organization_name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields>
+        <field id="rack_id" xsi:type="AttributeExternalKey">
+          <sql>rack_id</sql>
+          <target_class>Rack</target_class>
+          <is_null_allowed>false</is_null_allowed>
+          <on_target_delete>DEL_MANUAL</on_target_delete>
+        </field>
+        <field id="rack_name" xsi:type="AttributeExternalField">
+          <extkey_attcode>rack_id</extkey_attcode>
+          <target_attcode>name</target_attcode>
+        </field>
+        <field id="nb_u" xsi:type="AttributeInteger">
+          <sql>nb_u</sql>
+          <default_value/>
+          <is_null_allowed>true</is_null_allowed>
+        </field>
+        <field id="device_list" xsi:type="AttributeLinkedSet">
+          <linked_class>DatacenterDevice</linked_class>
+          <ext_key_to_me>enclosure_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(
+				"DatacenterDevice" => array("sQuery"=>"SELECT DatacenterDevice WHERE enclosure_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="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="brand_id">
+              <rank>70</rank>
+            </item>
+            <item id="model_id">
+              <rank>80</rank>
+            </item>
+            <item id="nb_u">
+              <rank>90</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>100</rank>
+            </item>
+            <item id="asset_number">
+              <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>
+            <item id="description">
+              <rank>150</rank>
+            </item>
+            <item id="contacts_list">
+              <rank>160</rank>
+            </item>
+            <item id="documents_list">
+              <rank>170</rank>
+            </item>
+            <item id="tickets_list">
+              <rank>180</rank>
+            </item>
+            <item id="device_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="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="ElectricalConnection" _delta="define">
+      <parent>PhysicalDevice</parent>
+      <properties>
+        <category>bizmodel,searchable</category>
+        <abstract>true</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>electricalconnection</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/powersource.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="name"/>
+            <attribute id="org_id"/>
+            <attribute id="organization_name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <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 WHERE powerA_id = :this->id OR powerB_id = :this->id", "bPropagate"=>true, "iDistance"=>10),
+				"pdu" => array("sQuery"=>"SELECT PDU WHERE powerstart_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="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="providercontracts_list">
+              <rank>160</rank>
+            </item>
+            <item id="services_list">
+              <rank>170</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="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="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>
+          </items>
+        </list>
+      </presentation>
+    </class>
+    <class id="Arrival" _delta="define">
+      <parent>ElectricalConnection</parent>
+      <properties>
+        <category>bizmodel,searchable</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>arrival</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/powerstart.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="name"/>
+            <attribute id="org_id"/>
+            <attribute id="organization_name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields>
+        <field id="pdus_list" xsi:type="AttributeLinkedSet">
+          <linked_class>PDU</linked_class>
+          <ext_key_to_me>powerstart_id</ext_key_to_me>
+          <edit_mode>add_only</edit_mode>
+          <count_min>0</count_min>
+          <count_max>0</count_max>
+        </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="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="pdus_list">
+              <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="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="PDU" _delta="define">
+      <parent>ElectricalConnection</parent>
+      <properties>
+        <category>bizmodel,searchable</category>
+        <abstract>false</abstract>
+        <key_type>autoincrement</key_type>
+        <db_table>pdu</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/pdu.png</icon>
+        <reconciliation>
+          <attributes>
+            <attribute id="name"/>
+            <attribute id="org_id"/>
+            <attribute id="organization_name"/>
+          </attributes>
+        </reconciliation>
+      </properties>
+      <fields>
+        <field id="rack_id" xsi:type="AttributeExternalKey">
+          <sql>rack_id</sql>
+          <target_class>Rack</target_class>
+          <is_null_allowed>false</is_null_allowed>
+          <on_target_delete>DEL_MANUAL</on_target_delete>
+        </field>
+        <field id="rack_name" xsi:type="AttributeExternalField">
+          <extkey_attcode>rack_id</extkey_attcode>
+          <target_attcode>name</target_attcode>
+        </field>
+        <field id="powerstart_id" xsi:type="AttributeExternalKey">
+          <filter><![CDATA[SELECT ElectricalConnection WHERE id != :this->id AND location_id = :this->location_id]]></filter>
+          <dependencies>
+            <attribute id="location_id"/>
+          </dependencies>
+          <sql>powerstart_id</sql>
+          <target_class>ElectricalConnection</target_class>
+          <is_null_allowed>true</is_null_allowed>
+          <on_target_delete>DEL_MANUAL</on_target_delete>
+        </field>
+        <field id="powerstart_name" xsi:type="AttributeExternalField">
+          <extkey_attcode>powerstart_id</extkey_attcode>
+          <target_attcode>name</target_attcode>
+        </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="rack_id">
+              <rank>60</rank>
+            </item>
+            <item id="powerstart_id">
+              <rank>70</rank>
+            </item>
+            <item id="brand_id">
+              <rank>80</rank>
+            </item>
+            <item id="model_id">
+              <rank>90</rank>
+            </item>
+            <item id="serialnumber">
+              <rank>100</rank>
+            </item>
+            <item id="asset_number">
+              <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>
+            <item id="description">
+              <rank>150</rank>
+            </item>
+            <item id="contacts_list">
+              <rank>160</rank>
+            </item>
+            <item id="documents_list">
+              <rank>170</rank>
+            </item>
+            <item id="tickets_list">
+              <rank>180</rank>
+            </item>
+            <item id="providercontracts_list">
+              <rank>190</rank>
+            </item>
+            <item id="services_list">
+              <rank>200</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="powerstart_id">
+              <rank>60</rank>
+            </item>
+            <item id="brand_id">
+              <rank>70</rank>
+            </item>
+            <item id="model_id">
+              <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>
+  </classes>
+  <menus>
+    <menu id="ConfigManagementOverview" xsi:type="DashboardMenuNode" _delta="must_exist">
+   <definition>
+  <cells>
+    <cell id="0" _delta="must_exist">
+      <dashlets>
+        <dashlet id="2" xsi:type="DashletBadge" _delta="define">
+          <rank>1</rank>
+          <class>Rack</class>
+        </dashlet>
+        <dashlet id="3" xsi:type="DashletBadge" _delta="define">
+          <rank>2</rank>
+          <class>Enclosure</class>
+        </dashlet>
+        <dashlet id="10" xsi:type="DashletBadge" _delta="define">
+          <rank>9</rank>
+          <class>ElectricalConnection</class>
+        </dashlet>
+      </dashlets>
+    </cell>
+  </cells>
+      </definition>
+    </menu>
+  </menus>
+</itop_design>

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

@@ -0,0 +1,29 @@
+<?php
+// Copyright (C) 2010-2012 Combodo SARL
+//
+//   This file is part of iTop.
+//
+//   iTop is free software; you can redistribute it and/or modify	
+//   it under the terms of the GNU Affero General Public License as published by
+//   the Free Software Foundation, either version 3 of the License, or
+//   (at your option) any later version.
+//
+//   iTop 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 Affero General Public License for more details.
+//
+//   You should have received a copy of the GNU Affero General Public License
+//   along with iTop. If not, see <http://www.gnu.org/licenses/>
+
+/**
+ * Localized data
+ *
+ * @copyright   Copyright (C) 2010-2012 Combodo SARL
+ * @license     http://opensource.org/licenses/AGPL-3.0
+ */
+
+Dict::Add('EN US', 'English', 'English', array(
+	// Dictionary entries go here
+));
+?>

二进制
datamodels/2.x/itop-datacenter-mgmt/images/enclosure.png


二进制
datamodels/2.x/itop-datacenter-mgmt/images/pdu.png


二进制
datamodels/2.x/itop-datacenter-mgmt/images/powersource.png


二进制
datamodels/2.x/itop-datacenter-mgmt/images/powerstart.png


二进制
datamodels/2.x/itop-datacenter-mgmt/images/rack.png


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

@@ -0,0 +1,66 @@
+<?php
+// Copyright (C) 2010-2012 Combodo SARL
+//
+//   This file is part of iTop.
+//
+//   iTop is free software; you can redistribute it and/or modify	
+//   it under the terms of the GNU Affero General Public License as published by
+//   the Free Software Foundation, either version 3 of the License, or
+//   (at your option) any later version.
+//
+//   iTop 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 Affero General Public License for more details.
+//
+//   You should have received a copy of the GNU Affero General Public License
+//   along with iTop. If not, see <http://www.gnu.org/licenses/>
+
+SetupWebPage::AddModule(
+	__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
+	'itop-datacenter-mgmt/2.0.0',
+	array(
+		// Identification
+		//
+		'label' => 'Datacenter Management',
+		'category' => 'business',
+
+		// Setup
+		//
+		'dependencies' => array(
+			'itop-config-mgmt/2.0.0'
+		),
+		'mandatory' => false,
+		'visible' => true,
+
+		// Components
+		//
+		'datamodel' => array(
+			'model.itop-datacenter-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
+		),
+	)
+);
+
+
+?>