Files
iTop/datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml
xavier.guiboud-ribaud@combodo.com 585072a478 5874
Change description of parameters and functions
Add comments in twig for clarity
Add default popular category to UserRequest and FunctionalCI classes
Add comments to tests for clarity
2024-11-22 14:02:39 +01:00

7468 lines
231 KiB
XML
Executable File

<?xml version="1.0" encoding="UTF-8"?>
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.3">
<classes>
<class id="FunctionalCI" _delta="define">
<parent>cmdbAbstractObject</parent>
<properties>
<category>bizmodel,searchable,popular</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>
<complementary_attributes>
<attribute id="organization_name"/>
</complementary_attributes>
</naming>
<style>
<icon>../../images/icons/icons8-server.svg</icon>
</style>
<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">
<sort_type>rank</sort_type>
<values>
<value id="high">
<code>high</code>
<rank>10</rank>
</value>
<value id="medium">
<code>medium</code>
<rank>20</rank>
</value>
<value id="low">
<code>low</code>
<rank>30</rank>
</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="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>
</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>
</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="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('Class:FunctionalCI/Tab:OpenedTickets', Dict::S('Class:FunctionalCI/Tab:OpenedTickets').$sCount);
foreach ($aSearches as $sSubClass => $oSearch)
{
$sBlockId = __class__.'_opened_'.$sSubClass;
$oBlock = new DisplayBlock($oSearch, 'list', false);
$oBlock->Display($oPage, $sBlockId, array(
'menu' => false,
'panel_title' => MetaModel::GetName($sSubClass),
'panel_icon' => MetaModel::GetClassIcon($sSubClass, false)
)
);
}
}
}]]></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>
<complementary_attributes>
<attribute id="organization_name"/>
<attribute id="location_name"/>
</complementary_attributes>
</naming>
<fields_semantic>
<state_attribute>status</state_attribute>
</fields_semantic>
<style>
<icon>../../images/icons/icons8-server.svg</icon>
</style>
<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">
<sort_type>rank</sort_type>
<values>
<value id="production">
<code>production</code>
<rank>30</rank>
</value>
<value id="implementation">
<code>implementation</code>
<rank>20</rank>
</value>
<value id="stock">
<code>stock</code>
<rank>10</rank>
</value>
<value id="obsolete">
<code>obsolete</code>
<rank>40</rank>
</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>
<complementary_attributes>
<attribute id="organization_name"/>
<attribute id="location_name"/>
</complementary_attributes>
</naming>
<style>
<icon>../../images/icons/icons8-server.svg</icon>
</style>
<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/>
</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>
<complementary_attributes>
<attribute id="organization_name"/>
<attribute id="location_name"/>
</complementary_attributes>
</naming>
<style>
<icon>../../images/icons/icons8-server.svg</icon>
</style>
<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>
<complementary_attributes>
<attribute id="organization_name"/>
<attribute id="networkdevicetype_name"/>
</complementary_attributes>
</naming>
<style>
<icon>../../images/icons/icons8-switch.svg</icon>
</style>
<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="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>
<summary>
<items>
<item id="org_id">
<rank>10</rank>
</item>
<item id="business_criticity">
<rank>20</rank>
</item>
<item id="location_id">
<rank>30</rank>
</item>
<item id="rack_id">
<rank>40</rank>
</item>
<item id="networkdevicetype_id">
<rank>60</rank>
</item>
<item id="model_id">
<rank>80</rank>
</item>
</items>
</summary>
</presentation>
<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>
<complementary_attributes>
<attribute id="organization_name"/>
<attribute id="location_name"/>
</complementary_attributes>
</naming>
<style>
<icon>../../images/icons/icons8-server.svg</icon>
</style>
<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="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>
<summary>
<items>
<item id="org_id">
<rank>10</rank>
</item>
<item id="business_criticity">
<rank>20</rank>
</item>
<item id="location_id">
<rank>30</rank>
</item>
<item id="rack_id">
<rank>40</rank>
</item>
<item id="enclosure_id">
<rank>50</rank>
</item>
<item id="model_id">
<rank>60</rank>
</item>
</items>
</summary>
</presentation>
<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>
<complementary_attributes>
<attribute id="organization_name"/>
</complementary_attributes>
</naming>
<fields_semantic>
<state_attribute>status</state_attribute>
</fields_semantic>
<style>
<icon>../../images/icons/icons8-application-window.svg</icon>
</style>
<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">
<code>active</code>
<style>
<main_color>$ibo-lifecycle-active-state-primary-color</main_color>
<complementary_color>$ibo-lifecycle-active-state-secondary-color</complementary_color>
<decoration_classes/>
</style>
</value>
<value id="inactive">
<code>inactive</code>
<style>
<main_color>$ibo-lifecycle-frozen-state-primary-color</main_color>
<complementary_color>$ibo-lifecycle-frozen-state-secondary-color</complementary_color>
<decoration_classes/>
</style>
</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>
</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>
<summary>
<items>
<item id="org_id">
<rank>10</rank>
</item>
<item id="business_criticity">
<rank>20</rank>
</item>
<item id="description">
<rank>30</rank>
</item>
</items>
</summary>
</presentation>
<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>
<complementary_attributes>
<attribute id="organization_name"/>
</complementary_attributes>
</naming>
<fields_semantic>
<state_attribute>status</state_attribute>
</fields_semantic>
<style>
<icon>../../images/icons/icons8-process-improvement.svg</icon>
</style>
<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">
<code>active</code>
<style>
<main_color>$ibo-lifecycle-active-state-primary-color</main_color>
<complementary_color>$ibo-lifecycle-active-state-secondary-color</complementary_color>
<decoration_classes/>
</style>
</value>
<value id="inactive">
<code>inactive</code>
<style>
<main_color>$ibo-lifecycle-frozen-state-primary-color</main_color>
<complementary_color>$ibo-lifecycle-frozen-state-secondary-color</complementary_color>
<decoration_classes/>
</style>
</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>
<summary>
<items>
<item id="org_id">
<rank>10</rank>
</item>
<item id="business_criticity">
<rank>20</rank>
</item>
<item id="description">
<rank>30</rank>
</item>
</items>
</summary>
</presentation>
<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>
<complementary_attributes>
<attribute id="organization_name"/>
</complementary_attributes>
</naming>
<fields_semantic>
<state_attribute>status</state_attribute>
</fields_semantic>
<style>
<icon>../../images/icons/icons8-software-instance.svg</icon>
</style>
<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">
<code>active</code>
<style>
<main_color>$ibo-lifecycle-active-state-primary-color</main_color>
<complementary_color>$ibo-lifecycle-active-state-secondary-color</complementary_color>
<decoration_classes/>
</style>
</value>
<value id="inactive">
<code>inactive</code>
<style>
<main_color>$ibo-lifecycle-frozen-state-primary-color</main_color>
<complementary_color>$ibo-lifecycle-frozen-state-secondary-color</complementary_color>
<decoration_classes/>
</style>
</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/>
</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>
<complementary_attributes>
<attribute id="organization_name"/>
</complementary_attributes>
</naming>
<style>
<icon>../../images/icons/icons8-automatic.svg</icon>
</style>
<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>
</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>
<summary>
<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>
<item id="softwarelicence_id">
<rank>50</rank>
</item>
<item id="description">
<rank>60</rank>
</item>
</items>
</summary>
</presentation>
<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>
<complementary_attributes>
<attribute id="organization_name"/>
</complementary_attributes>
</naming>
<style>
<icon>../../images/icons/icons8-database.svg</icon>
</style>
<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>
</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>
<summary>
<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>
<item id="softwarelicence_id">
<rank>50</rank>
</item>
<item id="description">
<rank>60</rank>
</item>
</items>
</summary>
</presentation>
<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>
<complementary_attributes>
<attribute id="organization_name"/>
</complementary_attributes>
</naming>
<style>
<icon>../../images/icons/icons8-server-custom.svg</icon>
</style>
<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>
</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>
<summary>
<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>
<item id="softwarelicence_id">
<rank>50</rank>
</item>
<item id="description">
<rank>60</rank>
</item>
</items>
</summary>
</presentation>
<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>
<complementary_attributes>
<attribute id="organization_name"/>
</complementary_attributes>
</naming>
<style>
<icon>../../images/icons/icons8-desktop.svg</icon>
</style>
<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>
</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>
<summary>
<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>
<item id="softwarelicence_id">
<rank>50</rank>
</item>
<item id="description">
<rank>60</rank>
</item>
</items>
</summary>
</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>
<complementary_attributes>
<attribute id="organization_name"/>
</complementary_attributes>
</naming>
<style>
<icon>../../images/icons/icons8-software-other.svg</icon>
</style>
<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>
</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>
<summary>
<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>
<item id="softwarelicence_id">
<rank>50</rank>
</item>
<item id="description">
<rank>60</rank>
</item>
</items>
</summary>
</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>
<complementary_attributes>
<attribute id="organization_name"/>
<attribute id="middleware_name"/>
</complementary_attributes>
</naming>
<style>
<icon>../../images/icons/icons8-automatic.svg</icon>
</style>
<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>
</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>
<summary>
<items>
<item id="org_id">
<rank>10</rank>
</item>
<item id="middleware_id">
<rank>20</rank>
</item>
<item id="business_criticity">
<rank>30</rank>
</item>
<item id="description">
<rank>40</rank>
</item>
</items>
</summary>
</presentation>
<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>
<complementary_attributes>
<attribute id="organization_name"/>
<attribute id="dbserver_name"/>
</complementary_attributes>
</naming>
<style>
<icon>../../images/icons/icons8-database-custom.svg</icon>
</style>
<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>
</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>
<summary>
<items>
<item id="org_id">
<rank>10</rank>
</item>
<item id="dbserver_id">
<rank>20</rank>
</item>
<item id="business_criticity">
<rank>30</rank>
</item>
<item id="description">
<rank>40</rank>
</item>
</items>
</summary>
</presentation>
<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>
<complementary_attributes>
<attribute id="organization_name"/>
<attribute id="webserver_name"/>
</complementary_attributes>
</naming>
<style>
<icon>../../images/icons/icons8-web.svg</icon>
</style>
<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>
</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="webserver_id">
<rank>30</rank>
</item>
<item id="business_criticity">
<rank>40</rank>
</item>
<item id="move2production">
<rank>50</rank>
</item>
</items>
</search>
<list>
<items>
<item id="org_id">
<rank>10</rank>
</item>
<item id="webserver_id">
<rank>20</rank>
</item>
<item id="business_criticity">
<rank>30</rank>
</item>
<item id="move2production">
<rank>40</rank>
</item>
</items>
</list>
<summary>
<items>
<item id="org_id">
<rank>10</rank>
</item>
<item id="webserver_id">
<rank>20</rank>
</item>
<item id="url">
<rank>30</rank>
</item>
<item id="business_criticity">
<rank>40</rank>
</item>
<item id="description">
<rank>50</rank>
</item>
</items>
</summary>
</presentation>
<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>
<complementary_attributes>
<attribute id="vendor"/>
<attribute id="type"/>
</complementary_attributes>
</naming>
<style>
<icon>../../images/icons/icons8-software.svg</icon>
</style>
<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">
<sort_type>label</sort_type>
<values>
<value id="Middleware">
<code>Middleware</code>
</value>
<value id="DBServer">
<code>DBServer</code>
</value>
<value id="PCSoftware">
<code>PCSoftware</code>
</value>
<value id="OtherSoftware">
<code>OtherSoftware</code>
</value>
<value id="WebServer">
<code>WebServer</code>
</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="version">
<rank>20</rank>
</item>
<item id="vendor">
<rank>30</rank>
</item>
<item id="type">
<rank>40</rank>
</item>
<item id="documents_list">
<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="type">
<rank>20</rank>
</item>
</items>
</list>
<summary>
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="version">
<rank>10</rank>
</item>
<item id="vendor">
<rank>20</rank>
</item>
<item id="type">
<rank>30</rank>
</item>
</items>
</summary>
</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>
<style>
<icon>../../images/icons/icons8-bandage.svg</icon>
</style>
<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>
<complementary_attributes>
<attribute id="osversion_name"/>
</complementary_attributes>
</naming>
<style>
<icon>../../images/icons/icons8-bandage.svg</icon>
</style>
<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="osversion_id">
<rank>40</rank>
</item>
<item id="description">
<rank>50</rank>
</item>
</items>
</details>
<search>
<items>
<item id="name">
<rank>10</rank>
</item>
<item id="osversion_id">
<rank>20</rank>
</item>
<item id="description">
<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>
<summary>
<items>
<item id="osversion_id">
<rank>10</rank>
</item>
<item id="description">
<rank>20</rank>
</item>
</items>
</summary>
</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>
<complementary_attributes>
<attribute id="software_name"/>
</complementary_attributes>
</naming>
<style>
<icon>../../images/icons/icons8-bandage.svg</icon>
</style>
<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>
<summary>
<items>
<item id="software_id">
<rank>10</rank>
</item>
<item id="description">
<rank>20</rank>
</item>
</items>
</summary>
</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>
<complementary_attributes>
<attribute id="organization_name"/>
</complementary_attributes>
</naming>
<style>
<icon>../../images/icons/icons8-licence.svg</icon>
</style>
<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">
<code>yes</code>
</value>
<value id="no">
<code>no</code>
</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>
<complementary_attributes>
<attribute id="organization_name"/>
<attribute id="osversion_name"/>
</complementary_attributes>
</naming>
<style>
<icon>../../images/icons/icons8-licence.svg</icon>
</style>
<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>
<summary>
<items>
<item id="osversion_id">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="description">
<rank>30</rank>
</item>
</items>
</summary>
</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>
<complementary_attributes>
<attribute id="organization_name"/>
<attribute id="software_name"/>
</complementary_attributes>
</naming>
<style>
<icon>../../images/icons/icons8-software-license.svg</icon>
</style>
<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>
<summary>
<items>
<item id="software_id">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="description">
<rank>40</rank>
</item>
<item id="licence_key">
<rank>70</rank>
</item>
</items>
</summary>
</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="document_name"/>
<attribute id="licence_name"/>
</attributes>
</naming>
<style>
<icon/>
</style>
<reconciliation>
<attributes>
<attribute id="licence_id"/>
<attribute id="document_id"/>
</attributes>
</reconciliation>
<uniqueness_rules>
<rule id="no_duplicate">
<attributes>
<attribute id="document_id"/>
<attribute id="licence_id"/>
</attributes>
<filter><![CDATA[]]></filter>
<disabled>false</disabled>
<is_blocking>true</is_blocking>
</rule>
</uniqueness_rules>
</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="document_id">
<rank>10</rank>
</item>
<item id="licence_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>
<rank>20</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>
<complementary_attributes>
<attribute id="osfamily_name"/>
</complementary_attributes>
</naming>
<style>
<icon/>
</style>
<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>
<style>
<icon/>
</style>
<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>
<fields_semantic>
<image_attribute>logo</image_attribute>
</fields_semantic>
<style>
<icon/>
</style>
<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="logo" 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>
<is_null_allowed>true</is_null_allowed>
</field>
<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="logo">
<rank>20</rank>
</item>
<item id="physicaldevices_list">
<rank>30</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>
<summary>
<items>
<item id="name">
<rank>10</rank>
</item>
</items>
</summary>
</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>
<complementary_attributes>
<attribute id="brand_name"/>
<attribute id="type"/>
</complementary_attributes>
</naming>
<fields_semantic>
<image_attribute>picture</image_attribute>
</fields_semantic>
<style>
<icon/>
</style>
<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="picture" xsi:type="AttributeImage">
<display_max_width>256</display_max_width>
<display_max_height>256</display_max_height>
<storage_max_width>512</storage_max_width>
<storage_max_height>512</storage_max_height>
<is_null_allowed>true</is_null_allowed>
</field>
<field id="type" xsi:type="AttributeEnum">
<sort_type>label</sort_type>
<values>
<value id="NetworkDevice">
<code>NetworkDevice</code>
</value>
<value id="Server">
<code>Server</code>
</value>
<value id="SANSwitch">
<code>SANSwitch</code>
</value>
<value id="StorageSystem">
<code>StorageSystem</code>
</value>
<value id="Rack">
<code>Rack</code>
</value>
<value id="Enclosure">
<code>Enclosure</code>
</value>
<value id="PC">
<code>PC</code>
</value>
<value id="Tablet">
<code>Tablet</code>
</value>
<value id="Phone">
<code>Phone</code>
</value>
<value id="MobilePhone">
<code>MobilePhone</code>
</value>
<value id="Printer">
<code>Printer</code>
</value>
<value id="DiskArray">
<code>DiskArray</code>
</value>
<value id="NAS">
<code>NAS</code>
</value>
<value id="TapeLibrary">
<code>TapeLibrary</code>
</value>
<value id="IPPhone">
<code>IPPhone</code>
</value>
<value id="Peripheral">
<code>Peripheral</code>
</value>
<value id="PowerSource">
<code>PowerSource</code>
</value>
<value id="PDU">
<code>PDU</code>
</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="picture">
<rank>30</rank>
</item>
<item id="type">
<rank>40</rank>
</item>
<item id="physicaldevices_list">
<rank>50</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>
<summary>
<items>
<item id="brand_id">
<rank>10</rank>
</item>
<item id="type">
<rank>20</rank>
</item>
<item id="picture">
<rank>30</rank>
</item>
</items>
</summary>
</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>
<style>
<icon/>
</style>
<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>
<style>
<icon/>
</style>
<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="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="contact_name"/>
<attribute id="functionalci_name"/>
</attributes>
</naming>
<style>
<icon/>
</style>
<reconciliation>
<attributes>
<attribute id="functionalci_id"/>
<attribute id="contact_id"/>
</attributes>
</reconciliation>
<uniqueness_rules>
<rule id="no_duplicate">
<attributes>
<attribute id="contact_id"/>
<attribute id="functionalci_id"/>
</attributes>
<filter><![CDATA[]]></filter>
<disabled>false</disabled>
<is_blocking>true</is_blocking>
</rule>
</uniqueness_rules>
</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="contact_id">
<rank>10</rank>
</item>
<item id="functionalci_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="contact_id">
<rank>10</rank>
</item>
<item id="functionalci_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="document_name"/>
<attribute id="patch_name"/>
</attributes>
</naming>
<style>
<icon/>
</style>
<reconciliation>
<attributes>
<attribute id="patch_id"/>
<attribute id="document_id"/>
</attributes>
</reconciliation>
<uniqueness_rules>
<rule id="no_duplicate">
<attributes>
<attribute id="document_id"/>
<attribute id="patch_id"/>
</attributes>
<filter><![CDATA[]]></filter>
<disabled>false</disabled>
<is_blocking>true</is_blocking>
</rule>
</uniqueness_rules>
</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="document_id">
<rank>10</rank>
</item>
<item id="patch_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="softwareinstance_name"/>
<attribute id="softwarepatch_name"/>
</attributes>
</naming>
<style>
<icon/>
</style>
<reconciliation>
<attributes>
<attribute id="softwarepatch_id"/>
<attribute id="softwareinstance_id"/>
</attributes>
</reconciliation>
<uniqueness_rules>
<rule id="no_duplicate">
<attributes>
<attribute id="softwareinstance_id"/>
<attribute id="softwarepatch_id"/>
</attributes>
<filter><![CDATA[]]></filter>
<disabled>false</disabled>
<is_blocking>true</is_blocking>
</rule>
</uniqueness_rules>
</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="softwareinstance_id">
<rank>10</rank>
</item>
<item id="softwarepatch_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="functionalci_name"/>
<attribute id="ospatch_name"/>
</attributes>
</naming>
<style>
<icon/>
</style>
<reconciliation>
<attributes>
<attribute id="ospatch_id"/>
<attribute id="functionalci_id"/>
</attributes>
</reconciliation>
<uniqueness_rules>
<rule id="no_duplicate">
<attributes>
<attribute id="functionalci_id"/>
<attribute id="ospatch_id"/>
</attributes>
<filter><![CDATA[]]></filter>
<disabled>false</disabled>
<is_blocking>true</is_blocking>
</rule>
</uniqueness_rules>
</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="functionalci_id">
<rank>10</rank>
</item>
<item id="ospatch_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="document_name"/>
<attribute id="software_name"/>
</attributes>
</naming>
<style>
<icon/>
</style>
<reconciliation>
<attributes>
<attribute id="software_id"/>
<attribute id="document_id"/>
</attributes>
</reconciliation>
<uniqueness_rules>
<rule id="no_duplicate">
<attributes>
<attribute id="document_id"/>
<attribute id="software_id"/>
</attributes>
<filter><![CDATA[]]></filter>
<disabled>false</disabled>
<is_blocking>true</is_blocking>
</rule>
</uniqueness_rules>
</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="document_id">
<rank>10</rank>
</item>
<item id="software_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="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="document_name"/>
<attribute id="functionalci_name"/>
</attributes>
</naming>
<style>
<icon/>
</style>
<reconciliation>
<attributes>
<attribute id="functionalci_id"/>
<attribute id="document_id"/>
</attributes>
</reconciliation>
<uniqueness_rules>
<rule id="no_duplicate">
<attributes>
<attribute id="document_id"/>
<attribute id="functionalci_id"/>
</attributes>
<filter><![CDATA[]]></filter>
<disabled>false</disabled>
<is_blocking>true</is_blocking>
</rule>
</uniqueness_rules>
</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="document_id">
<rank>10</rank>
</item>
<item id="functionalci_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>
<complementary_attributes>
<attribute id="org_name"/>
<attribute id="subnet_name"/>
</complementary_attributes>
</naming>
<style>
<icon>../../images/icons/icons8-network.svg</icon>
</style>
<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);
$bIsCreation = ($this->GetKey() != -1)? false : true;
if (!$bIsCreation) {
$oPage->SetCurrentTab('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,
'panel_title' => MetaModel::GetName('IPInterface'),
'panel_icon' => MetaModel::GetClassIcon('IPInterface', 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('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);
}
$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>
<summary>
<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>
</summary>
</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>
<complementary_attributes>
<attribute id="org_name"/>
</complementary_attributes>
</naming>
<style>
<icon>../../images/icons/icons8-hierarchy.svg</icon>
</style>
<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>
<summary>
<items>
<item id="org_id">
<rank>10</rank>
</item>
<item id="description">
<rank>20</rank>
</item>
</items>
</summary>
</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_name"/>
<attribute id="vlan_tag"/>
</attributes>
</naming>
<style>
<icon/>
</style>
<reconciliation>
<attributes>
<attribute id="subnet_id"/>
<attribute id="vlan_id"/>
</attributes>
</reconciliation>
<uniqueness_rules>
<rule id="no_duplicate">
<attributes>
<attribute id="subnet_id"/>
<attribute id="vlan_id"/>
</attributes>
<filter><![CDATA[]]></filter>
<disabled>false</disabled>
<is_blocking>true</is_blocking>
</rule>
</uniqueness_rules>
</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>
<style>
<icon>../../images/icons/icons8-globe-cable.svg</icon>
</style>
<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>
<complementary_attributes>
<attribute id="ipaddress"/>
</complementary_attributes>
</naming>
<style>
<icon>../../images/icons/icons8-globe-cable.svg</icon>
</style>
<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>
<style>
<icon>../../images/icons/icons8-globe-wire.svg</icon>
</style>
<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="org_id" xsi:type="AttributeExternalField">
<extkey_attcode>connectableci_id</extkey_attcode>
<target_attcode>org_id</target_attcode>
</field>
<field id="location_id" xsi:type="AttributeExternalField">
<extkey_attcode>connectableci_id</extkey_attcode>
<target_attcode>location_id</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="location_id">
<rank>30</rank>
</item>
<item id="org_id">
<rank>40</rank>
</item>
<item id="ipaddress">
<rank>50</rank>
</item>
<item id="macaddress">
<rank>60</rank>
</item>
<item id="comment">
<rank>70</rank>
</item>
<item id="ipgateway">
<rank>80</rank>
</item>
<item id="ipmask">
<rank>90</rank>
</item>
<item id="speed">
<rank>100</rank>
</item>
<item id="vlans_list">
<rank>110</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>
<summary>
<items>
<item id="ipaddress">
<rank>10</rank>
</item>
<item id="connectableci_id">
<rank>20</rank>
</item>
<item id="location_id">
<rank>30</rank>
</item>
<item id="org_id">
<rank>40</rank>
</item>
</items>
</summary>
</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_device_name"/>
<attribute id="physicalinterface_name"/>
<attribute id="vlan_tag"/>
</attributes>
</naming>
<style>
<icon/>
</style>
<reconciliation>
<attributes>
<attribute id="physicalinterface_id"/>
<attribute id="vlan_id"/>
</attributes>
</reconciliation>
<uniqueness_rules>
<rule id="no_duplicate">
<attributes>
<attribute id="physicalinterface_id"/>
<attribute id="vlan_id"/>
</attributes>
<filter><![CDATA[]]></filter>
<disabled>false</disabled>
<is_blocking>true</is_blocking>
</rule>
</uniqueness_rules>
</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="connectableci_name"/>
<attribute id="networkdevice_name"/>
</attributes>
</naming>
<style>
<icon/>
</style>
<reconciliation>
<attributes>
<attribute id="networkdevice_id"/>
<attribute id="connectableci_id"/>
</attributes>
</reconciliation>
<uniqueness_rules/>
</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">
<code>uplink</code>
</value>
<value id="downlink">
<code>downlink</code>
</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()
{
$aFields = array('networkdevice_id','connectableci_id','network_port','device_port','connection_type');
$aChanges = $this->ListPreviousValuesForUpdatedAttributes();
$aPrev = array(); // Previous values of the current link object before it was modified
foreach ($aFields as $sFieldCode) {
$aPrev[$sFieldCode] = array_key_exists($sFieldCode, $aChanges) ? $aChanges[$sFieldCode] : $this->Get($sFieldCode);
}
$sPrevLink = ($aPrev['connection_type'] == 'uplink') ? 'downlink' : 'uplink';
$sConnLink = ($this->Get('connection_type') == 'uplink') ? 'downlink' : 'uplink';
$oNewDevice = MetaModel::GetObject('ConnectableCI', $this->Get('connectableci_id'), false);
$oPrevDevice = MetaModel::GetObject('ConnectableCI', $aPrev['connectableci_id'], false);
$bNew = (is_object($oNewDevice) && (get_class($oNewDevice) == 'NetworkDevice'));
$bPrev = (is_object($oPrevDevice) && (get_class($oPrevDevice) == 'NetworkDevice'));
$sOQL = "SELECT lnkConnectableCIToNetworkDevice WHERE connectableci_id = :device AND networkdevice_id = :network AND network_port = :nwport AND device_port = :devport AND connection_type = :link";
if ($bPrev) { // There was a twin
// Retrieve twin link using previous values of the current link
$oConnectionSet = new DBObjectSet(DBObjectSearch::FromOQL($sOQL),
array(),
array(
'network' => $aPrev['connectableci_id'],
'device' => $aPrev['networkdevice_id'],
'devport' => $aPrev['network_port'],
'nwport' => $aPrev['device_port'],
'link' => $sPrevLink,
)
);
if ($bNew) { // and a twin must still exist, so update the existing
while ($oConnection = $oConnectionSet->Fetch()) {
$oConnection->Set('networkdevice_id', $this->Get('connectableci_id'));
$oConnection->Set('connectableci_id', $this->Get('networkdevice_id'));
$oConnection->Set('network_port', $this->Get('device_port'));
$oConnection->Set('device_port', $this->Get('network_port'));
$oConnection->Set('connection_type',$sConnLink);
$oConnection->DBUpdate();
}
}
else { // and no twin is needed anymore, so delete the existing
while ($oConnection = $oConnectionSet->Fetch()) {
$oConnection->DBDelete();
}
}
}
elseif ($bNew) { // There was no twin but a twin must exist now
// Search for a twin link using current values inverted
$oConnectionSet = new DBObjectSet(DBObjectSearch::FromOQL($sOQL),
array(),
array(
'network' => $this->Get('connectableci_id'),
'device' => $this->Get('networkdevice_id'),
'devport' => $this->Get('device_port'),
'nwport' => $this->Get('network_port'),
'link' => $sConnLink,
)
);
if ($oConnectionSet->Count() == 0) {
$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="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="connectableci_id">
<rank>10</rank>
</item>
<item id="device_port">
<rank>20</rank>
</item>
<item id="networkdevice_id">
<rank>30</rank>
</item>
<item id="network_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="connectableci_id">
<rank>10</rank>
</item>
<item id="networkdevice_id">
<rank>20</rank>
</item>
<item id="device_port">
<rank>30</rank>
</item>
<item id="network_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_name"/>
<attribute id="functionalci_name"/>
</attributes>
</naming>
<style>
<icon/>
</style>
<reconciliation>
<attributes>
<attribute id="applicationsolution_id"/>
<attribute id="functionalci_id"/>
</attributes>
</reconciliation>
<uniqueness_rules>
<rule id="no_duplicate">
<attributes>
<attribute id="applicationsolution_id"/>
<attribute id="functionalci_id"/>
</attributes>
<filter><![CDATA[]]></filter>
<disabled>false</disabled>
<is_blocking>true</is_blocking>
</rule>
</uniqueness_rules>
</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="applicationsolution_name"/>
<attribute id="businessprocess_name"/>
</attributes>
</naming>
<style>
<icon/>
</style>
<reconciliation>
<attributes>
<attribute id="businessprocess_id"/>
<attribute id="applicationsolution_id"/>
</attributes>
</reconciliation>
<uniqueness_rules>
<rule id="no_duplicate">
<attributes>
<attribute id="applicationsolution_id"/>
<attribute id="businessprocess_id"/>
</attributes>
<filter><![CDATA[]]></filter>
<disabled>false</disabled>
<is_blocking>true</is_blocking>
</rule>
</uniqueness_rules>
</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="applicationsolution_id">
<rank>10</rank>
</item>
<item id="businessprocess_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="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>
<complementary_attributes>
<attribute id="owner_name"/>
<attribute id="type"/>
</complementary_attributes>
</naming>
<fields_semantic>
<state_attribute>status</state_attribute>
</fields_semantic>
<style>
<icon>../../images/icons/icons8-department.svg</icon>
</style>
<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">
<sort_type>rank</sort_type>
<values>
<value id="production">
<code>production</code>
<rank>20</rank>
</value>
<value id="implementation">
<code>implementation</code>
<rank>10</rank>
</value>
<value id="obsolete">
<code>obsolete</code>
<rank>30</rank>
</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>
<summary>
<items>
<item id="org_id">
<rank>10</rank>
</item>
<item id="type">
<rank>20</rank>
</item>
<item id="description">
<rank>30</rank>
</item>
<item id="parent_id">
<rank>40</rank>
</item>
</items>
</summary>
</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_name"/>
<attribute id="ci_name"/>
</attributes>
</naming>
<style>
<icon/>
</style>
<reconciliation>
<attributes>
<attribute id="group_id"/>
<attribute id="ci_id"/>
</attributes>
</reconciliation>
<uniqueness_rules>
<rule id="no_duplicate">
<attributes>
<attribute id="group_id"/>
<attribute id="ci_id"/>
</attributes>
<filter><![CDATA[]]></filter>
<disabled>false</disabled>
<is_blocking>true</is_blocking>
</rule>
</uniqueness_rules>
</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>
<class id="Document" _delta="must_exist">
<fields>
<field id="cis_list" xsi:type="AttributeLinkedSetIndirect" _delta="define">
<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>
</fields>
<methods/>
<presentation>
<details>
<items>
<item id="cis_list" _delta="define">
<rank>60</rank>
</item>
</items>
</details>
</presentation>
</class>
<class id="Location" _delta="must_exist">
<fields>
<field id="physicaldevice_list" xsi:type="AttributeLinkedSet" _delta="define">
<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>
</fields>
<presentation>
<details>
<items>
<item id="physicaldevice_list" _delta="define">
<rank>90</rank>
</item>
</items>
</details>
</presentation>
</class>
<class id="Contact" _delta="must_exist">
<fields>
<field id="cis_list" xsi:type="AttributeLinkedSetIndirect" _delta="define">
<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>
</class>
<class id="Person" _delta="must_exist">
<presentation>
<details>
<items>
<item id="cis_list" _delta="define">
<rank>30</rank>
</item>
</items>
</details>
</presentation>
</class>
<class id="Team" _delta="must_exist">
<presentation>
<details>
<items>
<item id="cis_list" _delta="define">
<rank>90</rank>
</item>
</items>
</details>
</presentation>
</class>
<class id="DocumentFile" _delta="must_exist">
<presentation>
<details><items><item id="cis_list" _delta="define"><rank>70</rank></item></items>&gt;
</details>
</presentation>
</class>
<class id="DocumentWeb" _delta="must_exist">
<presentation>
<details>
<items>
<item id="cis_list" _delta="define">
<rank>60</rank>
</item>
</items>
</details>
</presentation>
</class>
<class id="DocumentNote" _delta="must_exist">
<presentation>
<details>
<items>
<item id="cis_list" _delta="define">
<rank>70</rank>
</item>
</items>
</details>
</presentation>
</class>
</classes>
<menus>
<menu id="WelcomeMenuPage" xsi:type="DashboardMenuNode" _delta="must_exist">
<rank>10</rank>
<parent>WelcomeMenu</parent>
<definition>
<layout>DashboardLayoutOneCol</layout>
<title/>
<cells>
<cell id="0">
<rank>0</rank>
<dashlets>
<dashlet id="2" xsi:type="DashletBadge" _delta="define">
<rank>1</rank>
<class>BusinessProcess</class>
</dashlet>
<dashlet id="3" xsi:type="DashletBadge" _delta="define">
<rank>2</rank>
<class>ApplicationSolution</class>
</dashlet>
<dashlet id="7" xsi:type="DashletBadge" _delta="define">
<rank>6</rank>
<class>Server</class>
</dashlet>
<dashlet id="8" xsi:type="DashletBadge" _delta="define">
<rank>7</rank>
<class>NetworkDevice</class>
</dashlet>
</dashlets>
</cell>
</cells>
</definition>
</menu>
<menu id="ConfigManagementOverview" xsi:type="DashboardMenuNode" _delta="define">
<rank>1</rank>
<parent>ConfigManagement</parent>
<definition>
<layout>DashboardLayoutOneCol</layout>
<title>Menu:ConfigManagementOverview</title>
<cells>
<cell id="0">
<rank>0</rank>
<dashlets>
<dashlet id="1" xsi:type="DashletHeaderStatic">
<rank>0</rank>
<title>Menu:ConfigManagement:AllDevices</title>
<icon>../images/icons/icons8-server.svg</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>../images/icons/icons8-software.svg</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>../images/icons/icons8-network.svg</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="Typology" xsi:type="DashboardMenuNode" _delta="if_exists">
<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="2" xsi:type="DashletBadge" _delta="define">
<rank>1</rank>
<class>Brand</class>
</dashlet>
<dashlet id="3" xsi:type="DashletBadge" _delta="define">
<rank>2</rank>
<class>Model</class>
</dashlet>
<dashlet id="4" xsi:type="DashletBadge" _delta="define">
<rank>3</rank>
<class>OSFamily</class>
</dashlet>
<dashlet id="5" xsi:type="DashletBadge" _delta="define">
<rank>4</rank>
<class>OSVersion</class>
</dashlet>
<dashlet id="6" xsi:type="DashletBadge" _delta="define">
<rank>5</rank>
<class>IOSVersion</class>
</dashlet>
<dashlet id="7" xsi:type="DashletBadge" _delta="define">
<rank>6</rank>
<class>NetworkDeviceType</class>
</dashlet>
</dashlets>
</cell>
</cells>
</definition>
</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="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>
</menus>
</itop_design>