diff --git a/datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml b/datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml
index fb4517380..659383f1c 100755
--- a/datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml
+++ b/datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml
@@ -1992,10 +1992,15 @@
switch ($sRelCode)
{
case "depends on":
- $aRels = array(
- "Enclosure" => array("sQuery"=>"SELECT Enclosure WHERE id = :this->enclosure_id", "bPropagate"=>true, "iDistance"=>10),
- "SANSwitch" => array("sQuery"=>"SELECT SANSwitch AS san JOIN lnkSanToDatacenterDevice AS l1 ON l1.san_id = san.id WHERE l1.datacenterdevice_id = :this->id", "bPropagate"=>true, "iDistance"=>10),
- );
+ $aRels = array();
+ if (class_exists('Enclosure'))
+ {
+ $aRels['Enclosure'] = array("sQuery"=>"SELECT Enclosure WHERE id = :this->enclosure_id", "bPropagate"=>true, "iDistance"=>10);
+ }
+ if (class_exists('SANSwitch'))
+ {
+ $aRels['SANSwitch'] = array("sQuery"=>"SELECT SANSwitch AS san JOIN lnkSanToDatacenterDevice AS l1 ON l1.san_id = san.id WHERE l1.datacenterdevice_id = :this->id", "bPropagate"=>true, "iDistance"=>10);
+ }
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
break;
default:
@@ -2527,10 +2532,13 @@
switch ($sRelCode)
{
case "impacts":
- $aRels = array(
+ $aRels = array();
+ if (class_exists('Hypervisor'))
+ {
+ $aRels = array(
"device" => array("sQuery"=>"SELECT Hypervisor WHERE server_id = :this->id", "bPropagate"=>true, "iDistance"=>10),
-
- );
+ );
+ }
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
break;
@@ -6778,111 +6786,6 @@
-
- IPinterface
-
- bizmodel,searchable
- false
- autoincrement
- logicalinterface
- id
-
-
- %1$s %2$s
-
-
-
-
-
-
- images/interface.png
-
-
-
-
-
-
-
-
-
-
- virtualmachine_id
- VirtualMachine
- false
- DEL_AUTO
-
-
- virtualmachine_id
- name
-
-
-
-
-
-
- -
- 10
-
- -
- 20
-
-
- -
- 40
-
- -
- 50
-
- -
- 60
-
- -
- 70
-
-
-
-
-
- -
- 10
-
- -
- 20
-
- -
- 30
-
- -
- 40
-
-
-
-
-
- -
- 10
-
- -
- 20
-
-
- -
- 40
-
- -
- 50
-
- -
- 60
-
-
-
-
-
cmdbAbstractObject
diff --git a/datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml b/datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml
index 555009239..686273bd7 100644
--- a/datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml
+++ b/datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml
@@ -1436,8 +1436,11 @@
$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),
);
+ if (class_exists('VirtualDevice'))
+ {
+ $aRels["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;
diff --git a/datamodels/2.x/itop-virtualization-mgmt/datamodel.itop-virtualization-mgmt.xml b/datamodels/2.x/itop-virtualization-mgmt/datamodel.itop-virtualization-mgmt.xml
index 7f7dd3da6..905a2c6e7 100644
--- a/datamodels/2.x/itop-virtualization-mgmt/datamodel.itop-virtualization-mgmt.xml
+++ b/datamodels/2.x/itop-virtualization-mgmt/datamodel.itop-virtualization-mgmt.xml
@@ -801,6 +801,111 @@
+
+ IPinterface
+
+ bizmodel,searchable
+ false
+ autoincrement
+ logicalinterface
+ id
+
+
+ %1$s %2$s
+
+
+
+
+
+
+ images/interface.png
+
+
+
+
+
+
+
+
+
+
+ virtualmachine_id
+ VirtualMachine
+ false
+ DEL_AUTO
+
+
+ virtualmachine_id
+ name
+
+
+
+
+
+
+ -
+ 10
+
+ -
+ 20
+
+
+ -
+ 40
+
+ -
+ 50
+
+ -
+ 60
+
+ -
+ 70
+
+
+
+
+
+ -
+ 10
+
+ -
+ 20
+
+ -
+ 30
+
+ -
+ 40
+
+
+
+
+
+ -
+ 10
+
+ -
+ 20
+
+
+ -
+ 40
+
+ -
+ 50
+
+ -
+ 60
+
+
+
+
+