From 5eb4b557e0813d99fe373a41930c2f032fb807a9 Mon Sep 17 00:00:00 2001 From: Erwan Taloc Date: Wed, 24 Oct 2012 16:02:21 +0000 Subject: [PATCH] Add specific module for Datacenter related CIs SVN:trunk[2348] --- .../datamodel.itop-datacenter-mgmt.xml | 952 ++++++++++++++++++ .../en.dict.itop-datacenter-mgmt.php | 29 + .../itop-datacenter-mgmt/images/enclosure.png | Bin 0 -> 1762 bytes .../2.x/itop-datacenter-mgmt/images/pdu.png | Bin 0 -> 5428 bytes .../images/powersource.png | Bin 0 -> 6859 bytes .../images/powerstart.png | Bin 0 -> 3528 bytes .../2.x/itop-datacenter-mgmt/images/rack.png | Bin 0 -> 2397 bytes .../module.itop-datacenter-mgmt.php | 66 ++ 8 files changed, 1047 insertions(+) create mode 100755 datamodels/2.x/itop-datacenter-mgmt/datamodel.itop-datacenter-mgmt.xml create mode 100755 datamodels/2.x/itop-datacenter-mgmt/en.dict.itop-datacenter-mgmt.php create mode 100755 datamodels/2.x/itop-datacenter-mgmt/images/enclosure.png create mode 100755 datamodels/2.x/itop-datacenter-mgmt/images/pdu.png create mode 100755 datamodels/2.x/itop-datacenter-mgmt/images/powersource.png create mode 100755 datamodels/2.x/itop-datacenter-mgmt/images/powerstart.png create mode 100755 datamodels/2.x/itop-datacenter-mgmt/images/rack.png create mode 100755 datamodels/2.x/itop-datacenter-mgmt/module.itop-datacenter-mgmt.php diff --git a/datamodels/2.x/itop-datacenter-mgmt/datamodel.itop-datacenter-mgmt.xml b/datamodels/2.x/itop-datacenter-mgmt/datamodel.itop-datacenter-mgmt.xml new file mode 100755 index 000000000..341eb1016 --- /dev/null +++ b/datamodels/2.x/itop-datacenter-mgmt/datamodel.itop-datacenter-mgmt.xml @@ -0,0 +1,952 @@ + + + + + PhysicalDevice + + bizmodel,searchable + false + autoincrement + rack + id + + + %1$s + + + + + + images/rack.png + + + + + + + + + nb_u + + true + + + DatacenterDevice + rack_id + add_only + 0 + 0 + + + Enclosure + rack_id + add_only + 0 + 0 + + + + +
+ + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + 70 + + + 80 + + + 90 + + + 100 + + + 110 + + + 120 + + + 130 + + + 140 + + + 150 + + + 160 + + + 170 + + + 180 + + + 190 + + + 200 + + + 210 + + +
+ + + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + 70 + + + 80 + + + 90 + + + 100 + + + 110 + + + 120 + + + 130 + + + + + + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + 70 + + + +
+
+ + PhysicalDevice + + bizmodel,searchable + false + autoincrement + enclosure + id + + + %1$s + + + + + + images/enclosure.png + + + + + + + + + + + rack_id + Rack + false + DEL_MANUAL + + + rack_id + name + + + nb_u + + true + + + DatacenterDevice + enclosure_id + add_only + 0 + 0 + + + + + true + public + Overload-DBObject + 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); + } + }]]> + + + +
+ + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + 70 + + + 80 + + + 90 + + + 100 + + + 110 + + + 120 + + + 130 + + + 140 + + + 150 + + + 160 + + + 170 + + + 180 + + + 190 + + + 200 + + + 210 + + +
+ + + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + 70 + + + 80 + + + 90 + + + 100 + + + 110 + + + 120 + + + + + + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + 70 + + + +
+
+ + PhysicalDevice + + bizmodel,searchable + true + autoincrement + electricalconnection + id + + + %1$s + + + + + + images/powersource.png + + + + + + + + + + + + true + public + Overload-DBObject + 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); + } + }]]> + + + +
+ + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + 70 + + + 80 + + + 90 + + + 100 + + + 110 + + + 120 + + + 130 + + + 140 + + + 150 + + + 160 + + + 170 + + +
+ + + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + 70 + + + 80 + + + 90 + + + 100 + + + 110 + + + 120 + + + + + + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + 70 + + + 80 + + + +
+
+ + ElectricalConnection + + bizmodel,searchable + false + autoincrement + arrival + id + + + %1$s + + + + + + images/powerstart.png + + + + + + + + + + + PDU + powerstart_id + add_only + 0 + 0 + + + + +
+ + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + 70 + + + 80 + + + 90 + + + 100 + + + 110 + + + 120 + + + 130 + + + 140 + + + 150 + + + 160 + + + 170 + + + 180 + + + 190 + + +
+ + + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + 70 + + + 80 + + + 90 + + + 100 + + + 110 + + + 120 + + + + + + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + 70 + + + +
+
+ + ElectricalConnection + + bizmodel,searchable + false + autoincrement + pdu + id + + + %1$s + + + + + + images/pdu.png + + + + + + + + + + + rack_id + Rack + false + DEL_MANUAL + + + rack_id + name + + + id AND location_id = :this->location_id]]> + + + + powerstart_id + ElectricalConnection + true + DEL_MANUAL + + + powerstart_id + name + + + + +
+ + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + 70 + + + 80 + + + 90 + + + 100 + + + 110 + + + 120 + + + 130 + + + 140 + + + 150 + + + 160 + + + 170 + + + 180 + + + 190 + + + 200 + + +
+ + + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + 70 + + + 80 + + + 90 + + + 100 + + + 110 + + + 120 + + + 130 + + + + + + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + 70 + + + +
+
+
+ + + + + + + + 1 + Rack + + + 2 + Enclosure + + + 9 + ElectricalConnection + + + + + + + +
diff --git a/datamodels/2.x/itop-datacenter-mgmt/en.dict.itop-datacenter-mgmt.php b/datamodels/2.x/itop-datacenter-mgmt/en.dict.itop-datacenter-mgmt.php new file mode 100755 index 000000000..fab2ba01f --- /dev/null +++ b/datamodels/2.x/itop-datacenter-mgmt/en.dict.itop-datacenter-mgmt.php @@ -0,0 +1,29 @@ + + +/** + * 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 +)); +?> diff --git a/datamodels/2.x/itop-datacenter-mgmt/images/enclosure.png b/datamodels/2.x/itop-datacenter-mgmt/images/enclosure.png new file mode 100755 index 0000000000000000000000000000000000000000..e92ca2beecd14d776be68a417e1935a617fcf8bf GIT binary patch literal 1762 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 eKSg>z|8D?pS|;kV)`rgj0000 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
2F^tNxyt}(Y=Ya_f=d;f~V~9JCXG~lCi8JcD z#yl;GLMiprPd{m`i=v3*c(q!co}R*uF;cKVVX!gh+pBdRVHntMxBKn4-@-6FJv{{oz@1WxX%Ykhbd09qb;k3&G)?0;h7CXs zuzSz*4u`{Hu^`5no12@rZ{L3X_1C}t`YVPcb`)#v{O*=zS(>JGU4Q%Sx7asfsxv|7 zvT)w{`S~Nh$Wco9%P+rt{`u!f1cd3j4rEHxwD0>Le)s_o&v<$j2Xl zOkf=VXcqUYSFgVL=9}y5YxHm!2KYhObzgk(1(NOi9*hPK;A + +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 + ), + ) +); + + +?>