<?xml version="1.0" encoding="UTF-8"?>
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.6">
  <classes>
    <class id="Organization" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <comment><![CDATA[/**
 * Persistent classes for a CMDB
 *
 * @copyright   Copyright (C) 2010-2017 Combodo SARL
 * @license     http://opensource.org/licenses/AGPL-3.0
 */]]></comment>
        <category>bizmodel,searchable,structure</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>organization</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/building.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="code"/>
          </attributes>
        </reconciliation>
        <obsolescence>
          <condition><![CDATA[status = 'inactive']]></condition>
        </obsolescence>
      </properties>
      <fields>
        <field id="name" xsi:type="AttributeString">
          <sql>name</sql>
          <default_value/>
          <is_null_allowed>false</is_null_allowed>
        </field>
        <field id="code" xsi:type="AttributeString">
          <sql>code</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="status" xsi:type="AttributeEnum">
          <values>
            <value id="active">active</value>
            <value id="inactive">inactive</value>
          </values>
          <sql>status</sql>
          <default_value>active</default_value>
          <is_null_allowed>true</is_null_allowed>
          <display_style>list</display_style>
        </field>
        <field id="parent_id" xsi:type="AttributeHierarchicalKey">
          <sql>parent_id</sql>
          <is_null_allowed>true</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="parent_name" xsi:type="AttributeExternalField">
          <extkey_attcode>parent_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="overview" xsi:type="AttributeDashboard">
            <is_user_editable>true</is_user_editable>
            <definition>
              <layout>DashboardLayoutTwoCols</layout>
              <auto_reload>
                <enabled>false</enabled>
                <interval>300</interval>
              </auto_reload>
              <cells>
                <cell id="0">
                  <rank>0</rank>
                  <dashlets>
                    <dashlet id="11" xsi:type="DashletHeaderDynamic">
                      <rank>0</rank>
                      <title>Organization:Overview:FunctionalCIs</title>
                      <icon>itop-config-mgmt/images/server.png</icon>
                      <subtitle>Organization:Overview:FunctionalCIs:subtitle</subtitle>
                      <query>SELECT FunctionalCI WHERE org_id=:this-&gt;id</query>
                      <group_by>finalclass</group_by>
                      <values>NetworkDevice,Server,ApplicationSolution</values>
                    </dashlet>
                  </dashlets>
                </cell>
                <cell id="2">
                  <rank>20</rank>
                  <dashlets>
                    <dashlet id="12" xsi:type="DashletObjectList">
                      <rank>0</rank>
                      <title>Organization:Overview:Users</title>
                      <query>SELECT Person AS p JOIN User AS u ON u.contactid=p.id WHERE p.org_id=:this-&gt;id</query>
                      <menu>true</menu>
                    </dashlet>
                  </dashlets>
                </cell>
                <cell id="9000">
                  <rank>5</rank>
                  <dashlets>
                    <dashlet id="0" xsi:type="DashletEmptyCell">
                      <rank>0</rank>
                    </dashlet>
                  </dashlets>
                </cell>
              </cells>
            </definition>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="code">
              <rank>20</rank>
            </item>
            <item id="status">
              <rank>30</rank>
            </item>
            <item id="parent_id">
              <rank>40</rank>
            </item>
            <item id="overview">
              <rank>50</rank>
            </item>
          </items>
        </details>
        <default_search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </default_search>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="code">
              <rank>20</rank>
            </item>
            <item id="status">
              <rank>30</rank>
            </item>
            <item id="parent_id">
              <rank>40</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="code">
              <rank>10</rank>
            </item>
            <item id="status">
              <rank>20</rank>
            </item>
            <item id="parent_id">
              <rank>30</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="Location" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <category>bizmodel,searchable,structure</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>location</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/location.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="org_name"/>
          </attributes>
        </reconciliation>
        <obsolescence>
          <condition><![CDATA[status = 'inactive']]></condition>
        </obsolescence>
      </properties>
      <fields>
        <field id="name" xsi:type="AttributeString">
          <sql>name</sql>
          <default_value/>
          <is_null_allowed>false</is_null_allowed>
        </field>
        <field id="status" xsi:type="AttributeEnum">
          <values>
            <value id="active">active</value>
            <value id="inactive">inactive</value>
          </values>
          <sql>status</sql>
          <default_value>active</default_value>
          <is_null_allowed>true</is_null_allowed>
          <display_style>list</display_style>
        </field>
        <field id="org_id" xsi:type="AttributeExternalKey">
          <sql>org_id</sql>
          <target_class>Organization</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="org_name" xsi:type="AttributeExternalField">
          <extkey_attcode>org_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="address" xsi:type="AttributeText">
          <sql>address</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="postal_code" xsi:type="AttributeString">
          <sql>postal_code</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="city" xsi:type="AttributeString">
          <sql>city</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="country" xsi:type="AttributeString">
          <sql>country</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="physicaldevice_list" xsi:type="AttributeLinkedSet">
          <linked_class>PhysicalDevice</linked_class>
          <ext_key_to_me>location_id</ext_key_to_me>
          <edit_mode>add_only</edit_mode>
          <count_min>0</count_min>
          <count_max>0</count_max>
        </field>
        <field id="person_list" xsi:type="AttributeLinkedSet">
          <linked_class>Person</linked_class>
          <ext_key_to_me>location_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="status">
              <rank>20</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
            <item id="address">
              <rank>40</rank>
            </item>
            <item id="postal_code">
              <rank>50</rank>
            </item>
            <item id="city">
              <rank>60</rank>
            </item>
            <item id="country">
              <rank>70</rank>
            </item>
            <item id="person_list">
              <rank>80</rank>
            </item>
            <item id="physicaldevice_list">
              <rank>90</rank>
            </item>
          </items>
        </details>
        <default_search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="country">
              <rank>20</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
          </items>
        </default_search>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="status">
              <rank>20</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
            <item id="address">
              <rank>40</rank>
            </item>
            <item id="postal_code">
              <rank>50</rank>
            </item>
            <item id="city">
              <rank>60</rank>
            </item>
            <item id="country">
              <rank>70</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="status">
              <rank>10</rank>
            </item>
            <item id="org_id">
              <rank>20</rank>
            </item>
            <item id="city">
              <rank>30</rank>
            </item>
            <item id="country">
              <rank>40</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="Contact" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <category>bizmodel,searchable,structure</category>
        <abstract>true</abstract>
        <key_type>autoincrement</key_type>
        <db_table>contact</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field>finalclass</db_final_class_field>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/team.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="org_name"/>
            <attribute id="email"/>
            <attribute id="finalclass"/>
          </attributes>
        </reconciliation>
        <obsolescence>
          <condition>status='inactive'</condition>
        </obsolescence>
      </properties>
      <fields>
        <field id="name" xsi:type="AttributeString">
          <sql>name</sql>
          <default_value/>
          <is_null_allowed>false</is_null_allowed>
        </field>
        <field id="status" xsi:type="AttributeEnum">
          <values>
            <value id="active">active</value>
            <value id="inactive">inactive</value>
          </values>
          <sql>status</sql>
          <default_value>active</default_value>
          <is_null_allowed>false</is_null_allowed>
          <display_style>list</display_style>
        </field>
        <field id="org_id" xsi:type="AttributeExternalKey">
          <sql>org_id</sql>
          <target_class>Organization</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="org_name" xsi:type="AttributeExternalField">
          <extkey_attcode>org_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="email" xsi:type="AttributeEmailAddress">
          <sql>email</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="phone" xsi:type="AttributePhoneNumber">
          <sql>phone</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="notify" xsi:type="AttributeEnum">
          <values>
            <value id="yes">yes</value>
            <value id="no">no</value>
          </values>
          <sql>notify</sql>
          <default_value>yes</default_value>
          <is_null_allowed>true</is_null_allowed>
          <display_style>radio_horizontal</display_style>
        </field>
        <field id="function" xsi:type="AttributeString">
          <sql>function</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="cis_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkContactToFunctionalCI</linked_class>
          <ext_key_to_me>contact_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>functionalci_id</ext_key_to_remote>
          <duplicates/>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="status">
              <rank>20</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
            <item id="email">
              <rank>40</rank>
            </item>
            <item id="phone">
              <rank>50</rank>
            </item>
            <item id="notify">
              <rank>60</rank>
            </item>
            <item id="function">
              <rank>70</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="status">
              <rank>20</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
            <item id="email">
              <rank>40</rank>
            </item>
            <item id="phone">
              <rank>50</rank>
            </item>
            <item id="notify">
              <rank>60</rank>
            </item>
            <item id="function">
              <rank>70</rank>
            </item>
          </items>
        </search>
        <default_search>
          <items>
            <item id="friendlyname">
              <rank>10</rank>
            </item>
            <item id="email">
              <rank>20</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
          </items>
        </default_search>
        <list>
          <items>
            <item id="status">
              <rank>10</rank>
            </item>
            <item id="org_id">
              <rank>20</rank>
            </item>
            <item id="email">
              <rank>30</rank>
            </item>
            <item id="phone">
              <rank>40</rank>
            </item>
            <item id="function">
              <rank>50</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="Person" _delta="define">
      <parent>Contact</parent>
      <properties>
        <category>bizmodel,searchable,structure</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>person</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="first_name"/>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/person.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="first_name"/>
            <attribute id="org_id"/>
            <attribute id="org_name"/>
            <attribute id="email"/>
            <attribute id="employee_number"/>
          </attributes>
        </reconciliation>
        <uniqueness_rules>
          <rule id="employee_number">
            <attributes>
              <attribute id="org_id"/>
              <attribute id="employee_number"/>
            </attributes>
            <filter><![CDATA[employee_number != '']]></filter>
            <disabled>false</disabled>
            <is_blocking>true</is_blocking>
          </rule>
          <rule id="name">
            <attributes>
              <attribute id="org_id"/>
              <attribute id="name"/>
              <attribute id="first_name"/>
            </attributes>
            <filter/>
            <disabled>false</disabled>
            <is_blocking>false</is_blocking>
          </rule>
        </uniqueness_rules>
      </properties>
      <fields>
        <field id="picture" xsi:type="AttributeImage">
          <display_max_width>96</display_max_width>
          <display_max_height>96</display_max_height>
          <storage_max_width>128</storage_max_width>
          <storage_max_height>128</storage_max_height>
          <default_image>images/silhouette.png</default_image>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="first_name" xsi:type="AttributeString">
          <sql>first_name</sql>
          <default_value/>
          <is_null_allowed>false</is_null_allowed>
        </field>
        <field id="employee_number" xsi:type="AttributeString">
          <sql>employee_number</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="mobile_phone" xsi:type="AttributePhoneNumber">
          <sql>mobile_phone</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="location_id" xsi:type="AttributeExternalKey">
          <filter><![CDATA[SELECT l FROM Location AS l JOIN Organization AS root ON l.org_id=root.id JOIN Organization AS child ON child.parent_id BELOW root.id WHERE child.id= :this->org_id]]></filter>
          <dependencies>
            <attribute id="org_id"/>
          </dependencies>
          <sql>location_id</sql>
          <target_class>Location</target_class>
          <is_null_allowed>true</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
          <allow_target_creation>false</allow_target_creation>
        </field>
        <field id="location_name" xsi:type="AttributeExternalField">
          <extkey_attcode>location_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="manager_id" xsi:type="AttributeExternalKey">
          <filter><![CDATA[SELECT Person]]></filter>
          <dependencies>
            <attribute id="org_id"/>
          </dependencies>
          <sql>manager_id</sql>
          <target_class>Person</target_class>
          <is_null_allowed>true</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="manager_name" xsi:type="AttributeExternalField">
          <extkey_attcode>manager_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="team_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkPersonToTeam</linked_class>
          <ext_key_to_me>person_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>team_id</ext_key_to_remote>
          <duplicates/>
        </field>
        <field id="tickets_list" xsi:type="AttributeLinkedSet">
          <linked_class>Ticket</linked_class>
          <ext_key_to_me>caller_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="CheckToDelete">
          <static>false</static>
          <access>public</access>
          <type>Overload-DBObject</type>
          <code><![CDATA[  	public function CheckToDelete(&$oDeletionPlan)
  	{
  		if (MetaModel::GetConfig()->Get('demo_mode'))
		{
			if ($this->HasUserAccount())
			{
				// Do not let users change user accounts in demo mode
				$oDeletionPlan->AddToDelete($this, null);
				$oDeletionPlan->SetDeletionIssues($this, array('deletion not allowed in demo mode.'), true);
				$oDeletionPlan->ComputeResults();
				return false;
			}
		}
		return parent::CheckToDelete($oDeletionPlan);
  	}
]]></code>
        </method>
        <method id="DBDeleteSingleObject">
          <static>false</static>
          <access>public</access>
          <type>Overload-DBObject</type>
          <code><![CDATA[  	public function DBDeleteSingleObject()
	{
		if (MetaModel::GetConfig()->Get('demo_mode'))
		{
			if ($this->HasUserAccount())
			{
				// Do not let users change user accounts in demo mode
				return;
			}
		}
		parent::DBDeleteSingleObject();
	}
]]></code>
        </method>
        <method id="GetAttributeFlags">
          <static>false</static>
          <access>public</access>
          <type>Overload-DBObject</type>
          <code><![CDATA[	public function GetAttributeFlags($sAttCode, &$aReasons = array(), $sTargetState = '')
	{
		if ( ($sAttCode == 'org_id') && (!$this->IsNew()) )
		{
			if (MetaModel::GetConfig()->Get('demo_mode'))
			{
				if ($this->HasUserAccount())
				{
					// Do not let users change user accounts in demo mode
					return OPT_ATT_READONLY;
				}
			}
		}
		return parent::GetAttributeFlags($sAttCode, $aReasons, $sTargetState);
	}
]]></code>
        </method>
        <method id="HasUserAccount">
          <static>false</static>
          <access>public</access>
          <type>Helper</type>
          <code><![CDATA[  	public function HasUserAccount()
  	{
		static $bHasUserAccount = null;
		if (is_null($bHasUserAccount))
		{
			$oUserSet = new DBObjectSet(DBSearch::FromOQL('SELECT User WHERE contactid = :person', array('person' => $this->GetKey())));
			$bHasUserAccount = ($oUserSet->Count() > 0);
		}
		return $bHasUserAccount;
  	}
]]></code>
        </method>
      </methods>
      <presentation>
        <details>
          <items>
            <item id="team_list">
              <rank>10</rank>
            </item>
            <item id="tickets_list">
              <rank>20</rank>
            </item>
            <item id="cis_list">
              <rank>30</rank>
            </item>
            <item id="col:col1">
              <rank>40</rank>
              <items>
                <item id="fieldset:Person:info">
                  <rank>10</rank>
                  <items>
                    <item id="name">
                      <rank>10</rank>
                    </item>
                    <item id="first_name">
                      <rank>20</rank>
                    </item>
                    <item id="org_id">
                      <rank>30</rank>
                    </item>
                    <item id="status">
                      <rank>40</rank>
                    </item>
                    <item id="location_id">
                      <rank>50</rank>
                    </item>
                    <item id="function">
                      <rank>60</rank>
                    </item>
                    <item id="manager_id">
                      <rank>70</rank>
                    </item>
                    <item id="employee_number">
                      <rank>80</rank>
                    </item>
                  </items>
                </item>
              </items>
            </item>
            <item id="col:col2">
              <rank>50</rank>
              <items>
                <item id="fieldset:Person:personal_info">
                  <rank>5</rank>
                  <items>
                    <item id="picture">
                      <rank>10</rank>
                    </item>
                  </items>
                </item>
                <item id="fieldset:Person:notifiy">
                  <rank>10</rank>
                  <items>
                    <item id="email">
                      <rank>10</rank>
                    </item>
                    <item id="notify">
                      <rank>20</rank>
                    </item>
                    <item id="phone">
                      <rank>30</rank>
                    </item>
                    <item id="mobile_phone">
                      <rank>40</rank>
                    </item>
                  </items>
                </item>
              </items>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="first_name">
              <rank>20</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
            <item id="status">
              <rank>40</rank>
            </item>
            <item id="location_id">
              <rank>50</rank>
            </item>
            <item id="email">
              <rank>60</rank>
            </item>
            <item id="phone">
              <rank>70</rank>
            </item>
            <item id="employee_number">
              <rank>80</rank>
            </item>
            <item id="manager_id">
              <rank>90</rank>
            </item>
            <item id="mobile_phone">
              <rank>100</rank>
            </item>
            <item id="notify">
              <rank>110</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="first_name">
              <rank>10</rank>
            </item>
            <item id="org_id">
              <rank>20</rank>
            </item>
            <item id="status">
              <rank>30</rank>
            </item>
            <item id="location_id">
              <rank>40</rank>
            </item>
            <item id="email">
              <rank>50</rank>
            </item>
            <item id="phone">
              <rank>60</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="Team" _delta="define">
      <parent>Contact</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>team</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/team.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="org_name"/>
            <attribute id="email"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="persons_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkPersonToTeam</linked_class>
          <ext_key_to_me>team_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>person_id</ext_key_to_remote>
          <duplicates/>
        </field>
        <field id="tickets_list" xsi:type="AttributeLinkedSet">
          <linked_class>Ticket</linked_class>
          <ext_key_to_me>team_id</ext_key_to_me>
          <edit_mode>none</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="status">
              <rank>20</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
            <item id="email">
              <rank>40</rank>
            </item>
            <item id="phone">
              <rank>50</rank>
            </item>
            <item id="notify">
              <rank>60</rank>
            </item>
            <item id="function">
              <rank>70</rank>
            </item>
            <item id="persons_list">
              <rank>80</rank>
            </item>
            <item id="tickets_list">
              <rank>90</rank>
            </item>
            <item id="cis_list">
              <rank>100</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="status">
              <rank>20</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
            <item id="email">
              <rank>40</rank>
            </item>
            <item id="phone">
              <rank>50</rank>
            </item>
            <item id="notify">
              <rank>60</rank>
            </item>
            <item id="function">
              <rank>70</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="status">
              <rank>10</rank>
            </item>
            <item id="org_id">
              <rank>20</rank>
            </item>
            <item id="email">
              <rank>30</rank>
            </item>
            <item id="phone">
              <rank>40</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="Document" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>true</abstract>
        <key_type>autoincrement</key_type>
        <db_table>document</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field>finalclass</db_final_class_field>
        <naming>
          <attributes/>
        </naming>
        <display_template/>
        <icon>images/document.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="org_name"/>
            <attribute id="finalclass"/>
          </attributes>
        </reconciliation>
        <obsolescence>
          <condition><![CDATA[status = 'obsolete']]></condition>
        </obsolescence>
      </properties>
      <fields>
        <field id="name" xsi:type="AttributeString">
          <sql>name</sql>
          <default_value/>
          <is_null_allowed>false</is_null_allowed>
        </field>
        <field id="org_id" xsi:type="AttributeExternalKey">
          <sql>org_id</sql>
          <target_class>Organization</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="org_name" xsi:type="AttributeExternalField">
          <extkey_attcode>org_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="documenttype_id" xsi:type="AttributeExternalKey">
          <sql>documenttype_id</sql>
          <target_class>DocumentType</target_class>
          <is_null_allowed>true</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="documenttype_name" xsi:type="AttributeExternalField">
          <extkey_attcode>documenttype_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="version" xsi:type="AttributeString">
          <sql>version</sql>
          <default_value/>
          <is_null_allowed>true</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="status" xsi:type="AttributeEnum">
          <values>
            <value id="draft">draft</value>
            <value id="published">published</value>
            <value id="obsolete">obsolete</value>
          </values>
          <sql>status</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
          <display_style>list</display_style>
        </field>
        <field id="cis_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkDocumentToFunctionalCI</linked_class>
          <ext_key_to_me>document_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>functionalci_id</ext_key_to_remote>
          <duplicates/>
        </field>
        <field id="contracts_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkContractToDocument</linked_class>
          <ext_key_to_me>document_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>contract_id</ext_key_to_remote>
          <duplicates/>
        </field>
        <field id="services_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkDocumentToService</linked_class>
          <ext_key_to_me>document_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>service_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="version">
              <rank>35</rank>
            </item>
            <item id="documenttype_id">
              <rank>40</rank>
            </item>
            <item id="description">
              <rank>50</rank>
            </item>
            <item id="cis_list">
              <rank>60</rank>
            </item>
            <item id="contracts_list">
              <rank>70</rank>
            </item>
            <item id="services_list">
              <rank>80</rank>
            </item>
          </items>
        </details>
        <default_search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="description">
              <rank>20</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
          </items>
        </default_search>
        <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="documenttype_id">
              <rank>40</rank>
            </item>
            <item id="description">
              <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="documenttype_id">
              <rank>30</rank>
            </item>
            <item id="description">
              <rank>40</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="DocumentFile" _delta="define">
      <parent>Document</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>documentfile</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/document.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="org_name"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="file" xsi:type="AttributeBlob"/>
      </fields>
      <methods>
        <method id="DisplayBareRelations">
          <static>false</static>
          <access>public</access>
          <type>Overload-cmdbAbstractObject</type>
          <comment><![CDATA[/**
	 * Overload the display of the properties to add a tab (the first one)
	 * with the preview of the document
	 */
	]]></comment>
          <code><![CDATA[public function DisplayBareProperties(WebPage $oPage, $bEditMode = false, $sPrefix = '', $aExtraParams = array())
	{
		$aFieldsMap = parent::DisplayBareProperties($oPage, $bEditMode, $sPrefix, $aExtraParams);
		if (!$bEditMode)
		{
			$oPage->add('<fieldset>');
			$oPage->add('<legend>'.Dict::S('Class:Document:PreviewTab').'</legend>');
			$oPage->add($this->DisplayDocumentInline($oPage, 'file'));
			$oPage->add('</fieldset>');
		}
		return $aFieldsMap;
	}]]></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="version">
              <rank>35</rank>
            </item>
            <item id="documenttype_id">
              <rank>40</rank>
            </item>
            <item id="description">
              <rank>50</rank>
            </item>
            <item id="file">
              <rank>60</rank>
            </item>
            <item id="cis_list">
              <rank>70</rank>
            </item>
            <item id="contracts_list">
              <rank>80</rank>
            </item>
            <item id="services_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="documenttype_id">
              <rank>40</rank>
            </item>
            <item id="description">
              <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="documenttype_id">
              <rank>30</rank>
            </item>
            <item id="file">
              <rank>40</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="DocumentNote" _delta="define">
      <parent>Document</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>documentnote</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/document.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="org_name"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="text" xsi:type="AttributeHTML">
          <sql>text</sql>
          <default_value/>
          <is_null_allowed>false</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="version">
              <rank>35</rank>
            </item>
            <item id="documenttype_id">
              <rank>40</rank>
            </item>
            <item id="description">
              <rank>50</rank>
            </item>
            <item id="text">
              <rank>60</rank>
            </item>
            <item id="cis_list">
              <rank>70</rank>
            </item>
            <item id="contracts_list">
              <rank>80</rank>
            </item>
            <item id="services_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="documenttype_id">
              <rank>40</rank>
            </item>
            <item id="description">
              <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="documenttype_id">
              <rank>30</rank>
            </item>
            <item id="description">
              <rank>40</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="DocumentWeb" _delta="define">
      <parent>Document</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>documentweb</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/document.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="org_name"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="url" xsi:type="AttributeURL">
          <sql>url</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
          <target>_blank</target>
        </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="version">
              <rank>35</rank>
            </item>
            <item id="description">
              <rank>40</rank>
            </item>
            <item id="url">
              <rank>50</rank>
            </item>
            <item id="cis_list">
              <rank>60</rank>
            </item>
            <item id="contracts_list">
              <rank>70</rank>
            </item>
            <item id="services_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="status">
              <rank>30</rank>
            </item>
            <item id="description">
              <rank>40</rank>
            </item>
            <item id="url">
              <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="description">
              <rank>30</rank>
            </item>
            <item id="url">
              <rank>40</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="FunctionalCI" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>true</abstract>
        <key_type>autoincrement</key_type>
        <db_table>functionalci</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field>finalclass</db_final_class_field>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/server.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="organization_name"/>
            <attribute id="finalclass"/>
          </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="org_id" xsi:type="AttributeExternalKey">
          <sql>org_id</sql>
          <target_class>Organization</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="organization_name" xsi:type="AttributeExternalField">
          <extkey_attcode>org_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="business_criticity" xsi:type="AttributeEnum">
          <values>
            <value id="high">high</value>
            <value id="medium">medium</value>
            <value id="low">low</value>
          </values>
          <sql>business_criticity</sql>
          <default_value>low</default_value>
          <is_null_allowed>true</is_null_allowed>
          <display_style>list</display_style>
        </field>
        <field id="move2production" xsi:type="AttributeDate">
          <sql>move2production</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="contacts_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkContactToFunctionalCI</linked_class>
          <ext_key_to_me>functionalci_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>contact_id</ext_key_to_remote>
          <duplicates/>
        </field>
        <field id="documents_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkDocumentToFunctionalCI</linked_class>
          <ext_key_to_me>functionalci_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>document_id</ext_key_to_remote>
          <duplicates/>
        </field>
        <field id="applicationsolution_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkApplicationSolutionToFunctionalCI</linked_class>
          <ext_key_to_me>functionalci_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>applicationsolution_id</ext_key_to_remote>
          <duplicates/>
        </field>
        <field id="providercontracts_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkFunctionalCIToProviderContract</linked_class>
          <ext_key_to_me>functionalci_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>providercontract_id</ext_key_to_remote>
          <duplicates/>
        </field>
        <field id="services_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkFunctionalCIToService</linked_class>
          <ext_key_to_me>functionalci_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>service_id</ext_key_to_remote>
          <duplicates/>
        </field>
        <field id="softwares_list" xsi:type="AttributeLinkedSet">
          <linked_class>SoftwareInstance</linked_class>
          <ext_key_to_me>system_id</ext_key_to_me>
          <edit_mode>in_place</edit_mode>
          <tracking_level>all</tracking_level>
          <count_min>0</count_min>
          <count_max>0</count_max>
        </field>
        <field id="tickets_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkFunctionalCIToTicket</linked_class>
          <ext_key_to_me>functionalci_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>ticket_id</ext_key_to_remote>
          <duplicates/>
        </field>
      </fields>
      <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>90</rank>
            </item>
            <item id="providercontracts_list">
              <rank>100</rank>
            </item>
            <item id="services_list">
              <rank>110</rank>
            </item>
          </items>
        </details>
        <default_search>
          <items>
            <item id="friendlyname">
              <rank>10</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
          </items>
        </default_search>
        <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="business_criticity">
              <rank>30</rank>
            </item>
            <item id="move2production">
              <rank>40</rank>
            </item>
          </items>
        </list>
      </presentation>
      <methods>
        <method id="GetRelationQueries">
          <comment>/**
	 * Placeholder for backward compatibility (iTop &lt;= 2.1.0)
	 * in case an extension attempts to redefine this function...	 
	 */</comment>
          <static>true</static>
          <access>public</access>
          <type>Overload-DBObject</type>
          <code><![CDATA[	public static function GetRelationQueries($sRelCode){return parent::GetRelationQueries($sRelCode);} ]]></code>
        </method>
        <method id="DisplayBareRelations">
          <static>false</static>
          <access>public</access>
          <type>Overload-cmdbAbstractObject</type>
          <code><![CDATA[	function DisplayBareRelations(WebPage $oPage, $bEditMode = false)
	{
		parent::DisplayBareRelations($oPage, $bEditMode);

		$sTicketListAttCode = 'tickets_list';

		if (MetaModel::IsValidAttCode(get_class($this), $sTicketListAttCode))
		{
			// Display one list per leaf class (the only way to display the status as of now)

			$oAttDef = MetaModel::GetAttributeDef(get_class($this), $sTicketListAttCode);
			$sLnkClass = $oAttDef->GetLinkedClass();
			$sExtKeyToMe = $oAttDef->GetExtKeyToMe();
			$sExtKeyToRemote = $oAttDef->GetExtKeyToRemote();

			$iTotal = 0;
			$aSearches = array();

			foreach (MetaModel::EnumChildClasses('Ticket') as $sSubClass)
			{
				if (!MetaModel::HasChildrenClasses($sSubClass))
				{
					$sStateAttCode = MetaModel::GetStateAttributeCode($sSubClass);
					if ($sStateAttCode != '')
					{
					    // Todo: base the search condition on operational_status = 'ongoing' for a more flexible behavior
						$oSearch = DBSearch::FromOQL("SELECT $sSubClass AS t JOIN $sLnkClass AS lnk ON lnk.$sExtKeyToRemote = t.id WHERE lnk.$sExtKeyToMe = :myself AND t.$sStateAttCode NOT IN ('rejected', 'resolved', 'closed') AND lnk.impact_code != 'not_impacted'", array('myself' => $this->GetKey()));
						$aSearches[$sSubClass] = $oSearch;

						$oSet = new DBObjectSet($oSearch);
						$oSet->SetShowObsoleteData(utils::ShowObsoleteData());
						$iTotal += $oSet->Count();
					}
				}
			}

			$sCount = ($iTotal > 0) ? ' ('.$iTotal.')' : '';
			$oPage->SetCurrentTab(Dict::S('Class:FunctionalCI/Tab:OpenedTickets').$sCount);

			foreach ($aSearches as $sSubClass => $oSearch)
			{
				$sBlockId = __class__.'_opened_'.$sSubClass;
		
				$oPage->add('<fieldset>');
				$oPage->add('<legend>'.MetaModel::GetName($sSubClass).'</legend>');
				$oBlock = new DisplayBlock($oSearch, 'list', false);
				$oBlock->Display($oPage, $sBlockId, array('menu' => false));
				$oPage->add('</fieldset>');
			}
		}
	}]]></code>
        </method>
      </methods>
      <relations>
        <relation id="impacts">
          <neighbours>
            <neighbour id="contact">
              <attribute>contacts_list</attribute>
              <direction>down</direction>
            </neighbour>
            <neighbour id="applicationsolution">
              <attribute>applicationsolution_list</attribute>
            </neighbour>
            <neighbour id="softwareinstance">
              <attribute>softwares_list</attribute>
            </neighbour>
          </neighbours>
        </relation>
      </relations>
    </class>
    <class id="PhysicalDevice" _delta="define">
      <parent>FunctionalCI</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>true</abstract>
        <key_type>autoincrement</key_type>
        <db_table>physicaldevice</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/server.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="organization_name"/>
            <attribute id="location_id"/>
            <attribute id="location_name"/>
            <attribute id="finalclass"/>
          </attributes>
        </reconciliation>
        <obsolescence>
          <condition><![CDATA[status = 'obsolete']]></condition>
        </obsolescence>
      </properties>
      <fields>
        <field id="serialnumber" xsi:type="AttributeString">
          <sql>serialnumber</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="location_id" xsi:type="AttributeExternalKey">
          <filter><![CDATA[SELECT l FROM Location AS l JOIN Organization AS root ON l.org_id=root.id JOIN Organization AS child ON child.parent_id BELOW root.id WHERE child.id= :this->org_id]]></filter>
          <dependencies>
            <attribute id="org_id"/>
          </dependencies>
          <sql>location_id</sql>
          <target_class>Location</target_class>
          <is_null_allowed>true</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
          <allow_target_creation>false</allow_target_creation>
        </field>
        <field id="location_name" xsi:type="AttributeExternalField">
          <extkey_attcode>location_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="status" xsi:type="AttributeEnum">
          <values>
            <value id="production">production</value>
            <value id="implementation">implementation</value>
            <value id="stock">stock</value>
            <value id="obsolete">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="brand_id" xsi:type="AttributeExternalKey">
          <sql>brand_id</sql>
          <target_class>Brand</target_class>
          <is_null_allowed>true</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="brand_name" xsi:type="AttributeExternalField">
          <extkey_attcode>brand_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="model_id" xsi:type="AttributeExternalKey">
          <filter><![CDATA[SELECT Model WHERE brand_id=:this->brand_id AND type=:this->finalclass]]></filter>
          <dependencies>
            <attribute id="brand_id"/>
          </dependencies>
          <sql>model_id</sql>
          <target_class>Model</target_class>
          <is_null_allowed>true</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="model_name" xsi:type="AttributeExternalField">
          <extkey_attcode>model_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="asset_number" xsi:type="AttributeString">
          <sql>asset_number</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="purchase_date" xsi:type="AttributeDate">
          <sql>purchase_date</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="end_of_warranty" xsi:type="AttributeDate">
          <sql>end_of_warranty</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="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>
          </items>
        </details>
        <default_search>
          <items>
            <item id="friendlyname">
              <rank>10</rank>
            </item>
            <item id="location_id">
              <rank>20</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
          </items>
        </default_search>
        <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="ConnectableCI" _delta="define">
      <parent>PhysicalDevice</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>true</abstract>
        <key_type>autoincrement</key_type>
        <db_table>connectableci</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/server.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="organization_name"/>
            <attribute id="finalclass"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="networkdevice_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkConnectableCIToNetworkDevice</linked_class>
          <ext_key_to_me>connectableci_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>networkdevice_id</ext_key_to_remote>
          <duplicates>true</duplicates>
        </field>
        <field id="physicalinterface_list" xsi:type="AttributeLinkedSet">
          <linked_class>PhysicalInterface</linked_class>
          <ext_key_to_me>connectableci_id</ext_key_to_me>
          <edit_mode>in_place</edit_mode>
          <tracking_level>all</tracking_level>
          <count_min>0</count_min>
          <count_max>0</count_max>
        </field>
      </fields>
      <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="networkdevice_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="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>
      <methods>
        <method id="GetRelationQueries">
          <comment>/**
	 * Placeholder for backward compatibility (iTop &lt;= 2.1.0)
	 * in case an extension attempts to redefine this function...	 
	 */</comment>
          <static>true</static>
          <access>public</access>
          <type>Overload-DBObject</type>
          <code><![CDATA[	public static function GetRelationQueries($sRelCode){return parent::GetRelationQueries($sRelCode);} ]]></code>
        </method>
      </methods>
    </class>
    <class id="DatacenterDevice" _delta="define">
      <parent>ConnectableCI</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>true</abstract>
        <key_type>autoincrement</key_type>
        <db_table>datacenterdevice</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/server.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="organization_name"/>
            <attribute id="finalclass"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="rack_id" xsi:type="AttributeExternalKey">
          <filter><![CDATA[SELECT Rack WHERE location_id= :this->location_id]]></filter>
          <dependencies>
            <attribute id="location_id"/>
          </dependencies>
          <sql>rack_id</sql>
          <target_class>Rack</target_class>
          <is_null_allowed>true</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
          <allow_target_creation>false</allow_target_creation>
        </field>
        <field id="rack_name" xsi:type="AttributeExternalField">
          <extkey_attcode>rack_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="enclosure_id" xsi:type="AttributeExternalKey">
          <filter><![CDATA[SELECT Enclosure WHERE rack_id= :this->rack_id]]></filter>
          <dependencies>
            <attribute id="rack_id"/>
          </dependencies>
          <sql>enclosure_id</sql>
          <target_class>Enclosure</target_class>
          <is_null_allowed>true</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
          <allow_target_creation>false</allow_target_creation>
        </field>
        <field id="enclosure_name" xsi:type="AttributeExternalField">
          <extkey_attcode>enclosure_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="managementip" xsi:type="AttributeIPAddress">
          <sql>managementip</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="powerA_id" xsi:type="AttributeExternalKey">
          <filter><![CDATA[SELECT PowerConnection WHERE location_id= :this->location_id]]></filter>
          <dependencies>
            <attribute id="location_id"/>
          </dependencies>
          <sql>powera_id</sql>
          <target_class>PowerConnection</target_class>
          <is_null_allowed>true</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
          <allow_target_creation>false</allow_target_creation>
        </field>
        <field id="powerA_name" xsi:type="AttributeExternalField">
          <extkey_attcode>powerA_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="powerB_id" xsi:type="AttributeExternalKey">
          <filter><![CDATA[SELECT PowerConnection WHERE location_id= :this->location_id]]></filter>
          <dependencies>
            <attribute id="location_id"/>
          </dependencies>
          <sql>powerB_id</sql>
          <target_class>PowerConnection</target_class>
          <is_null_allowed>true</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
          <allow_target_creation>false</allow_target_creation>
        </field>
        <field id="powerB_name" xsi:type="AttributeExternalField">
          <extkey_attcode>powerB_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="fiberinterfacelist_list" xsi:type="AttributeLinkedSet">
          <linked_class>FiberChannelInterface</linked_class>
          <ext_key_to_me>datacenterdevice_id</ext_key_to_me>
          <edit_mode>in_place</edit_mode>
          <tracking_level>all</tracking_level>
          <count_min>0</count_min>
          <count_max>0</count_max>
        </field>
        <field id="san_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkSanToDatacenterDevice</linked_class>
          <ext_key_to_me>datacenterdevice_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>san_id</ext_key_to_remote>
          <duplicates/>
        </field>
        <field id="redundancy" xsi:type="AttributeRedundancySettings">
          <sql>redundancy</sql>
          <relation_code>impacts</relation_code>
          <from_class>PowerConnection</from_class>
          <neighbour_id>datacenterdevice</neighbour_id>
          <enabled>true</enabled>
          <enabled_mode>fixed</enabled_mode>
          <min_up>1</min_up>
          <min_up_type>count</min_up_type>
          <min_up_mode>fixed</min_up_mode>
        </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="enclosure_id">
              <rank>70</rank>
            </item>
            <item id="brand_id">
              <rank>80</rank>
            </item>
            <item id="model_id">
              <rank>90</rank>
            </item>
            <item id="nb_u">
              <rank>100</rank>
            </item>
            <item id="serialnumber">
              <rank>110</rank>
            </item>
            <item id="asset_number">
              <rank>120</rank>
            </item>
            <item id="powerA_id">
              <rank>130</rank>
            </item>
            <item id="powerB_id">
              <rank>140</rank>
            </item>
            <item id="move2production">
              <rank>150</rank>
            </item>
            <item id="purchase_date">
              <rank>160</rank>
            </item>
            <item id="end_of_warranty">
              <rank>170</rank>
            </item>
            <item id="description">
              <rank>180</rank>
            </item>
            <item id="contacts_list">
              <rank>190</rank>
            </item>
            <item id="documents_list">
              <rank>200</rank>
            </item>
            <item id="networkdevice_list">
              <rank>210</rank>
            </item>
            <item id="fiberinterfacelist_list">
              <rank>220</rank>
            </item>
          </items>
        </details>
        <default_search>
          <items>
            <item id="friendlyname">
              <rank>10</rank>
            </item>
            <item id="managementip">
              <rank>20</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
          </items>
        </default_search>
        <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="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="NetworkDevice" _delta="define">
      <parent>DatacenterDevice</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>networkdevice</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <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="networkdevicetype_id" xsi:type="AttributeExternalKey">
          <sql>networkdevicetype_id</sql>
          <target_class>NetworkDeviceType</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="networkdevicetype_name" xsi:type="AttributeExternalField">
          <extkey_attcode>networkdevicetype_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="connectablecis_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkConnectableCIToNetworkDevice</linked_class>
          <ext_key_to_me>networkdevice_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>connectableci_id</ext_key_to_remote>
          <duplicates>true</duplicates>
        </field>
        <field id="iosversion_id" xsi:type="AttributeExternalKey">
          <sql>iosversion_id</sql>
          <target_class>IOSVersion</target_class>
          <is_null_allowed>true</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="iosversion_name" xsi:type="AttributeExternalField">
          <extkey_attcode>iosversion_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="ram" xsi:type="AttributeString">
          <sql>ram</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
      </fields>
      <presentation>
        <details>
          <items>
            <item id="contacts_list">
              <rank>10</rank>
            </item>
            <item id="documents_list">
              <rank>20</rank>
            </item>
            <item id="applicationsolution_list">
              <rank>35</rank>
            </item>
            <item id="physicalinterface_list">
              <rank>40</rank>
            </item>
            <item id="connectablecis_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>
                    <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="networkdevicetype_id">
                      <rank>10</rank>
                    </item>
                    <item id="brand_id">
                      <rank>20</rank>
                    </item>
                    <item id="model_id">
                      <rank>30</rank>
                    </item>
                    <item id="iosversion_id">
                      <rank>40</rank>
                    </item>
                    <item id="managementip">
                      <rank>45</rank>
                    </item>
                    <item id="ram">
                      <rank>50</rank>
                    </item>
                    <item id="nb_u">
                      <rank>60</rank>
                    </item>
                    <item id="serialnumber">
                      <rank>70</rank>
                    </item>
                    <item id="asset_number">
                      <rank>80</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:power">
                  <rank>20</rank>
                  <items>
                    <item id="powerA_id">
                      <rank>10</rank>
                    </item>
                    <item id="powerB_id">
                      <rank>20</rank>
                    </item>
                    <item id="redundancy">
                      <rank>30</rank>
                    </item>
                  </items>
                </item>
                <item id="fieldset:Server:otherinfo">
                  <rank>30</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="managementip">
              <rank>55</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>
      <methods>
        <method id="GetRelationQueries">
          <comment>/**
	 * Placeholder for backward compatibility (iTop &lt;= 2.1.0)
	 * in case an extension attempts to redefine this function...	 
	 */</comment>
          <static>true</static>
          <access>public</access>
          <type>Overload-DBObject</type>
          <code><![CDATA[	public static function GetRelationQueries($sRelCode){return parent::GetRelationQueries($sRelCode);} ]]></code>
        </method>
      </methods>
      <relations>
        <relation id="impacts">
          <neighbours>
            <neighbour id="connectableci">
              <query_down>SELECT ConnectableCI AS d JOIN lnkConnectableCIToNetworkDevice AS l1 ON l1.connectableci_id = d.id WHERE l1.networkdevice_id = :this-&gt;id AND l1.connection_type='downlink'</query_down>
              <query_up>SELECT NetworkDevice AS nw JOIN lnkConnectableCIToNetworkDevice AS l1 ON l1.networkdevice_id = nw.id WHERE l1.connectableci_id = :this-&gt;id AND l1.connection_type='downlink'</query_up>
            </neighbour>
          </neighbours>
        </relation>
      </relations>
    </class>
    <class id="Server" _delta="define">
      <parent>DatacenterDevice</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>server</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/server.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="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="logicalvolumes_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkServerToVolume</linked_class>
          <ext_key_to_me>server_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>
      <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="applicationsolution_list">
              <rank>45</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="san_list">
              <rank>80</rank>
            </item>
            <item id="logicalvolumes_list">
              <rank>90</rank>
            </item>
            <item id="providercontracts_list">
              <rank>100</rank>
            </item>
            <item id="services_list">
              <rank>110</rank>
            </item>
            <item id="col:col1">
              <rank>120</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="osfamily_id">
                      <rank>30</rank>
                    </item>
                    <item id="osversion_id">
                      <rank>40</rank>
                    </item>
                    <item id="managementip">
                      <rank>45</rank>
                    </item>
                    <item id="oslicence_id">
                      <rank>50</rank>
                    </item>
                    <item id="cpu">
                      <rank>60</rank>
                    </item>
                    <item id="ram">
                      <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>
                  </items>
                </item>
              </items>
            </item>
            <item id="col:col2">
              <rank>130</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:power">
                  <rank>20</rank>
                  <items>
                    <item id="powerA_id">
                      <rank>10</rank>
                    </item>
                    <item id="powerB_id">
                      <rank>20</rank>
                    </item>
                    <item id="redundancy">
                      <rank>30</rank>
                    </item>
                  </items>
                </item>
                <item id="fieldset:Server:otherinfo">
                  <rank>30</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="managementip">
              <rank>55</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>
      <methods>
        <method id="GetRelationQueries">
          <comment>/**
	 * Placeholder for backward compatibility (iTop &lt;= 2.1.0)
	 * in case an extension attempts to redefine this function...	 
	 */</comment>
          <static>true</static>
          <access>public</access>
          <type>Overload-DBObject</type>
          <code><![CDATA[	public static function GetRelationQueries($sRelCode){return parent::GetRelationQueries($sRelCode);} ]]></code>
        </method>
      </methods>
    </class>
    <class id="ApplicationSolution" _delta="define">
      <parent>FunctionalCI</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>applicationsolution</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/solution.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="organization_name"/>
          </attributes>
        </reconciliation>
        <obsolescence>
          <condition><![CDATA[status='inactive']]></condition>
        </obsolescence>
      </properties>
      <fields>
        <field id="functionalcis_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkApplicationSolutionToFunctionalCI</linked_class>
          <ext_key_to_me>applicationsolution_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>functionalci_id</ext_key_to_remote>
          <duplicates/>
        </field>
        <field id="businessprocess_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkApplicationSolutionToBusinessProcess</linked_class>
          <ext_key_to_me>applicationsolution_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>businessprocess_id</ext_key_to_remote>
          <duplicates/>
        </field>
        <field id="status" xsi:type="AttributeEnum">
          <values>
            <value id="active">active</value>
            <value id="inactive">inactive</value>
          </values>
          <sql>status</sql>
          <default_value>active</default_value>
          <is_null_allowed>true</is_null_allowed>
          <display_style>list</display_style>
        </field>
        <field id="redundancy" xsi:type="AttributeRedundancySettings">
          <sql>redundancy</sql>
          <relation_code>impacts</relation_code>
          <from_class>FunctionalCI</from_class>
          <neighbour_id>applicationsolution</neighbour_id>
          <enabled>false</enabled>
          <enabled_mode>user</enabled_mode>
          <min_up>1</min_up>
          <min_up_mode>user</min_up_mode>
          <min_up_type>count</min_up_type>
        </field>
      </fields>
      <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="functionalcis_list">
              <rank>100</rank>
            </item>
            <item id="businessprocess_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="business_criticity">
              <rank>20</rank>
            </item>
            <item id="move2production">
              <rank>30</rank>
            </item>
          </items>
        </list>
      </presentation>
      <methods>
        <method id="GetRelationQueries">
          <comment>/**
	 * Placeholder for backward compatibility (iTop &lt;= 2.1.0)
	 * in case an extension attempts to redefine this function...	 
	 */</comment>
          <static>true</static>
          <access>public</access>
          <type>Overload-DBObject</type>
          <code><![CDATA[	public static function GetRelationQueries($sRelCode){return parent::GetRelationQueries($sRelCode);} ]]></code>
        </method>
      </methods>
      <relations>
        <relation id="impacts">
          <neighbours>
            <neighbour id="businessprocess">
              <attribute>businessprocess_list</attribute>
            </neighbour>
          </neighbours>
        </relation>
      </relations>
    </class>
    <class id="BusinessProcess" _delta="define">
      <parent>FunctionalCI</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>businessprocess</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/business-process.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="organization_name"/>
          </attributes>
        </reconciliation>
        <obsolescence>
          <condition><![CDATA[status = 'inactive']]></condition>
        </obsolescence>
      </properties>
      <fields>
        <field id="applicationsolutions_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkApplicationSolutionToBusinessProcess</linked_class>
          <ext_key_to_me>businessprocess_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>applicationsolution_id</ext_key_to_remote>
          <duplicates/>
        </field>
        <field id="status" xsi:type="AttributeEnum">
          <values>
            <value id="active">active</value>
            <value id="inactive">inactive</value>
          </values>
          <sql>status</sql>
          <default_value>active</default_value>
          <is_null_allowed>true</is_null_allowed>
          <display_style>list</display_style>
        </field>
      </fields>
      <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="applicationsolutions_list">
              <rank>100</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="business_criticity">
              <rank>20</rank>
            </item>
            <item id="move2production">
              <rank>30</rank>
            </item>
          </items>
        </list>
      </presentation>
      <methods>
        <method id="GetRelationQueries">
          <comment>/**
	 * Placeholder for backward compatibility (iTop &lt;= 2.1.0)
	 * in case an extension attempts to redefine this function...	 
	 */</comment>
          <static>true</static>
          <access>public</access>
          <type>Overload-DBObject</type>
          <code><![CDATA[	public static function GetRelationQueries($sRelCode){return parent::GetRelationQueries($sRelCode);} ]]></code>
        </method>
      </methods>
    </class>
    <class id="SoftwareInstance" _delta="define">
      <parent>FunctionalCI</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>true</abstract>
        <key_type>autoincrement</key_type>
        <db_table>softwareinstance</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
            <attribute id="system_name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/application.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="organization_name"/>
            <attribute id="system_id"/>
            <attribute id="system_name"/>
            <attribute id="finalclass"/>
          </attributes>
        </reconciliation>
        <obsolescence>
          <condition><![CDATA[status = 'inactive']]></condition>
        </obsolescence>
      </properties>
      <fields>
        <field id="system_id" xsi:type="AttributeExternalKey">
          <filter><![CDATA[SELECT FunctionalCI WHERE finalclass IN ('Server','VirtualMachine','PC')]]></filter>
          <sql>functionalci_id</sql>
          <target_class>FunctionalCI</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
          <allow_target_creation>false</allow_target_creation>
        </field>
        <field id="system_name" xsi:type="AttributeExternalField">
          <extkey_attcode>system_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="software_id" xsi:type="AttributeExternalKey">
          <filter><![CDATA[SELECT Software WHERE type = :this->finalclass]]></filter>
          <sql>software_id</sql>
          <target_class>Software</target_class>
          <is_null_allowed>true</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="software_name" xsi:type="AttributeExternalField">
          <extkey_attcode>software_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="softwarelicence_id" xsi:type="AttributeExternalKey">
          <filter><![CDATA[SELECT SoftwareLicence WHERE software_id= :this->software_id]]></filter>
          <dependencies>
            <attribute id="software_id"/>
          </dependencies>
          <sql>softwarelicence_id</sql>
          <target_class>SoftwareLicence</target_class>
          <is_null_allowed>true</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
          <allow_target_creation>false</allow_target_creation>
        </field>
        <field id="softwarelicence_name" xsi:type="AttributeExternalField">
          <extkey_attcode>softwarelicence_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="path" xsi:type="AttributeString">
          <sql>path</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="status" xsi:type="AttributeEnum">
          <values>
            <value id="active">active</value>
            <value id="inactive">inactive</value>
          </values>
          <sql>status</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
          <display_style>list</display_style>
        </field>
      </fields>
      <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="system_id">
              <rank>50</rank>
            </item>
            <item id="software_id">
              <rank>60</rank>
            </item>
            <item id="softwarelicence_id">
              <rank>70</rank>
            </item>
            <item id="path">
              <rank>80</rank>
            </item>
            <item id="move2production">
              <rank>90</rank>
            </item>
            <item id="description">
              <rank>100</rank>
            </item>
            <item id="contacts_list">
              <rank>110</rank>
            </item>
            <item id="documents_list">
              <rank>120</rank>
            </item>
            <item id="applicationsolution_list">
              <rank>130</rank>
            </item>
          </items>
        </details>
        <default_search>
          <items>
            <item id="friendlyname">
              <rank>10</rank>
            </item>
            <item id="system_id">
              <rank>20</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
          </items>
        </default_search>
        <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="business_criticity">
              <rank>30</rank>
            </item>
            <item id="system_id">
              <rank>40</rank>
            </item>
            <item id="software_id">
              <rank>50</rank>
            </item>
          </items>
        </list>
      </presentation>
      <methods>
        <method id="GetRelationQueries">
          <comment>/**
	 * Placeholder for backward compatibility (iTop &lt;= 2.1.0)
	 * in case an extension attempts to redefine this function...	 
	 */</comment>
          <static>true</static>
          <access>public</access>
          <type>Overload-DBObject</type>
          <code><![CDATA[	public static function GetRelationQueries($sRelCode){return parent::GetRelationQueries($sRelCode);} ]]></code>
        </method>
      </methods>
    </class>
    <class id="Middleware" _delta="define">
      <parent>SoftwareInstance</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>middleware</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
            <attribute id="system_name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/middleware.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="organization_name"/>
            <attribute id="system_id"/>
            <attribute id="system_name"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="middlewareinstance_list" xsi:type="AttributeLinkedSet">
          <linked_class>MiddlewareInstance</linked_class>
          <ext_key_to_me>middleware_id</ext_key_to_me>
          <edit_mode>in_place</edit_mode>
          <tracking_level>all</tracking_level>
          <count_min>0</count_min>
          <count_max>0</count_max>
        </field>
      </fields>
      <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="system_id">
              <rank>50</rank>
            </item>
            <item id="software_id">
              <rank>60</rank>
            </item>
            <item id="softwarelicence_id">
              <rank>70</rank>
            </item>
            <item id="path">
              <rank>80</rank>
            </item>
            <item id="move2production">
              <rank>90</rank>
            </item>
            <item id="description">
              <rank>100</rank>
            </item>
            <item id="contacts_list">
              <rank>110</rank>
            </item>
            <item id="documents_list">
              <rank>120</rank>
            </item>
            <item id="applicationsolution_list">
              <rank>140</rank>
            </item>
            <item id="middlewareinstance_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="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="business_criticity">
              <rank>20</rank>
            </item>
            <item id="system_id">
              <rank>30</rank>
            </item>
            <item id="software_id">
              <rank>40</rank>
            </item>
          </items>
        </list>
      </presentation>
      <methods>
        <method id="GetRelationQueries">
          <comment>/**
	 * Placeholder for backward compatibility (iTop &lt;= 2.1.0)
	 * in case an extension attempts to redefine this function...	 
	 */</comment>
          <static>true</static>
          <access>public</access>
          <type>Overload-DBObject</type>
          <code><![CDATA[	public static function GetRelationQueries($sRelCode){return parent::GetRelationQueries($sRelCode);} ]]></code>
        </method>
      </methods>
      <relations>
        <relation id="impacts">
          <neighbours>
            <neighbour id="middlewareinstance">
              <attribute>middlewareinstance_list</attribute>
            </neighbour>
          </neighbours>
        </relation>
      </relations>
    </class>
    <class id="DBServer" _delta="define">
      <parent>SoftwareInstance</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>dbserver</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
            <attribute id="system_name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/database.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="organization_name"/>
            <attribute id="system_id"/>
            <attribute id="system_name"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="dbschema_list" xsi:type="AttributeLinkedSet">
          <linked_class>DatabaseSchema</linked_class>
          <ext_key_to_me>dbserver_id</ext_key_to_me>
          <edit_mode>in_place</edit_mode>
          <tracking_level>all</tracking_level>
          <count_min>0</count_min>
          <count_max>0</count_max>
        </field>
      </fields>
      <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="system_id">
              <rank>50</rank>
            </item>
            <item id="software_id">
              <rank>60</rank>
            </item>
            <item id="softwarelicence_id">
              <rank>70</rank>
            </item>
            <item id="path">
              <rank>80</rank>
            </item>
            <item id="move2production">
              <rank>90</rank>
            </item>
            <item id="description">
              <rank>100</rank>
            </item>
            <item id="contacts_list">
              <rank>110</rank>
            </item>
            <item id="documents_list">
              <rank>120</rank>
            </item>
            <item id="applicationsolution_list">
              <rank>140</rank>
            </item>
            <item id="dbschema_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="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="business_criticity">
              <rank>20</rank>
            </item>
            <item id="system_id">
              <rank>30</rank>
            </item>
            <item id="software_id">
              <rank>40</rank>
            </item>
          </items>
        </list>
      </presentation>
      <methods>
        <method id="GetRelationQueries">
          <comment>/**
	 * Placeholder for backward compatibility (iTop &lt;= 2.1.0)
	 * in case an extension attempts to redefine this function...	 
	 */</comment>
          <static>true</static>
          <access>public</access>
          <type>Overload-DBObject</type>
          <code><![CDATA[	public static function GetRelationQueries($sRelCode){return parent::GetRelationQueries($sRelCode);} ]]></code>
        </method>
      </methods>
      <relations>
        <relation id="impacts">
          <neighbours>
            <neighbour id="databaseschema">
              <attribute>dbschema_list</attribute>
            </neighbour>
          </neighbours>
        </relation>
      </relations>
    </class>
    <class id="WebServer" _delta="define">
      <parent>SoftwareInstance</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>webserver</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
            <attribute id="system_name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/webserver.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="organization_name"/>
            <attribute id="system_id"/>
            <attribute id="system_name"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="webapp_list" xsi:type="AttributeLinkedSet">
          <linked_class>WebApplication</linked_class>
          <ext_key_to_me>webserver_id</ext_key_to_me>
          <edit_mode>in_place</edit_mode>
          <tracking_level>all</tracking_level>
          <count_min>0</count_min>
          <count_max>0</count_max>
        </field>
      </fields>
      <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="system_id">
              <rank>50</rank>
            </item>
            <item id="software_id">
              <rank>60</rank>
            </item>
            <item id="softwarelicence_id">
              <rank>70</rank>
            </item>
            <item id="path">
              <rank>80</rank>
            </item>
            <item id="move2production">
              <rank>90</rank>
            </item>
            <item id="description">
              <rank>100</rank>
            </item>
            <item id="contacts_list">
              <rank>110</rank>
            </item>
            <item id="documents_list">
              <rank>120</rank>
            </item>
            <item id="applicationsolution_list">
              <rank>140</rank>
            </item>
            <item id="webapp_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="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="business_criticity">
              <rank>20</rank>
            </item>
            <item id="system_id">
              <rank>30</rank>
            </item>
            <item id="software_id">
              <rank>40</rank>
            </item>
          </items>
        </list>
      </presentation>
      <methods>
        <method id="GetRelationQueries">
          <comment>/**
	 * Placeholder for backward compatibility (iTop &lt;= 2.1.0)
	 * in case an extension attempts to redefine this function...	 
	 */</comment>
          <static>true</static>
          <access>public</access>
          <type>Overload-DBObject</type>
          <code><![CDATA[	public static function GetRelationQueries($sRelCode){return parent::GetRelationQueries($sRelCode);} ]]></code>
        </method>
      </methods>
      <relations>
        <relation id="impacts">
          <neighbours>
            <neighbour id="webapplication">
              <attribute>webapp_list</attribute>
            </neighbour>
          </neighbours>
        </relation>
      </relations>
    </class>
    <class id="PCSoftware" _delta="define">
      <parent>SoftwareInstance</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>pcsoftware</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
            <attribute id="system_name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/application.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="organization_name"/>
            <attribute id="system_id"/>
            <attribute id="system_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="system_id">
              <rank>50</rank>
            </item>
            <item id="software_id">
              <rank>60</rank>
            </item>
            <item id="softwarelicence_id">
              <rank>70</rank>
            </item>
            <item id="path">
              <rank>80</rank>
            </item>
            <item id="move2production">
              <rank>90</rank>
            </item>
            <item id="description">
              <rank>100</rank>
            </item>
            <item id="contacts_list">
              <rank>110</rank>
            </item>
            <item id="documents_list">
              <rank>120</rank>
            </item>
            <item id="applicationsolution_list">
              <rank>140</rank>
            </item>
            <item id="providercontracts_list">
              <rank>150</rank>
            </item>
            <item id="services_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="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="business_criticity">
              <rank>20</rank>
            </item>
            <item id="system_id">
              <rank>30</rank>
            </item>
            <item id="software_id">
              <rank>40</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="OtherSoftware" _delta="define">
      <parent>SoftwareInstance</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>othersoftware</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
            <attribute id="system_name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/application.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="organization_name"/>
            <attribute id="system_id"/>
            <attribute id="system_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="system_id">
              <rank>50</rank>
            </item>
            <item id="software_id">
              <rank>60</rank>
            </item>
            <item id="softwarelicence_id">
              <rank>70</rank>
            </item>
            <item id="path">
              <rank>80</rank>
            </item>
            <item id="move2production">
              <rank>90</rank>
            </item>
            <item id="description">
              <rank>100</rank>
            </item>
            <item id="contacts_list">
              <rank>110</rank>
            </item>
            <item id="documents_list">
              <rank>120</rank>
            </item>
            <item id="applicationsolution_list">
              <rank>140</rank>
            </item>
            <item id="providercontracts_list">
              <rank>150</rank>
            </item>
            <item id="services_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="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="business_criticity">
              <rank>20</rank>
            </item>
            <item id="system_id">
              <rank>30</rank>
            </item>
            <item id="software_id">
              <rank>40</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="MiddlewareInstance" _delta="define">
      <parent>FunctionalCI</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>middlewareinstance</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/middleware.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="organization_name"/>
            <attribute id="middleware_id"/>
            <attribute id="middleware_name"/>
          </attributes>
        </reconciliation>
        <obsolescence>
          <condition>middleware_id_obsolescence_flag</condition>
        </obsolescence>
      </properties>
      <fields>
        <field id="middleware_id" xsi:type="AttributeExternalKey">
          <sql>middleware_id</sql>
          <target_class>Middleware</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="middleware_name" xsi:type="AttributeExternalField">
          <extkey_attcode>middleware_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
      </fields>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="org_id">
              <rank>20</rank>
            </item>
            <item id="middleware_id">
              <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>100</rank>
            </item>
            <item id="providercontracts_list">
              <rank>110</rank>
            </item>
            <item id="services_list">
              <rank>120</rank>
            </item>
          </items>
        </details>
        <default_search>
          <items>
            <item id="friendlyname">
              <rank>10</rank>
            </item>
            <item id="middleware_id">
              <rank>20</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
          </items>
        </default_search>
        <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="business_criticity">
              <rank>20</rank>
            </item>
            <item id="move2production">
              <rank>30</rank>
            </item>
          </items>
        </list>
      </presentation>
      <methods>
        <method id="GetRelationQueries">
          <comment>/**
	 * Placeholder for backward compatibility (iTop &lt;= 2.1.0)
	 * in case an extension attempts to redefine this function...	 
	 */</comment>
          <static>true</static>
          <access>public</access>
          <type>Overload-DBObject</type>
          <code><![CDATA[	public static function GetRelationQueries($sRelCode){return parent::GetRelationQueries($sRelCode);} ]]></code>
        </method>
      </methods>
    </class>
    <class id="DatabaseSchema" _delta="define">
      <parent>FunctionalCI</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>databaseschema</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/database-schema.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="organization_name"/>
          </attributes>
        </reconciliation>
        <obsolescence>
          <condition>dbserver_id_obsolescence_flag</condition>
        </obsolescence>
      </properties>
      <fields>
        <field id="dbserver_id" xsi:type="AttributeExternalKey">
          <sql>dbserver_id</sql>
          <target_class>DBServer</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="dbserver_name" xsi:type="AttributeExternalField">
          <extkey_attcode>dbserver_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
      </fields>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="org_id">
              <rank>20</rank>
            </item>
            <item id="dbserver_id">
              <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>100</rank>
            </item>
            <item id="providercontracts_list">
              <rank>110</rank>
            </item>
            <item id="services_list">
              <rank>120</rank>
            </item>
          </items>
        </details>
        <default_search>
          <items>
            <item id="friendlyname">
              <rank>10</rank>
            </item>
            <item id="dbserver_id">
              <rank>20</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
          </items>
        </default_search>
        <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="business_criticity">
              <rank>20</rank>
            </item>
            <item id="move2production">
              <rank>30</rank>
            </item>
          </items>
        </list>
      </presentation>
      <methods>
        <method id="GetRelationQueries">
          <comment>/**
	 * Placeholder for backward compatibility (iTop &lt;= 2.1.0)
	 * in case an extension attempts to redefine this function...	 
	 */</comment>
          <static>true</static>
          <access>public</access>
          <type>Overload-DBObject</type>
          <code><![CDATA[	public static function GetRelationQueries($sRelCode){return parent::GetRelationQueries($sRelCode);} ]]></code>
        </method>
      </methods>
    </class>
    <class id="WebApplication" _delta="define">
      <parent>FunctionalCI</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>webapplication</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/webapp.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="organization_name"/>
          </attributes>
        </reconciliation>
        <obsolescence>
          <condition>webserver_id_obsolescence_flag</condition>
        </obsolescence>
      </properties>
      <fields>
        <field id="webserver_id" xsi:type="AttributeExternalKey">
          <sql>webserver_id</sql>
          <target_class>WebServer</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="webserver_name" xsi:type="AttributeExternalField">
          <extkey_attcode>webserver_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="url" xsi:type="AttributeURL">
          <sql>url</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
          <target>_blank</target>
        </field>
      </fields>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="org_id">
              <rank>20</rank>
            </item>
            <item id="webserver_id">
              <rank>30</rank>
            </item>
            <item id="url">
              <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="applicationsolution_list">
              <rank>110</rank>
            </item>
            <item id="providercontracts_list">
              <rank>120</rank>
            </item>
            <item id="services_list">
              <rank>130</rank>
            </item>
          </items>
        </details>
        <default_search>
          <items>
            <item id="friendlyname">
              <rank>10</rank>
            </item>
            <item id="webserver_id">
              <rank>20</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
          </items>
        </default_search>
        <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="business_criticity">
              <rank>20</rank>
            </item>
            <item id="move2production">
              <rank>30</rank>
            </item>
          </items>
        </list>
      </presentation>
      <methods>
        <method id="GetRelationQueries">
          <comment>/**
	 * Placeholder for backward compatibility (iTop &lt;= 2.1.0)
	 * in case an extension attempts to redefine this function...	 
	 */</comment>
          <static>true</static>
          <access>public</access>
          <type>Overload-DBObject</type>
          <code><![CDATA[	public static function GetRelationQueries($sRelCode){return parent::GetRelationQueries($sRelCode);} ]]></code>
        </method>
      </methods>
    </class>
    <class id="Software" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>software</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
            <attribute id="version"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/software.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="version"/>
            <attribute id="vendor"/>
          </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="vendor" xsi:type="AttributeString">
          <sql>vendor</sql>
          <default_value/>
          <is_null_allowed>false</is_null_allowed>
        </field>
        <field id="version" xsi:type="AttributeString">
          <sql>version</sql>
          <default_value/>
          <is_null_allowed>false</is_null_allowed>
        </field>
        <field id="documents_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkDocumentToSoftware</linked_class>
          <ext_key_to_me>software_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>document_id</ext_key_to_remote>
          <duplicates/>
        </field>
        <field id="type" xsi:type="AttributeEnum">
          <values>
            <value id="Middleware">Middleware</value>
            <value id="DBServer">DBServer</value>
            <value id="PCSoftware">PCSoftware</value>
            <value id="OtherSoftware">OtherSoftware</value>
            <value id="WebServer">WebServer</value>
          </values>
          <sql>type</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
          <display_style>list</display_style>
        </field>
        <field id="softwareinstance_list" xsi:type="AttributeLinkedSet">
          <linked_class>SoftwareInstance</linked_class>
          <ext_key_to_me>software_id</ext_key_to_me>
          <edit_mode>add_only</edit_mode>
          <count_min>0</count_min>
          <count_max>0</count_max>
        </field>
        <field id="softwarepatch_list" xsi:type="AttributeLinkedSet">
          <linked_class>SoftwarePatch</linked_class>
          <ext_key_to_me>software_id</ext_key_to_me>
          <edit_mode>add_only</edit_mode>
          <count_min>0</count_min>
          <count_max>0</count_max>
        </field>
        <field id="softwarelicence_list" xsi:type="AttributeLinkedSet">
          <linked_class>SoftwareLicence</linked_class>
          <ext_key_to_me>software_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="vendor">
              <rank>20</rank>
            </item>
            <item id="version">
              <rank>30</rank>
            </item>
            <item id="documents_list">
              <rank>40</rank>
            </item>
            <item id="type">
              <rank>50</rank>
            </item>
            <item id="softwareinstance_list">
              <rank>60</rank>
            </item>
            <item id="softwarepatch_list">
              <rank>70</rank>
            </item>
            <item id="softwarelicence_list">
              <rank>80</rank>
            </item>
          </items>
        </details>
        <default_search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="vendor">
              <rank>20</rank>
            </item>
            <item id="type">
              <rank>30</rank>
            </item>
          </items>
        </default_search>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="vendor">
              <rank>20</rank>
            </item>
            <item id="version">
              <rank>30</rank>
            </item>
            <item id="type">
              <rank>40</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="vendor">
              <rank>10</rank>
            </item>
            <item id="version">
              <rank>20</rank>
            </item>
            <item id="type">
              <rank>30</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="Patch" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>true</abstract>
        <key_type>autoincrement</key_type>
        <db_table>patch</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field>finalclass</db_final_class_field>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/patch.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="finalclass"/>
          </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="documents_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkDocumentToPatch</linked_class>
          <ext_key_to_me>patch_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>document_id</ext_key_to_remote>
          <duplicates/>
        </field>
        <field id="description" xsi:type="AttributeText">
          <sql>description</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="documents_list">
              <rank>20</rank>
            </item>
            <item id="description">
              <rank>30</rank>
            </item>
          </items>
        </details>
        <default_search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="description">
              <rank>20</rank>
            </item>
          </items>
        </default_search>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="finalclass">
              <rank>10</rank>
            </item>
            <item id="description">
              <rank>20</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="OSPatch" _delta="define">
      <parent>Patch</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>ospatch</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/patch.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="functionalcis_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkFunctionalCIToOSPatch</linked_class>
          <ext_key_to_me>ospatch_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>functionalci_id</ext_key_to_remote>
          <duplicates/>
        </field>
        <field id="osversion_id" xsi:type="AttributeExternalKey">
          <sql>osversion_id</sql>
          <target_class>OSVersion</target_class>
          <is_null_allowed>false</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>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="documents_list">
              <rank>20</rank>
            </item>
            <item id="functionalcis_list">
              <rank>30</rank>
            </item>
            <item id="description">
              <rank>40</rank>
            </item>
            <item id="osversion_id">
              <rank>50</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="description">
              <rank>20</rank>
            </item>
            <item id="osversion_id">
              <rank>30</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="description">
              <rank>10</rank>
            </item>
            <item id="osversion_id">
              <rank>20</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="SoftwarePatch" _delta="define">
      <parent>Patch</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>softwarepatch</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/patch.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="software_id" xsi:type="AttributeExternalKey">
          <sql>software_id</sql>
          <target_class>Software</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="software_name" xsi:type="AttributeExternalField">
          <extkey_attcode>software_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="softwareinstances_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkSoftwareInstanceToSoftwarePatch</linked_class>
          <ext_key_to_me>softwarepatch_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>softwareinstance_id</ext_key_to_remote>
          <duplicates/>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="documents_list">
              <rank>20</rank>
            </item>
            <item id="software_id">
              <rank>30</rank>
            </item>
            <item id="description">
              <rank>40</rank>
            </item>
            <item id="softwareinstances_list">
              <rank>50</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="software_id">
              <rank>20</rank>
            </item>
            <item id="description">
              <rank>30</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="software_id">
              <rank>10</rank>
            </item>
            <item id="description">
              <rank>20</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="Licence" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>true</abstract>
        <key_type>autoincrement</key_type>
        <db_table>licence</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field>finalclass</db_final_class_field>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/licence.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="organization_name"/>
            <attribute id="finalclass"/>
          </attributes>
        </reconciliation>
        <obsolescence>
          <condition><![CDATA[perpetual='no' AND ISNULL(end_date)=0 AND end_date < DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 15 MONTH),'%Y-%m-%d 00:00:00')]]></condition>
        </obsolescence>
      </properties>
      <fields>
        <field id="name" xsi:type="AttributeString">
          <sql>name</sql>
          <default_value/>
          <is_null_allowed>false</is_null_allowed>
        </field>
        <field id="documents_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkDocumentToLicence</linked_class>
          <ext_key_to_me>licence_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>document_id</ext_key_to_remote>
          <duplicates/>
        </field>
        <field id="org_id" xsi:type="AttributeExternalKey">
          <sql>org_id</sql>
          <target_class>Organization</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="organization_name" xsi:type="AttributeExternalField">
          <extkey_attcode>org_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="usage_limit" xsi:type="AttributeString">
          <sql>usage_limit</sql>
          <default_value/>
          <is_null_allowed>true</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="start_date" xsi:type="AttributeDate">
          <sql>start_date</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="end_date" xsi:type="AttributeDate">
          <sql>end_date</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="licence_key" xsi:type="AttributeString">
          <sql>licence_key</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="perpetual" xsi:type="AttributeEnum">
          <values>
            <value id="yes">yes</value>
            <value id="no">no</value>
          </values>
          <sql>perpetual</sql>
          <default_value>no</default_value>
          <is_null_allowed>false</is_null_allowed>
          <display_style>list</display_style>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="org_id">
              <rank>20</rank>
            </item>
            <item id="usage_limit">
              <rank>30</rank>
            </item>
            <item id="description">
              <rank>40</rank>
            </item>
            <item id="perpetual">
              <rank>50</rank>
            </item>
            <item id="start_date">
              <rank>60</rank>
            </item>
            <item id="end_date">
              <rank>70</rank>
            </item>
            <item id="licence_key">
              <rank>80</rank>
            </item>
            <item id="documents_list">
              <rank>90</rank>
            </item>
          </items>
        </details>
        <default_search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="description">
              <rank>20</rank>
            </item>
            <item id="licence_key">
              <rank>30</rank>
            </item>
          </items>
        </default_search>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="perpetual">
              <rank>15</rank>
            </item>
            <item id="start_date">
              <rank>20</rank>
            </item>
            <item id="end_date">
              <rank>30</rank>
            </item>
            <item id="licence_key">
              <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="usage_limit">
              <rank>30</rank>
            </item>
            <item id="description">
              <rank>40</rank>
            </item>
            <item id="start_date">
              <rank>50</rank>
            </item>
            <item id="end_date">
              <rank>60</rank>
            </item>
            <item id="licence_key">
              <rank>70</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="OSLicence" _delta="define">
      <parent>Licence</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>oslicence</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/licence.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="organization_name"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="osversion_id" xsi:type="AttributeExternalKey">
          <sql>osversion_id</sql>
          <target_class>OSVersion</target_class>
          <is_null_allowed>false</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="virtualmachines_list" xsi:type="AttributeLinkedSet">
          <linked_class>VirtualMachine</linked_class>
          <ext_key_to_me>oslicence_id</ext_key_to_me>
          <edit_mode>none</edit_mode>
          <count_min>0</count_min>
          <count_max>0</count_max>
        </field>
        <field id="servers_list" xsi:type="AttributeLinkedSet">
          <linked_class>Server</linked_class>
          <ext_key_to_me>oslicence_id</ext_key_to_me>
          <edit_mode>none</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="documents_list">
              <rank>20</rank>
            </item>
            <item id="osversion_id">
              <rank>30</rank>
            </item>
            <item id="org_id">
              <rank>40</rank>
            </item>
            <item id="usage_limit">
              <rank>50</rank>
            </item>
            <item id="description">
              <rank>60</rank>
            </item>
            <item id="perpetual">
              <rank>65</rank>
            </item>
            <item id="start_date">
              <rank>70</rank>
            </item>
            <item id="end_date">
              <rank>80</rank>
            </item>
            <item id="licence_key">
              <rank>90</rank>
            </item>
            <item id="servers_list">
              <rank>100</rank>
            </item>
            <item id="virtualmachines_list">
              <rank>110</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="perpetual">
              <rank>15</rank>
            </item>
            <item id="start_date">
              <rank>20</rank>
            </item>
            <item id="end_date">
              <rank>30</rank>
            </item>
            <item id="licence_key">
              <rank>40</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="osversion_id">
              <rank>10</rank>
            </item>
            <item id="org_id">
              <rank>20</rank>
            </item>
            <item id="usage_limit">
              <rank>30</rank>
            </item>
            <item id="description">
              <rank>40</rank>
            </item>
            <item id="start_date">
              <rank>50</rank>
            </item>
            <item id="end_date">
              <rank>60</rank>
            </item>
            <item id="licence_key">
              <rank>70</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="SoftwareLicence" _delta="define">
      <parent>Licence</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>softwarelicence</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/licence.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="organization_name"/>
            <attribute id="software_id"/>
            <attribute id="software_name"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="software_id" xsi:type="AttributeExternalKey">
          <sql>software_id</sql>
          <target_class>Software</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="software_name" xsi:type="AttributeExternalField">
          <extkey_attcode>software_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="softwareinstance_list" xsi:type="AttributeLinkedSet">
          <linked_class>SoftwareInstance</linked_class>
          <ext_key_to_me>softwarelicence_id</ext_key_to_me>
          <edit_mode>none</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="documents_list">
              <rank>20</rank>
            </item>
            <item id="software_id">
              <rank>30</rank>
            </item>
            <item id="org_id">
              <rank>40</rank>
            </item>
            <item id="usage_limit">
              <rank>50</rank>
            </item>
            <item id="description">
              <rank>60</rank>
            </item>
            <item id="perpetual">
              <rank>65</rank>
            </item>
            <item id="start_date">
              <rank>70</rank>
            </item>
            <item id="end_date">
              <rank>80</rank>
            </item>
            <item id="licence_key">
              <rank>90</rank>
            </item>
            <item id="softwareinstance_list">
              <rank>100</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="perpetual">
              <rank>15</rank>
            </item>
            <item id="start_date">
              <rank>20</rank>
            </item>
            <item id="end_date">
              <rank>30</rank>
            </item>
            <item id="licence_key">
              <rank>40</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="software_id">
              <rank>10</rank>
            </item>
            <item id="org_id">
              <rank>20</rank>
            </item>
            <item id="usage_limit">
              <rank>30</rank>
            </item>
            <item id="description">
              <rank>40</rank>
            </item>
            <item id="start_date">
              <rank>50</rank>
            </item>
            <item id="end_date">
              <rank>60</rank>
            </item>
            <item id="licence_key">
              <rank>70</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="lnkDocumentToLicence" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <is_link>1</is_link>
        <category>bizmodel</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>lnkdocumenttolicence</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="licence_id"/>
            <attribute id="document_id"/>
          </attributes>
        </naming>
        <display_template/>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="licence_id"/>
            <attribute id="document_id"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="licence_id" xsi:type="AttributeExternalKey">
          <sql>licence_id</sql>
          <target_class>Licence</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="licence_name" xsi:type="AttributeExternalField">
          <extkey_attcode>licence_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="document_id" xsi:type="AttributeExternalKey">
          <sql>document_id</sql>
          <target_class>Document</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="document_name" xsi:type="AttributeExternalField">
          <extkey_attcode>document_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="licence_id">
              <rank>10</rank>
            </item>
            <item id="document_id">
              <rank>20</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="licence_id">
              <rank>10</rank>
            </item>
            <item id="document_id">
              <rank>20</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="licence_id">
              <rank>10</rank>
            </item>
            <item id="document_id">
              <rank>20</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="Typology" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>true</abstract>
        <key_type>autoincrement</key_type>
        <db_table>typology</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field>finalclass</db_final_class_field>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="finalclass"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="name" xsi:type="AttributeString">
          <sql>name</sql>
          <default_value/>
          <is_null_allowed>false</is_null_allowed>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </details>
        <default_search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </default_search>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="finalclass">
              <rank>10</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="OSVersion" _delta="define">
      <parent>Typology</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>osversion</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="osfamily_id"/>
            <attribute id="osfamily_name"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="osfamily_id" xsi:type="AttributeExternalKey">
          <sql>osfamily_id</sql>
          <target_class>OSFamily</target_class>
          <is_null_allowed>false</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>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="osfamily_id">
              <rank>20</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="osfamily_id">
              <rank>20</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="OSFamily" _delta="define">
      <parent>Typology</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>osfamily</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields/>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="DocumentType" _delta="define">
      <parent>Typology</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>documenttype</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields/>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="ContactType" _delta="define">
      <parent>Typology</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>contacttype</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields/>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="Brand" _delta="define">
      <parent>Typology</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>brand</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </reconciliation>
        <uniqueness_rules>
          <rule id="name">
            <attributes>
              <attribute id="name"/>
            </attributes>
            <is_blocking>true</is_blocking>
          </rule>
        </uniqueness_rules>
      </properties>
      <fields>
        <field id="physicaldevices_list" xsi:type="AttributeLinkedSet">
          <linked_class>PhysicalDevice</linked_class>
          <ext_key_to_me>brand_id</ext_key_to_me>
          <edit_mode>add_only</edit_mode>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <duplicates/>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="physicaldevices_list">
              <rank>20</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="Model" _delta="define">
      <parent>Typology</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>model</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="brand_id"/>
            <attribute id="brand_name"/>
            <attribute id="type"/>
          </attributes>
        </reconciliation>
        <uniqueness_rules>
          <rule id="name_brand">
            <attributes>
              <attribute id="name"/>
              <attribute id="brand_id"/>
            </attributes>
            <is_blocking>true</is_blocking>
          </rule>
        </uniqueness_rules>
      </properties>
      <fields>
        <field id="brand_id" xsi:type="AttributeExternalKey">
          <sql>brand_id</sql>
          <target_class>Brand</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="brand_name" xsi:type="AttributeExternalField">
          <extkey_attcode>brand_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="type" xsi:type="AttributeEnum">
          <values>
            <value id="NetworkDevice">NetworkDevice</value>
            <value id="Server">Server</value>
            <value id="SANSwitch">SANSwitch</value>
            <value id="StorageSystem">StorageSystem</value>
            <value id="Rack">Rack</value>
            <value id="Enclosure">Enclosure</value>
            <value id="PC">PC</value>
            <value id="Tablet">Tablet</value>
            <value id="Phone">Phone</value>
            <value id="MobilePhone">MobilePhone</value>
            <value id="Printer">Printer</value>
            <value id="DiskArray">DiskArray</value>
            <value id="NAS">NAS</value>
            <value id="TapeLibrary">TapeLibrary</value>
            <value id="IPPhone">IPPhone</value>
            <value id="Peripheral">Peripheral</value>
            <value id="PowerSource">PowerSource</value>
            <value id="PDU">PDU</value>
          </values>
          <sql>type</sql>
          <default_value/>
          <is_null_allowed>false</is_null_allowed>
          <display_style>list</display_style>
        </field>
        <field id="physicaldevices_list" xsi:type="AttributeLinkedSet">
          <linked_class>PhysicalDevice</linked_class>
          <ext_key_to_me>model_id</ext_key_to_me>
          <edit_mode>add_only</edit_mode>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <duplicates/>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="brand_id">
              <rank>20</rank>
            </item>
            <item id="type">
              <rank>30</rank>
            </item>
            <item id="physicaldevices_list">
              <rank>40</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="type">
              <rank>20</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="brand_id">
              <rank>20</rank>
            </item>
            <item id="type">
              <rank>30</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="NetworkDeviceType" _delta="define">
      <parent>Typology</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>networkdevicetype</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="networkdevicesdevices_list" xsi:type="AttributeLinkedSet">
          <linked_class>NetworkDevice</linked_class>
          <ext_key_to_me>networkdevicetype_id</ext_key_to_me>
          <edit_mode>add_only</edit_mode>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <duplicates/>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="networkdevicesdevices_list">
              <rank>20</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="IOSVersion" _delta="define">
      <parent>Typology</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>iosversion</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="brand_name"/>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="brand_id"/>
            <attribute id="brand_name"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="brand_id" xsi:type="AttributeExternalKey">
          <sql>brand_id</sql>
          <target_class>Brand</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="brand_name" xsi:type="AttributeExternalField">
          <extkey_attcode>brand_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="brand_id">
              <rank>20</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="brand_id">
              <rank>20</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="lnkDocumentToPatch" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <is_link>1</is_link>
        <category>bizmodel</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>lnkdocumenttopatch</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="patch_id"/>
            <attribute id="document_id"/>
          </attributes>
        </naming>
        <display_template/>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="patch_id"/>
            <attribute id="document_id"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="patch_id" xsi:type="AttributeExternalKey">
          <sql>patch_id</sql>
          <target_class>Patch</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="patch_name" xsi:type="AttributeExternalField">
          <extkey_attcode>patch_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="document_id" xsi:type="AttributeExternalKey">
          <sql>document_id</sql>
          <target_class>Document</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="document_name" xsi:type="AttributeExternalField">
          <extkey_attcode>document_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="patch_id">
              <rank>10</rank>
            </item>
            <item id="document_id">
              <rank>20</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="patch_id">
              <rank>10</rank>
            </item>
            <item id="document_id">
              <rank>20</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="patch_id">
              <rank>10</rank>
            </item>
            <item id="document_id">
              <rank>20</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="lnkSoftwareInstanceToSoftwarePatch" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <is_link>1</is_link>
        <category>bizmodel</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>lnksoftwareinstancetosoftwarepatch</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="softwarepatch_id"/>
            <attribute id="softwareinstance_id"/>
          </attributes>
        </naming>
        <display_template/>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="softwarepatch_id"/>
            <attribute id="softwareinstance_id"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="softwarepatch_id" xsi:type="AttributeExternalKey">
          <sql>softwarepatch_id</sql>
          <target_class>SoftwarePatch</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="softwarepatch_name" xsi:type="AttributeExternalField">
          <extkey_attcode>softwarepatch_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="softwareinstance_id" xsi:type="AttributeExternalKey">
          <sql>softwareinstance_id</sql>
          <target_class>SoftwareInstance</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="softwareinstance_name" xsi:type="AttributeExternalField">
          <extkey_attcode>softwareinstance_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="softwarepatch_id">
              <rank>10</rank>
            </item>
            <item id="softwareinstance_id">
              <rank>20</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="softwarepatch_id">
              <rank>10</rank>
            </item>
            <item id="softwareinstance_id">
              <rank>20</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="softwarepatch_id">
              <rank>10</rank>
            </item>
            <item id="softwareinstance_id">
              <rank>20</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="lnkFunctionalCIToOSPatch" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <is_link>1</is_link>
        <category>bizmodel</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>lnkfunctionalcitoospatch</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="ospatch_id"/>
            <attribute id="functionalci_id"/>
          </attributes>
        </naming>
        <display_template/>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="ospatch_id"/>
            <attribute id="functionalci_id"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="ospatch_id" xsi:type="AttributeExternalKey">
          <sql>ospatch_id</sql>
          <target_class>OSPatch</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="ospatch_name" xsi:type="AttributeExternalField">
          <extkey_attcode>ospatch_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="functionalci_id" xsi:type="AttributeExternalKey">
          <sql>functionalci_id</sql>
          <target_class>FunctionalCI</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="functionalci_name" xsi:type="AttributeExternalField">
          <extkey_attcode>functionalci_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="ospatch_id">
              <rank>10</rank>
            </item>
            <item id="functionalci_id">
              <rank>20</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="ospatch_id">
              <rank>10</rank>
            </item>
            <item id="functionalci_id">
              <rank>20</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="ospatch_id">
              <rank>10</rank>
            </item>
            <item id="functionalci_id">
              <rank>20</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="lnkDocumentToSoftware" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <is_link>1</is_link>
        <category>bizmodel</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>lnkdocumenttosoftware</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="software_id"/>
            <attribute id="document_id"/>
          </attributes>
        </naming>
        <display_template/>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="software_id"/>
            <attribute id="document_id"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="software_id" xsi:type="AttributeExternalKey">
          <sql>software_id</sql>
          <target_class>Software</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="software_name" xsi:type="AttributeExternalField">
          <extkey_attcode>software_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="document_id" xsi:type="AttributeExternalKey">
          <sql>document_id</sql>
          <target_class>Document</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="document_name" xsi:type="AttributeExternalField">
          <extkey_attcode>document_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="software_id">
              <rank>10</rank>
            </item>
            <item id="document_id">
              <rank>20</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="software_id">
              <rank>10</rank>
            </item>
            <item id="document_id">
              <rank>20</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="software_id">
              <rank>10</rank>
            </item>
            <item id="document_id">
              <rank>20</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="lnkContactToFunctionalCI" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <is_link>1</is_link>
        <category>bizmodel</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>lnkcontacttofunctionalci</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="functionalci_id"/>
            <attribute id="contact_id"/>
          </attributes>
        </naming>
        <display_template/>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="functionalci_id"/>
            <attribute id="contact_id"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="functionalci_id" xsi:type="AttributeExternalKey">
          <sql>functionalci_id</sql>
          <target_class>FunctionalCI</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="functionalci_name" xsi:type="AttributeExternalField">
          <extkey_attcode>functionalci_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="contact_id" xsi:type="AttributeExternalKey">
          <sql>contact_id</sql>
          <target_class>Contact</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="contact_name" xsi:type="AttributeExternalField">
          <extkey_attcode>contact_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="functionalci_id">
              <rank>10</rank>
            </item>
            <item id="contact_id">
              <rank>20</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="functionalci_id">
              <rank>10</rank>
            </item>
            <item id="contact_id">
              <rank>20</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="functionalci_id">
              <rank>10</rank>
            </item>
            <item id="contact_id">
              <rank>20</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="lnkDocumentToFunctionalCI" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <is_link>1</is_link>
        <category>bizmodel</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>lnkdocumenttofunctionalci</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="functionalci_id"/>
            <attribute id="document_id"/>
          </attributes>
        </naming>
        <display_template/>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="functionalci_id"/>
            <attribute id="document_id"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="functionalci_id" xsi:type="AttributeExternalKey">
          <sql>functionalci_id</sql>
          <target_class>FunctionalCI</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="functionalci_name" xsi:type="AttributeExternalField">
          <extkey_attcode>functionalci_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="document_id" xsi:type="AttributeExternalKey">
          <sql>document_id</sql>
          <target_class>Document</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="document_name" xsi:type="AttributeExternalField">
          <extkey_attcode>document_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="functionalci_id">
              <rank>10</rank>
            </item>
            <item id="document_id">
              <rank>20</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="functionalci_id">
              <rank>10</rank>
            </item>
            <item id="document_id">
              <rank>20</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="functionalci_id">
              <rank>10</rank>
            </item>
            <item id="document_id">
              <rank>20</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="Subnet" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <category>bizmodel,searchable,configmgmt</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>subnet</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="ip"/>
            <attribute id="ip_mask"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/subnet.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="ip"/>
            <attribute id="ip_mask"/>
            <attribute id="org_id"/>
            <attribute id="org_name"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="description" xsi:type="AttributeText">
          <sql>description</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="subnet_name" xsi:type="AttributeString">
          <sql>subnet_name</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="org_id" xsi:type="AttributeExternalKey">
          <sql>org_id</sql>
          <target_class>Organization</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="org_name" xsi:type="AttributeExternalField">
          <extkey_attcode>org_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="ip" xsi:type="AttributeIPAddress">
          <sql>ip</sql>
          <default_value/>
          <is_null_allowed>false</is_null_allowed>
        </field>
        <field id="ip_mask" xsi:type="AttributeIPAddress">
          <sql>ip_mask</sql>
          <default_value/>
          <is_null_allowed>false</is_null_allowed>
        </field>
        <field id="vlans_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkSubnetToVLAN</linked_class>
          <ext_key_to_me>subnet_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>vlan_id</ext_key_to_remote>
          <duplicates/>
        </field>
      </fields>
      <methods>
        <method id="DisplayBareRelations">
          <static>false</static>
          <access>public</access>
          <type>Overload-cmdbAbstractObject</type>
          <code><![CDATA[	function DisplayBareRelations(WebPage $oPage, $bEditMode = false)
	{
		parent::DisplayBareRelations($oPage, $bEditMode);

		if (!$bEditMode)
		{
			$oPage->SetCurrentTab(Dict::S('Class:Subnet/Tab:IPUsage'));
	
			$bit_ip = ip2long($this->Get('ip'));
			$bit_mask = ip2long($this->Get('ip_mask'));
	
			$iIPMin = sprintf('%u', ($bit_ip & $bit_mask) | 1); // exclude the first one: identifies the subnet itself
			$iIPMax = sprintf('%u', (($bit_ip | (~$bit_mask))) & 0xfffffffe); // exclude the last one : broadcast address
			
			$sIPMin = long2ip($iIPMin);
			$sIPMax = long2ip($iIPMax);
	
			$oPage->p(Dict::Format('Class:Subnet/Tab:IPUsage-explain', $sIPMin, $sIPMax));
			
			$oIfFilter = DBObjectSearch::FromOQL("SELECT IPInterface AS if WHERE INET_ATON(if.ipaddress) >= INET_ATON('$sIPMin') AND INET_ATON(if.ipaddress) <= INET_ATON('$sIPMax')");
			$oIfSet = new CMDBObjectSet($oIfFilter);
			$oBlock = new DisplayBlock($oIfFilter, 'list', false);
			$oBlock->Display($oPage, 'nwif', array('menu' => false));
	
			$iCountUsed = $oIfSet->Count();
			$iCountRange = $iIPMax - $iIPMin; // On 32-bit systems the substraction will be computed using floats for values greater than PHP_MAX_INT;
			$iFreeCount =  $iCountRange - $iCountUsed;
	
			$oPage->SetCurrentTab(Dict::S('Class:Subnet/Tab:FreeIPs'));
			$oPage->p(Dict::Format('Class:Subnet/Tab:FreeIPs-count', $iFreeCount));
			$oPage->p(Dict::S('Class:Subnet/Tab:FreeIPs-explain'));
	
			$aUsedIPs = $oIfSet->GetColumnAsArray('ipaddress', false);
			$iAnIP = $iIPMin;
			$iFound = 0;
			while (($iFound < min($iFreeCount, 10)) && ($iAnIP <= $iIPMax))
			{
				$sAnIP = long2ip($iAnIP);
				if (!in_array($sAnIP, $aUsedIPs))
				{
					$iFound++;
					$oPage->p($sAnIP);
				}
				else
				{
				}
				$iAnIP++;
			}
		}
	}]]></code>
        </method>
      </methods>
      <presentation>
        <details>
          <items>
            <item id="ip">
              <rank>10</rank>
            </item>
            <item id="ip_mask">
              <rank>20</rank>
            </item>
            <item id="subnet_name">
              <rank>25</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
            <item id="description">
              <rank>40</rank>
            </item>
            <item id="vlans_list">
              <rank>50</rank>
            </item>
          </items>
        </details>
        <default_search>
          <items>
            <item id="ip">
              <rank>10</rank>
            </item>
            <item id="subnet_name">
              <rank>20</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
          </items>
        </default_search>
        <search>
          <items>
            <item id="ip">
              <rank>10</rank>
            </item>
            <item id="ip_mask">
              <rank>20</rank>
            </item>
            <item id="subnet_name">
              <rank>25</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
            <item id="description">
              <rank>40</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="ip">
              <rank>10</rank>
            </item>
            <item id="ip_mask">
              <rank>20</rank>
            </item>
            <item id="subnet_name">
              <rank>25</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
            <item id="description">
              <rank>40</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="VLAN" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <category>bizmodel,searchable,configmgmt</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>vlan</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="vlan_tag"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/vlan.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="vlan_tag"/>
            <attribute id="org_id"/>
            <attribute id="org_name"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="vlan_tag" xsi:type="AttributeString">
          <sql>vlan_tag</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="org_id" xsi:type="AttributeExternalKey">
          <sql>org_id</sql>
          <target_class>Organization</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="org_name" xsi:type="AttributeExternalField">
          <extkey_attcode>org_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="subnets_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkSubnetToVLAN</linked_class>
          <ext_key_to_me>vlan_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>subnet_id</ext_key_to_remote>
          <duplicates/>
        </field>
        <field id="physicalinterfaces_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkPhysicalInterfaceToVLAN</linked_class>
          <ext_key_to_me>vlan_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>physicalinterface_id</ext_key_to_remote>
          <duplicates/>
        </field>
      </fields>
      <methods>
      </methods>
      <presentation>
        <details>
          <items>
            <item id="vlan_tag">
              <rank>10</rank>
            </item>
            <item id="org_id">
              <rank>20</rank>
            </item>
            <item id="description">
              <rank>30</rank>
            </item>
            <item id="subnets_list">
              <rank>40</rank>
            </item>
            <item id="physicalinterfaces_list">
              <rank>50</rank>
            </item>
          </items>
        </details>
        <default_search>
          <items>
            <item id="vlan_tag">
              <rank>10</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
          </items>
        </default_search>
        <search>
          <items>
            <item id="vlan_tag">
              <rank>10</rank>
            </item>
            <item id="org_id">
              <rank>20</rank>
            </item>
            <item id="description">
              <rank>30</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="org_id">
              <rank>10</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="lnkSubnetToVLAN" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <is_link>1</is_link>
        <category>bizmodel</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>lnksubnettovlan</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="subnet_id"/>
            <attribute id="vlan_id"/>
          </attributes>
        </naming>
        <display_template/>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="subnet_id"/>
            <attribute id="vlan_id"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="subnet_id" xsi:type="AttributeExternalKey">
          <sql>subnet_id</sql>
          <target_class>Subnet</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="subnet_ip" xsi:type="AttributeExternalField">
          <extkey_attcode>subnet_id</extkey_attcode>
          <target_attcode>ip</target_attcode>
        </field>
        <field id="subnet_name" xsi:type="AttributeExternalField">
          <extkey_attcode>subnet_id</extkey_attcode>
          <target_attcode>subnet_name</target_attcode>
        </field>
        <field id="vlan_id" xsi:type="AttributeExternalKey">
          <sql>vlan_id</sql>
          <target_class>VLAN</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="vlan_tag" xsi:type="AttributeExternalField">
          <extkey_attcode>vlan_id</extkey_attcode>
          <target_attcode>vlan_tag</target_attcode>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="subnet_id">
              <rank>10</rank>
            </item>
            <item id="vlan_id">
              <rank>20</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="subnet_id">
              <rank>10</rank>
            </item>
            <item id="vlan_id">
              <rank>20</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="subnet_id">
              <rank>10</rank>
            </item>
            <item id="subnet_name">
              <rank>20</rank>
            </item>
            <item id="vlan_id">
              <rank>30</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="NetworkInterface" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>true</abstract>
        <key_type>autoincrement</key_type>
        <db_table>networkinterface</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field>finalclass</db_final_class_field>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/interface.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="finalclass"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="name" xsi:type="AttributeString">
          <sql>name</sql>
          <default_value/>
          <is_null_allowed>false</is_null_allowed>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </details>
        <default_search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </default_search>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="IPInterface" _delta="define">
      <parent>NetworkInterface</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>true</abstract>
        <key_type>autoincrement</key_type>
        <db_table>ipinterface</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/interface.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="finalclass"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="ipaddress" xsi:type="AttributeIPAddress">
          <sql>ipaddress</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="macaddress" xsi:type="AttributeString">
          <sql>macaddress</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="comment" xsi:type="AttributeText">
          <sql>comment</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="ipgateway" xsi:type="AttributeIPAddress">
          <sql>ipgateway</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="ipmask" xsi:type="AttributeIPAddress">
          <sql>ipmask</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="speed" xsi:type="AttributeDecimal">
          <sql>speed</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
          <digits>12</digits>
          <decimals>2</decimals>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="ipaddress">
              <rank>20</rank>
            </item>
            <item id="macaddress">
              <rank>30</rank>
            </item>
            <item id="comment">
              <rank>40</rank>
            </item>
            <item id="ipgateway">
              <rank>50</rank>
            </item>
            <item id="ipmask">
              <rank>60</rank>
            </item>
            <item id="speed">
              <rank>70</rank>
            </item>
          </items>
        </details>
        <default_search>
          <items>
            <item id="friendlyname">
              <rank>10</rank>
            </item>
            <item id="ipaddress">
              <rank>20</rank>
            </item>
            <item id="macaddress">
              <rank>30</rank>
            </item>
          </items>
        </default_search>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="ipaddress">
              <rank>20</rank>
            </item>
            <item id="macaddress">
              <rank>30</rank>
            </item>
            <item id="ipgateway">
              <rank>40</rank>
            </item>
            <item id="ipmask">
              <rank>50</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="ipaddress">
              <rank>20</rank>
            </item>
            <item id="macaddress">
              <rank>30</rank>
            </item>
            <item id="comment">
              <rank>40</rank>
            </item>
            <item id="ipgateway">
              <rank>50</rank>
            </item>
            <item id="ipmask">
              <rank>60</rank>
            </item>
            <item id="speed">
              <rank>70</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="PhysicalInterface" _delta="define">
      <parent>IPInterface</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>physicalinterface</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
            <attribute id="connectableci_name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/interface.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="connectableci_id"/>
            <attribute id="connectableci_name"/>
          </attributes>
        </reconciliation>
        <obsolescence>
          <condition>connectableci_id_obsolescence_flag</condition>
        </obsolescence>
      </properties>
      <fields>
        <field id="connectableci_id" xsi:type="AttributeExternalKey">
          <sql>connectableci_id</sql>
          <target_class>ConnectableCI</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="connectableci_name" xsi:type="AttributeExternalField">
          <extkey_attcode>connectableci_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="vlans_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkPhysicalInterfaceToVLAN</linked_class>
          <ext_key_to_me>physicalinterface_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>vlan_id</ext_key_to_remote>
          <duplicates/>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="connectableci_id">
              <rank>20</rank>
            </item>
            <item id="ipaddress">
              <rank>30</rank>
            </item>
            <item id="macaddress">
              <rank>40</rank>
            </item>
            <item id="comment">
              <rank>50</rank>
            </item>
            <item id="ipgateway">
              <rank>60</rank>
            </item>
            <item id="ipmask">
              <rank>70</rank>
            </item>
            <item id="speed">
              <rank>80</rank>
            </item>
            <item id="vlans_list">
              <rank>90</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="ipaddress">
              <rank>10</rank>
            </item>
            <item id="macaddress">
              <rank>20</rank>
            </item>
            <item id="ipgateway">
              <rank>30</rank>
            </item>
            <item id="ipmask">
              <rank>40</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="ipaddress">
              <rank>10</rank>
            </item>
            <item id="macaddress">
              <rank>20</rank>
            </item>
            <item id="comment">
              <rank>30</rank>
            </item>
            <item id="ipgateway">
              <rank>40</rank>
            </item>
            <item id="ipmask">
              <rank>50</rank>
            </item>
            <item id="speed">
              <rank>60</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="lnkPhysicalInterfaceToVLAN" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <is_link>1</is_link>
        <category>bizmodel</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>lnkphysicalinterfacetovlan</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="physicalinterface_id"/>
            <attribute id="vlan_id"/>
          </attributes>
        </naming>
        <display_template/>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="physicalinterface_id"/>
            <attribute id="vlan_id"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="physicalinterface_id" xsi:type="AttributeExternalKey">
          <sql>physicalinterface_id</sql>
          <target_class>PhysicalInterface</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="physicalinterface_name" xsi:type="AttributeExternalField">
          <extkey_attcode>physicalinterface_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="physicalinterface_device_id" xsi:type="AttributeExternalField">
          <extkey_attcode>physicalinterface_id</extkey_attcode>
          <target_attcode>connectableci_id</target_attcode>
        </field>
        <field id="physicalinterface_device_name" xsi:type="AttributeExternalField">
          <extkey_attcode>physicalinterface_id</extkey_attcode>
          <target_attcode>connectableci_name</target_attcode>
        </field>
        <field id="vlan_id" xsi:type="AttributeExternalKey">
          <sql>vlan_id</sql>
          <target_class>VLAN</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="vlan_tag" xsi:type="AttributeExternalField">
          <extkey_attcode>vlan_id</extkey_attcode>
          <target_attcode>vlan_tag</target_attcode>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="physicalinterface_id">
              <rank>10</rank>
            </item>
            <item id="vlan_id">
              <rank>20</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="physicalinterface_id">
              <rank>10</rank>
            </item>
            <item id="vlan_id">
              <rank>20</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="physicalinterface_id">
              <rank>10</rank>
            </item>
            <item id="vlan_id">
              <rank>20</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="lnkConnectableCIToNetworkDevice" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <is_link>1</is_link>
        <category>bizmodel</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>lnkconnectablecitonetworkdevice</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="networkdevice_id"/>
            <attribute id="connectableci_id"/>
          </attributes>
        </naming>
        <display_template/>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="networkdevice_id"/>
            <attribute id="connectableci_id"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="networkdevice_id" xsi:type="AttributeExternalKey">
          <sql>networkdevice_id</sql>
          <target_class>NetworkDevice</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="networkdevice_name" xsi:type="AttributeExternalField">
          <extkey_attcode>networkdevice_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="connectableci_id" xsi:type="AttributeExternalKey">
          <sql>connectableci_id</sql>
          <target_class>ConnectableCI</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="connectableci_name" xsi:type="AttributeExternalField">
          <extkey_attcode>connectableci_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="network_port" xsi:type="AttributeString">
          <sql>network_port</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="device_port" xsi:type="AttributeString">
          <sql>device_port</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="connection_type" xsi:type="AttributeEnum">
          <values>
            <value id="uplink">uplink</value>
            <value id="downlink">downlink</value>
          </values>
          <sql>type</sql>
          <default_value>downlink</default_value>
          <is_null_allowed>false</is_null_allowed>
          <display_style>list</display_style>
        </field>
      </fields>
      <methods>
        <method id="AddConnectedNetworkDevice">
          <static>false</static>
          <access>protected</access>
          <type>Overload-cmdbAbstractObject</type>
          <code><![CDATA[	protected function AddConnectedNetworkDevice()
	{
		$oDevice = MetaModel::GetObject('ConnectableCI', $this->Get('connectableci_id'));
		if (is_object($oDevice) && (get_class($oDevice) == 'NetworkDevice'))
		{
			$sOQL = "SELECT  lnkConnectableCIToNetworkDevice WHERE connectableci_id = :device AND networkdevice_id = :network AND network_port = :nwport AND device_port = :devport";
			$oConnectionSet = new DBObjectSet(DBObjectSearch::FromOQL($sOQL),
							array(),
							array(
								'network' => $this->Get('connectableci_id'),
								'device' => $this->Get('networkdevice_id'),
								'devport' => $this->Get('network_port'),
								'nwport' => $this->Get('device_port'),
								)
			);	
			if ($oConnectionSet->Count() == 0)
			{
				$sLink = $this->Get('connection_type');
				$sConnLink = ($sLink == 'uplink') ? 'downlink' : 'uplink';

				$oNewLink = new lnkConnectableCIToNetworkDevice();
				$oNewLink->Set('networkdevice_id', $this->Get('connectableci_id'));
				$oNewLink->Set('connectableci_id', $this->Get('networkdevice_id'));
				$oNewLink->Set('network_port', $this->Get('device_port'));
				$oNewLink->Set('device_port', $this->Get('network_port'));
				$oNewLink->Set('connection_type', $sConnLink);
				$oNewLink->DBInsert();	
			}
		}
	}]]></code>
        </method>
        <method id="UpdateConnectedNetworkDevice">
          <static>false</static>
          <access>protected</access>
          <type>Overload-cmdbAbstractObject</type>
          <code><![CDATA[	protected function UpdateConnectedNetworkDevice()
	{
		$oDevice = MetaModel::GetObject('ConnectableCI', $this->Get('connectableci_id'));
		if (is_object($oDevice) && (get_class($oDevice) == 'NetworkDevice'))
		{
			// Note: in case a port has been changed, search with the original values
			$sOQL = "SELECT  lnkConnectableCIToNetworkDevice WHERE connectableci_id = :device AND networkdevice_id = :network AND network_port = :nwport AND device_port = :devport";
			$oConnectionSet = new DBObjectSet(DBObjectSearch::FromOQL($sOQL),
							array(),
							array(
								'network' => $this->Get('connectableci_id'),
								'device' => $this->Get('networkdevice_id'),
								'devport' => $this->GetOriginal('network_port'),
								'nwport' => $this->GetOriginal('device_port'),
								)
			);	
			$sLink = $this->Get('connection_type');
			$sConnLink = ($sLink == 'uplink') ? 'downlink' : 'uplink';

			// There should be one link - do it in a safe manner anyway
			while ($oConnection = $oConnectionSet->Fetch())
			{
				$oConnection->Set('connection_type', $sConnLink);
				$oConnection->Set('network_port', $this->Get('device_port'));
				$oConnection->Set('device_port', $this->Get('network_port'));
				$oConnection->DBUpdate();	
			}
		}
	}]]></code>
        </method>
        <method id="DeleteConnectedNetworkDevice">
          <static>false</static>
          <access>protected</access>
          <type>Overload-cmdbAbstractObject</type>
          <code><![CDATA[	protected function DeleteConnectedNetworkDevice()
	{
		// The device might be already deleted (reentrance in the current procedure when both device are NETWORK devices!)
		$oDevice = MetaModel::GetObject('ConnectableCI', $this->Get('connectableci_id'), false);
		if (is_object($oDevice) && (get_class($oDevice) == 'NetworkDevice'))
		{
			// Track and delete the counterpart link
			$sOQL = "SELECT  lnkConnectableCIToNetworkDevice WHERE connectableci_id = :device AND networkdevice_id = :network AND network_port = :nwport AND device_port = :devport";
			$oConnectionSet = new DBObjectSet(DBObjectSearch::FromOQL($sOQL),
							array(),
							array(
								'network' => $this->Get('connectableci_id'),
								'device' => $this->Get('networkdevice_id'),
								'devport' => $this->Get('network_port'),
								'nwport' => $this->Get('device_port'),
								)
			);
			// There should be one link - do it in a safe manner anyway
			while ($oConnection = $oConnectionSet->Fetch())
			{
				$oConnection->DBDelete();	
			}
		}	
	}]]></code>
        </method>
        <method id="AfterInsert">
          <static>false</static>
          <access>protected</access>
          <type>Overload-DBObject</type>
          <code><![CDATA[	protected function AfterInsert()
	{
		$this->AddConnectedNetworkDevice();
		parent::AfterInsert();
	}]]></code>
        </method>
        <method id="AfterUpdate">
          <static>false</static>
          <access>protected</access>
          <type>Overload-DBObject</type>
          <code><![CDATA[	protected function AfterUpdate()
	{
		$this->UpdateConnectedNetworkDevice();
		parent::AfterUpdate();
	}]]></code>
        </method>
        <method id="AfterDelete">
          <static>false</static>
          <access>protected</access>
          <type>Overload-DBObject</type>
          <code><![CDATA[	protected function AfterDelete()
	{
		$this->DeleteConnectedNetworkDevice();
		parent::AfterDelete();
	}]]></code>
        </method>
      </methods>
      <presentation>
        <details>
          <items>
            <item id="networkdevice_id">
              <rank>10</rank>
            </item>
            <item id="connectableci_id">
              <rank>20</rank>
            </item>
            <item id="network_port">
              <rank>30</rank>
            </item>
            <item id="device_port">
              <rank>40</rank>
            </item>
            <item id="connection_type">
              <rank>50</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="networkdevice_id">
              <rank>10</rank>
            </item>
            <item id="connectableci_id">
              <rank>20</rank>
            </item>
            <item id="network_port">
              <rank>30</rank>
            </item>
            <item id="device_port">
              <rank>40</rank>
            </item>
            <item id="connection_type">
              <rank>50</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="networkdevice_id">
              <rank>10</rank>
            </item>
            <item id="connectableci_id">
              <rank>20</rank>
            </item>
            <item id="network_port">
              <rank>30</rank>
            </item>
            <item id="device_port">
              <rank>40</rank>
            </item>
            <item id="connection_type">
              <rank>50</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="lnkApplicationSolutionToFunctionalCI" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <is_link>1</is_link>
        <category>bizmodel</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>lnkapplicationsolutiontofunctionalci</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="applicationsolution_id"/>
            <attribute id="functionalci_id"/>
          </attributes>
        </naming>
        <display_template/>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="applicationsolution_id"/>
            <attribute id="functionalci_id"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="applicationsolution_id" xsi:type="AttributeExternalKey">
          <sql>applicationsolution_id</sql>
          <target_class>ApplicationSolution</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="applicationsolution_name" xsi:type="AttributeExternalField">
          <extkey_attcode>applicationsolution_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="functionalci_id" xsi:type="AttributeExternalKey">
          <sql>functionalci_id</sql>
          <target_class>FunctionalCI</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="functionalci_name" xsi:type="AttributeExternalField">
          <extkey_attcode>functionalci_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="applicationsolution_id">
              <rank>10</rank>
            </item>
            <item id="functionalci_id">
              <rank>20</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="applicationsolution_id">
              <rank>10</rank>
            </item>
            <item id="functionalci_id">
              <rank>20</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="applicationsolution_id">
              <rank>10</rank>
            </item>
            <item id="functionalci_id">
              <rank>20</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="lnkApplicationSolutionToBusinessProcess" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <is_link>1</is_link>
        <category>bizmodel</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>lnkapplicationsolutiontobusinessprocess</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="businessprocess_id"/>
            <attribute id="applicationsolution_id"/>
          </attributes>
        </naming>
        <display_template/>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="businessprocess_id"/>
            <attribute id="applicationsolution_id"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="businessprocess_id" xsi:type="AttributeExternalKey">
          <sql>businessprocess_id</sql>
          <target_class>BusinessProcess</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="businessprocess_name" xsi:type="AttributeExternalField">
          <extkey_attcode>businessprocess_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="applicationsolution_id" xsi:type="AttributeExternalKey">
          <sql>applicationsolution_id</sql>
          <target_class>ApplicationSolution</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="applicationsolution_name" xsi:type="AttributeExternalField">
          <extkey_attcode>applicationsolution_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="businessprocess_id">
              <rank>10</rank>
            </item>
            <item id="applicationsolution_id">
              <rank>20</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="businessprocess_id">
              <rank>10</rank>
            </item>
            <item id="applicationsolution_id">
              <rank>20</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="businessprocess_id">
              <rank>10</rank>
            </item>
            <item id="applicationsolution_id">
              <rank>20</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="lnkPersonToTeam" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <is_link>1</is_link>
        <category>bizmodel</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>lnkpersontoteam</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="team_id"/>
            <attribute id="person_id"/>
          </attributes>
        </naming>
        <display_template/>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="team_id"/>
            <attribute id="person_id"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="team_id" xsi:type="AttributeExternalKey">
          <sql>team_id</sql>
          <target_class>Team</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="team_name" xsi:type="AttributeExternalField">
          <extkey_attcode>team_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="person_id" xsi:type="AttributeExternalKey">
          <sql>person_id</sql>
          <target_class>Person</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="person_name" xsi:type="AttributeExternalField">
          <extkey_attcode>person_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="role_id" xsi:type="AttributeExternalKey">
          <sql>role_id</sql>
          <target_class>ContactType</target_class>
          <is_null_allowed>true</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="role_name" xsi:type="AttributeExternalField">
          <extkey_attcode>role_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="team_id">
              <rank>10</rank>
            </item>
            <item id="person_id">
              <rank>20</rank>
            </item>
            <item id="role_id">
              <rank>30</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="team_id">
              <rank>10</rank>
            </item>
            <item id="person_id">
              <rank>20</rank>
            </item>
            <item id="role_id">
              <rank>30</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="team_id">
              <rank>10</rank>
            </item>
            <item id="person_id">
              <rank>20</rank>
            </item>
            <item id="role_id">
              <rank>30</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="Group" _delta="define">
      <parent>cmdbAbstractObject</parent>
      <properties>
        <category>bizmodel,searchable,configmgmt</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>group</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <icon>images/group.png</icon>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="owner_name"/>
          </attributes>
        </reconciliation>
        <obsolescence>
          <condition>status='obsolete'</condition>
        </obsolescence>
      </properties>
      <fields>
        <field id="name" xsi:type="AttributeString">
          <sql>name</sql>
          <default_value/>
          <is_null_allowed>false</is_null_allowed>
        </field>
        <field id="status" xsi:type="AttributeEnum">
          <values>
            <value id="production">production</value>
            <value id="implementation">implementation</value>
            <value id="obsolete">obsolete</value>
          </values>
          <sql>status</sql>
          <default_value>implementation</default_value>
          <is_null_allowed>false</is_null_allowed>
          <display_style>list</display_style>
        </field>
        <field id="org_id" xsi:type="AttributeExternalKey">
          <sql>org_id</sql>
          <target_class>Organization</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="owner_name" xsi:type="AttributeExternalField">
          <extkey_attcode>org_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="description" xsi:type="AttributeText">
          <sql>description</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="type" xsi:type="AttributeString">
          <sql>type</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
        <field id="parent_id" xsi:type="AttributeHierarchicalKey">
          <dependencies>
            <attribute id="org_id"/>
          </dependencies>
          <sql>parent_id</sql>
          <is_null_allowed>true</is_null_allowed>
          <on_target_delete>DEL_MANUAL</on_target_delete>
        </field>
        <field id="parent_name" xsi:type="AttributeExternalField">
          <extkey_attcode>parent_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="ci_list" xsi:type="AttributeLinkedSetIndirect">
          <linked_class>lnkGroupToCI</linked_class>
          <ext_key_to_me>group_id</ext_key_to_me>
          <count_min>0</count_min>
          <count_max>0</count_max>
          <ext_key_to_remote>ci_id</ext_key_to_remote>
          <duplicates/>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="status">
              <rank>20</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
            <item id="type">
              <rank>40</rank>
            </item>
            <item id="description">
              <rank>50</rank>
            </item>
            <item id="parent_id">
              <rank>60</rank>
            </item>
            <item id="ci_list">
              <rank>70</rank>
            </item>
          </items>
        </details>
        <default_search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="type">
              <rank>20</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
          </items>
        </default_search>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="status">
              <rank>20</rank>
            </item>
            <item id="org_id">
              <rank>30</rank>
            </item>
            <item id="type">
              <rank>40</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="status">
              <rank>10</rank>
            </item>
            <item id="org_id">
              <rank>20</rank>
            </item>
            <item id="type">
              <rank>30</rank>
            </item>
            <item id="parent_id">
              <rank>40</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
    <class id="lnkGroupToCI" _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>lnkgrouptoci</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <attributes>
            <attribute id="group_id"/>
          </attributes>
        </naming>
        <display_template/>
        <icon/>
        <reconciliation>
          <attributes>
            <attribute id="group_id"/>
            <attribute id="ci_id"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
        <field id="group_id" xsi:type="AttributeExternalKey">
          <sql>group_id</sql>
          <target_class>Group</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="group_name" xsi:type="AttributeExternalField">
          <extkey_attcode>group_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="ci_id" xsi:type="AttributeExternalKey">
          <sql>ci_id</sql>
          <target_class>FunctionalCI</target_class>
          <is_null_allowed>false</is_null_allowed>
          <on_target_delete>DEL_AUTO</on_target_delete>
        </field>
        <field id="ci_name" xsi:type="AttributeExternalField">
          <extkey_attcode>ci_id</extkey_attcode>
          <target_attcode>name</target_attcode>
        </field>
        <field id="reason" xsi:type="AttributeString">
          <sql>reason</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="group_id">
              <rank>10</rank>
            </item>
            <item id="ci_id">
              <rank>20</rank>
            </item>
            <item id="reason">
              <rank>30</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="group_id">
              <rank>10</rank>
            </item>
            <item id="ci_id">
              <rank>20</rank>
            </item>
            <item id="reason">
              <rank>30</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="group_id">
              <rank>10</rank>
            </item>
            <item id="ci_id">
              <rank>20</rank>
            </item>
            <item id="reason">
              <rank>30</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
  </classes>
  <menus>
    <menu id="DataAdministration" xsi:type="MenuGroup" _delta="define">
      <rank>70</rank>
      <enable_class>Organization</enable_class>
      <enable_action>UR_ACTION_MODIFY</enable_action>
      <enable_permission>UR_ALLOWED_YES</enable_permission>
      <enable_stimulus/>
    </menu>
    <menu id="CSVImport" xsi:type="WebPageMenuNode" _delta="define">
      <rank>10</rank>
      <parent>DataAdministration</parent>
      <url>$pages/csvimport.php</url>
    </menu>
    <menu id="Audit" xsi:type="WebPageMenuNode" _delta="define">
      <rank>33</rank>
      <parent>DataAdministration</parent>
      <url>$pages/audit.php</url>
    </menu>
    <menu id="Catalogs" xsi:type="TemplateMenuNode" _delta="define">
      <rank>50</rank>
      <parent>DataAdministration</parent>
      <template_file/>
    </menu>
    <menu id="Organization" xsi:type="OQLMenuNode" _delta="define">
      <rank>10</rank>
      <parent>Catalogs</parent>
      <oql>SELECT Organization</oql>
      <do_search>1</do_search>
    </menu>
    <menu id="ConfigManagement" xsi:type="MenuGroup" _delta="define">
      <rank>20</rank>
    </menu>
    <menu id="ConfigManagementOverview" xsi:type="DashboardMenuNode" _delta="define">
      <rank>1</rank>
      <parent>ConfigManagement</parent>
      <definition>
        <layout>DashboardLayoutOneCol</layout>
        <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>3</rank>
                <class>Server</class>
              </dashlet>
              <dashlet id="3" xsi:type="DashletBadge">
                <rank>4</rank>
                <class>NetworkDevice</class>
              </dashlet>
            </dashlets>
          </cell>
          <cell id="3">
            <rank>3</rank>
            <dashlets>
              <dashlet id="4" xsi:type="DashletHeaderStatic">
                <rank>0</rank>
                <title>Menu:ConfigManagement:SWAndApps</title>
                <icon>itop-config-mgmt/images/application.png</icon>
              </dashlet>
              <dashlet id="5" xsi:type="DashletBadge">
                <rank>1</rank>
                <class>Middleware</class>
              </dashlet>
              <dashlet id="6" xsi:type="DashletBadge">
                <rank>2</rank>
                <class>DBServer</class>
              </dashlet>
              <dashlet id="7" xsi:type="DashletBadge">
                <rank>3</rank>
                <class>WebServer</class>
              </dashlet>
              <dashlet id="8" xsi:type="DashletBadge">
                <rank>4</rank>
                <class>PCSoftware</class>
              </dashlet>
              <dashlet id="9" xsi:type="DashletBadge">
                <rank>5</rank>
                <class>OtherSoftware</class>
              </dashlet>
              <dashlet id="10" xsi:type="DashletBadge">
                <rank>6</rank>
                <class>MiddlewareInstance</class>
              </dashlet>
              <dashlet id="11" xsi:type="DashletBadge">
                <rank>7</rank>
                <class>DatabaseSchema</class>
              </dashlet>
              <dashlet id="12" xsi:type="DashletBadge">
                <rank>8</rank>
                <class>WebApplication</class>
              </dashlet>
              <dashlet id="13" xsi:type="DashletBadge">
                <rank>9</rank>
                <class>Patch</class>
              </dashlet>
              <dashlet id="14" xsi:type="DashletBadge">
                <rank>10</rank>
                <class>Licence</class>
              </dashlet>
            </dashlets>
          </cell>
          <cell id="4">
            <rank>4</rank>
            <dashlets>
              <dashlet id="15" xsi:type="DashletHeaderStatic">
                <rank>0</rank>
                <title>Menu:ConfigManagement:Misc</title>
                <icon>itop-config-mgmt/images/subnet.png</icon>
              </dashlet>
              <dashlet id="16" xsi:type="DashletBadge">
                <rank>1</rank>
                <class>NetworkInterface</class>
              </dashlet>
              <dashlet id="17" xsi:type="DashletBadge">
                <rank>2</rank>
                <class>Subnet</class>
              </dashlet>
              <dashlet id="vlan" xsi:type="DashletBadge">
                <rank>2.1</rank>
                <class>VLAN</class>
              </dashlet>
              <dashlet id="18" xsi:type="DashletBadge">
                <rank>4</rank>
                <class>BusinessProcess</class>
              </dashlet>
              <dashlet id="19" xsi:type="DashletBadge">
                <rank>5</rank>
                <class>ApplicationSolution</class>
              </dashlet>
              <dashlet id="20" xsi:type="DashletBadge">
                <rank>6</rank>
                <class>Group</class>
              </dashlet>
            </dashlets>
          </cell>
        </cells>
      </definition>
    </menu>
    <menu id="Contact" xsi:type="DashboardMenuNode" _delta="define">
      <rank>2</rank>
      <parent>ConfigManagement</parent>
      <definition>
        <layout>DashboardLayoutOneCol</layout>
        <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>
      </definition>
    </menu>
    <menu id="NewContact" xsi:type="NewObjectMenuNode" _delta="define">
      <rank>3</rank>
      <parent>Contact</parent>
      <class>Contact</class>
    </menu>
    <menu id="SearchContacts" xsi:type="SearchMenuNode" _delta="define">
      <rank>4</rank>
      <parent>Contact</parent>
      <class>Contact</class>
    </menu>
    <menu id="Location" xsi:type="OQLMenuNode" _delta="define">
      <rank>3</rank>
      <parent>ConfigManagement</parent>
      <oql>SELECT Location</oql>
      <do_search>1</do_search>
    </menu>
    <menu id="NewCI" xsi:type="NewObjectMenuNode" _delta="define">
      <rank>4</rank>
      <parent>ConfigManagement</parent>
      <class>FunctionalCI</class>
    </menu>
    <menu id="SearchCIs" xsi:type="SearchMenuNode" _delta="define">
      <rank>5</rank>
      <parent>ConfigManagement</parent>
      <class>FunctionalCI</class>
    </menu>
    <menu id="Document" xsi:type="OQLMenuNode" _delta="define">
      <rank>6</rank>
      <parent>ConfigManagement</parent>
      <oql>SELECT Document</oql>
      <do_search>1</do_search>
    </menu>
    <menu id="Software" xsi:type="OQLMenuNode" _delta="define">
      <rank>7</rank>
      <parent>ConfigManagement</parent>
      <oql>SELECT Software</oql>
      <do_search>1</do_search>
    </menu>
    <menu id="Group" xsi:type="OQLMenuNode" _delta="define">
      <rank>8</rank>
      <parent>ConfigManagement</parent>
      <oql>SELECT Group</oql>
      <do_search>1</do_search>
    </menu>
    <menu id="Typology" xsi:type="DashboardMenuNode" _delta="define">
      <rank>80</rank>
      <parent>Catalogs</parent>
      <definition>
        <layout>DashboardLayoutOneCol</layout>
        <title>Menu:ConfigManagement:Typology</title>
        <cells>
          <cell id="0">
            <rank>0</rank>
            <dashlets>
              <dashlet id="1" xsi:type="DashletHeaderStatic">
                <rank>0</rank>
                <title>Menu:ConfigManagement:Typology</title>
                <icon>itop-config-mgmt/images/typology.png</icon>
              </dashlet>
              <dashlet id="2" xsi:type="DashletBadge">
                <rank>1</rank>
                <class>Brand</class>
              </dashlet>
              <dashlet id="3" xsi:type="DashletBadge">
                <rank>2</rank>
                <class>Model</class>
              </dashlet>
              <dashlet id="4" xsi:type="DashletBadge">
                <rank>3</rank>
                <class>OSFamily</class>
              </dashlet>
              <dashlet id="5" xsi:type="DashletBadge">
                <rank>4</rank>
                <class>OSVersion</class>
              </dashlet>
              <dashlet id="6" xsi:type="DashletBadge">
                <rank>5</rank>
                <class>IOSVersion</class>
              </dashlet>
              <dashlet id="7" xsi:type="DashletBadge">
                <rank>6</rank>
                <class>NetworkDeviceType</class>
              </dashlet>
              <dashlet id="9" xsi:type="DashletBadge">
                <rank>8</rank>
                <class>ContactType</class>
              </dashlet>
              <dashlet id="10" xsi:type="DashletBadge">
                <rank>9</rank>
                <class>DocumentType</class>
              </dashlet>
            </dashlets>
          </cell>
        </cells>
      </definition>
    </menu>
    <menu id="TagAdminMenu" xsi:type="WebPageMenuNode" _delta="define">
      <rank>100</rank>
      <parent>Catalogs</parent>
      <url>$pages/tagadmin.php</url>
      <enable_class>TagSetFieldData</enable_class>
      <enable_action>UR_ACTION_MODIFY</enable_action>
    </menu>
  </menus>
</itop_design>
