mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-25 11:38:44 +02:00
7944 lines
242 KiB
XML
Executable File
7944 lines
242 KiB
XML
Executable File
<?xml version="1.0" encoding="UTF-8"?>
|
|
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
|
|
<classes>
|
|
<class id="Organization" _delta="define">
|
|
<parent>cmdbAbstractObject</parent>
|
|
<properties>
|
|
<comment><![CDATA[/**
|
|
* Persistent classes for a CMDB
|
|
*
|
|
* @copyright Copyright (C) 2010-2012 Combodo SARL
|
|
* @license http://opensource.org/licenses/AGPL-3.0
|
|
*/]]></comment>
|
|
<category>bizmodel,searchable,structure</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>organization</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/building.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="code"/>
|
|
</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="code" xsi:type="AttributeString">
|
|
<sql>code</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
<field id="status" xsi:type="AttributeEnum">
|
|
<values>
|
|
<value>active</value>
|
|
<value>inactive</value>
|
|
</values>
|
|
<sql>status</sql>
|
|
<default_value>active</default_value>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
<display_style>list</display_style>
|
|
</field>
|
|
<field id="parent_id" xsi:type="AttributeHierarchicalKey">
|
|
<sql>parent_id</sql>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="parent_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>parent_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="deliverymodel_id" xsi:type="AttributeExternalKey">
|
|
<sql>deliverymodel_id</sql>
|
|
<target_class>DeliveryModel</target_class>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="deliverymodel_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>deliverymodel_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="code">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="parent_id">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="deliverymodel_id">
|
|
<rank>50</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="code">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="parent_id">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="code">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="parent_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="Location" _delta="define">
|
|
<parent>cmdbAbstractObject</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable,structure</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>location</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/location.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="org_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="name" xsi:type="AttributeString">
|
|
<sql>name</sql>
|
|
<default_value/>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
</field>
|
|
<field id="status" xsi:type="AttributeEnum">
|
|
<values>
|
|
<value>active</value>
|
|
<value>inactive</value>
|
|
</values>
|
|
<sql>status</sql>
|
|
<default_value>active</default_value>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
<display_style>list</display_style>
|
|
</field>
|
|
<field id="org_id" xsi:type="AttributeExternalKey">
|
|
<sql>org_id</sql>
|
|
<target_class>Organization</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="org_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>org_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="address" xsi:type="AttributeText">
|
|
<sql>address</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
<field id="postal_code" xsi:type="AttributeString">
|
|
<sql>postal_code</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
<field id="city" xsi:type="AttributeString">
|
|
<sql>city</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
<field id="country" xsi:type="AttributeString">
|
|
<sql>country</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
<field id="physicaldevice_list" xsi:type="AttributeLinkedSet">
|
|
<linked_class>PhysicalDevice</linked_class>
|
|
<ext_key_to_me>location_id</ext_key_to_me>
|
|
<edit_mode>add_only</edit_mode>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
</field>
|
|
<field id="person_list" xsi:type="AttributeLinkedSet">
|
|
<linked_class>Person</linked_class>
|
|
<ext_key_to_me>location_id</ext_key_to_me>
|
|
<edit_mode>add_only</edit_mode>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="address">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="postal_code">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="city">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="country">
|
|
<rank>70</rank>
|
|
</item>
|
|
<item id="person_list">
|
|
<rank>80</rank>
|
|
</item>
|
|
<item id="physicaldevice_list">
|
|
<rank>90</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="address">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="postal_code">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="city">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="country">
|
|
<rank>70</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="status">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="city">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="country">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="Contact" _delta="define">
|
|
<parent>cmdbAbstractObject</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable,structure</category>
|
|
<abstract>true</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>contact</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field>finalclass</db_final_class_field>
|
|
<naming>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/team.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="org_name"/>
|
|
<attribute id="email"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="name" xsi:type="AttributeString">
|
|
<sql>name</sql>
|
|
<default_value/>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
</field>
|
|
<field id="status" xsi:type="AttributeEnum">
|
|
<values>
|
|
<value>active</value>
|
|
<value>inactive</value>
|
|
</values>
|
|
<sql>status</sql>
|
|
<default_value>active</default_value>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<display_style>list</display_style>
|
|
</field>
|
|
<field id="org_id" xsi:type="AttributeExternalKey">
|
|
<sql>org_id</sql>
|
|
<target_class>Organization</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="org_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>org_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="email" xsi:type="AttributeEmailAddress">
|
|
<sql>email</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
<field id="phone" xsi:type="AttributeString">
|
|
<sql>phone</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
<field id="notify" xsi:type="AttributeEnum">
|
|
<values>
|
|
<value>yes</value>
|
|
<value>no</value>
|
|
</values>
|
|
<sql>notify</sql>
|
|
<default_value>yes</default_value>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
<display_style>radio_horizontal</display_style>
|
|
</field>
|
|
<field id="function" xsi:type="AttributeString">
|
|
<sql>function</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
<field id="cis_list" xsi:type="AttributeLinkedSetIndirect">
|
|
<linked_class>lnkContactToFunctionalCI</linked_class>
|
|
<ext_key_to_me>contact_id</ext_key_to_me>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
<ext_key_to_remote>functionalci_id</ext_key_to_remote>
|
|
<duplicates/>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="email">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="phone">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="notify">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="function">
|
|
<rank>70</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="email">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="phone">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="notify">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="function">
|
|
<rank>70</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="status">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="email">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="phone">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="function">
|
|
<rank>50</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="Person" _delta="define">
|
|
<parent>Contact</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable,structure</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>person</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s %2$s</format>
|
|
<attributes>
|
|
<attribute id="first_name"/>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/person.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="first_name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="org_name"/>
|
|
<attribute id="email"/>
|
|
<attribute id="employee_number"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="first_name" xsi:type="AttributeString">
|
|
<sql>first_name</sql>
|
|
<default_value/>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
</field>
|
|
<field id="employee_number" xsi:type="AttributeString">
|
|
<sql>employee_number</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
<field id="mobile_phone" xsi:type="AttributeString">
|
|
<sql>mobile_phone</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
<field id="location_id" xsi:type="AttributeExternalKey">
|
|
<filter><![CDATA[SELECT l FROM Organization AS child JOIN Organization AS root ON child.parent_id BELOW root.id JOIN Location AS l ON l.org_id=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>
|
|
</field>
|
|
<field id="location_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>location_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="manager_id" xsi:type="AttributeExternalKey">
|
|
<filter><![CDATA[SELECT Person]]></filter>
|
|
<dependencies>
|
|
<attribute id="org_id"/>
|
|
</dependencies>
|
|
<sql>manager_id</sql>
|
|
<target_class>Person</target_class>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="manager_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>manager_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="team_list" xsi:type="AttributeLinkedSetIndirect">
|
|
<linked_class>lnkPersonToTeam</linked_class>
|
|
<ext_key_to_me>person_id</ext_key_to_me>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
<ext_key_to_remote>team_id</ext_key_to_remote>
|
|
<duplicates/>
|
|
</field>
|
|
<field id="tickets_list" xsi:type="AttributeLinkedSet">
|
|
<linked_class>Ticket</linked_class>
|
|
<ext_key_to_me>caller_id</ext_key_to_me>
|
|
<edit_mode>add_only</edit_mode>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="team_list">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="tickets_list">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="cis_list">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="col:col1">
|
|
<rank>40</rank>
|
|
<items>
|
|
<item id="fieldset:Person:info">
|
|
<rank>10</rank>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="first_name">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="location_id">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="function">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="manager_id">
|
|
<rank>70</rank>
|
|
</item>
|
|
<item id="employee_number">
|
|
<rank>80</rank>
|
|
</item>
|
|
</items>
|
|
</item>
|
|
</items>
|
|
</item>
|
|
<item id="col:col2">
|
|
<rank>50</rank>
|
|
<items>
|
|
<item id="fieldset:Person:notifiy">
|
|
<rank>10</rank>
|
|
<items>
|
|
<item id="email">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="notify">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="phone">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="mobile_phone">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</item>
|
|
</items>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="first_name">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="location_id">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="email">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="phone">
|
|
<rank>70</rank>
|
|
</item>
|
|
<item id="employee_number">
|
|
<rank>80</rank>
|
|
</item>
|
|
<item id="manager_id">
|
|
<rank>90</rank>
|
|
</item>
|
|
<item id="mobile_phone">
|
|
<rank>100</rank>
|
|
</item>
|
|
<item id="notify">
|
|
<rank>110</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="first_name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="location_id">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="email">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="phone">
|
|
<rank>60</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="Team" _delta="define">
|
|
<parent>Contact</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>team</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/team.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="org_name"/>
|
|
<attribute id="email"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="persons_list" xsi:type="AttributeLinkedSetIndirect">
|
|
<linked_class>lnkPersonToTeam</linked_class>
|
|
<ext_key_to_me>team_id</ext_key_to_me>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
<ext_key_to_remote>person_id</ext_key_to_remote>
|
|
<duplicates/>
|
|
</field>
|
|
<field id="tickets_list" xsi:type="AttributeLinkedSet">
|
|
<linked_class>Ticket</linked_class>
|
|
<ext_key_to_me>team_id</ext_key_to_me>
|
|
<edit_mode>none</edit_mode>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="email">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="phone">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="notify">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="function">
|
|
<rank>70</rank>
|
|
</item>
|
|
<item id="persons_list">
|
|
<rank>80</rank>
|
|
</item>
|
|
<item id="tickets_list">
|
|
<rank>90</rank>
|
|
</item>
|
|
<item id="cis_list">
|
|
<rank>100</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="email">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="phone">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="notify">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="function">
|
|
<rank>70</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="status">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="email">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="phone">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="Document" _delta="define">
|
|
<parent>cmdbAbstractObject</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable</category>
|
|
<abstract>true</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>document</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field>finalclass</db_final_class_field>
|
|
<naming>
|
|
<format>Document</format>
|
|
<attributes/>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/document.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id=""/>
|
|
</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="org_id" xsi:type="AttributeExternalKey">
|
|
<sql>org_id</sql>
|
|
<target_class>Organization</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="org_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>org_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="documenttype_id" xsi:type="AttributeExternalKey">
|
|
<sql>documenttype_id</sql>
|
|
<target_class>DocumentType</target_class>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="documenttype_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>documenttype_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="description" xsi:type="AttributeText">
|
|
<sql>description</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
<field id="status" xsi:type="AttributeEnum">
|
|
<values>
|
|
<value>draft</value>
|
|
<value>published</value>
|
|
<value>obsolete</value>
|
|
</values>
|
|
<sql>status</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
<display_style>list</display_style>
|
|
</field>
|
|
<field id="cis_list" xsi:type="AttributeLinkedSetIndirect">
|
|
<linked_class>lnkDocumentToFunctionalCI</linked_class>
|
|
<ext_key_to_me>document_id</ext_key_to_me>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
<ext_key_to_remote>functionalci_id</ext_key_to_remote>
|
|
<duplicates/>
|
|
</field>
|
|
<field id="contracts_list" xsi:type="AttributeLinkedSetIndirect">
|
|
<linked_class>lnkContractToDocument</linked_class>
|
|
<ext_key_to_me>document_id</ext_key_to_me>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
<ext_key_to_remote>contract_id</ext_key_to_remote>
|
|
<duplicates/>
|
|
</field>
|
|
<field id="services_list" xsi:type="AttributeLinkedSetIndirect">
|
|
<linked_class>lnkDocumentToService</linked_class>
|
|
<ext_key_to_me>document_id</ext_key_to_me>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
<ext_key_to_remote>service_id</ext_key_to_remote>
|
|
<duplicates/>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="documenttype_id">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="cis_list">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="contracts_list">
|
|
<rank>70</rank>
|
|
</item>
|
|
<item id="services_list">
|
|
<rank>80</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="documenttype_id">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>50</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="org_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="documenttype_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="DocumentFile" _delta="define">
|
|
<parent>Document</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>documentfile</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/document.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="org_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="file" xsi:type="AttributeBlob"/>
|
|
</fields>
|
|
<methods>
|
|
<method id="DisplayBareRelations">
|
|
<static>false</static>
|
|
<access>public</access>
|
|
<type>Overload-cmdbAbstractObject</type>
|
|
<comment><![CDATA[/**
|
|
* Overload the display of the properties to add a tab (the first one)
|
|
* with the preview of the document
|
|
*/
|
|
]]></comment>
|
|
<code><![CDATA[public function DisplayBareProperties(WebPage $oPage, $bEditMode = false, $sPrefix = '', $aExtraParams = array())
|
|
{
|
|
$aFieldsMap = parent::DisplayBareProperties($oPage, $bEditMode, $sPrefix, $aExtraParams);
|
|
if (!$bEditMode)
|
|
{
|
|
$oPage->add('<fieldset>');
|
|
$oPage->add('<legend>'.Dict::S('Class:Document:PreviewTab').'</legend>');
|
|
$oPage->add($this->DisplayDocumentInline($oPage, 'file'));
|
|
$oPage->add('</fieldset>');
|
|
}
|
|
return $aFieldsMap;
|
|
}]]></code>
|
|
</method>
|
|
</methods>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="documenttype_id">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="file">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="cis_list">
|
|
<rank>70</rank>
|
|
</item>
|
|
<item id="contracts_list">
|
|
<rank>80</rank>
|
|
</item>
|
|
<item id="services_list">
|
|
<rank>90</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="documenttype_id">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>50</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="org_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="documenttype_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="file">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="DocumentNote" _delta="define">
|
|
<parent>Document</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>documentnote</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/document.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="org_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="text" xsi:type="AttributeHTML">
|
|
<sql>text</sql>
|
|
<default_value/>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="documenttype_id">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="text">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="cis_list">
|
|
<rank>70</rank>
|
|
</item>
|
|
<item id="contracts_list">
|
|
<rank>80</rank>
|
|
</item>
|
|
<item id="services_list">
|
|
<rank>90</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="documenttype_id">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>50</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="org_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="documenttype_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="DocumentWeb" _delta="define">
|
|
<parent>Document</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>documentweb</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/document.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="org_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="url" xsi:type="AttributeURL">
|
|
<sql>url</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
<target>_blank</target>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="url">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="cis_list">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="contracts_list">
|
|
<rank>70</rank>
|
|
</item>
|
|
<item id="services_list">
|
|
<rank>80</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="url">
|
|
<rank>50</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="org_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="url">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="FunctionalCI" _delta="define">
|
|
<parent>cmdbAbstractObject</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable</category>
|
|
<abstract>true</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>functionalci</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field>finalclass</db_final_class_field>
|
|
<naming>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/server.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="organization_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="name" xsi:type="AttributeString">
|
|
<sql>name</sql>
|
|
<default_value/>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
</field>
|
|
<field id="description" xsi:type="AttributeText">
|
|
<sql>description</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
<field id="org_id" xsi:type="AttributeExternalKey">
|
|
<sql>org_id</sql>
|
|
<target_class>Organization</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="organization_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>org_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="business_criticity" xsi:type="AttributeEnum">
|
|
<values>
|
|
<value>high</value>
|
|
<value>medium</value>
|
|
<value>low</value>
|
|
</values>
|
|
<sql>business_criticity</sql>
|
|
<default_value>low</default_value>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
<display_style>list</display_style>
|
|
</field>
|
|
<field id="move2production" xsi:type="AttributeDate">
|
|
<sql>move2production</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
<field id="contacts_list" xsi:type="AttributeLinkedSetIndirect">
|
|
<linked_class>lnkContactToFunctionalCI</linked_class>
|
|
<ext_key_to_me>functionalci_id</ext_key_to_me>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
<ext_key_to_remote>contact_id</ext_key_to_remote>
|
|
<duplicates/>
|
|
</field>
|
|
<field id="documents_list" xsi:type="AttributeLinkedSetIndirect">
|
|
<linked_class>lnkDocumentToFunctionalCI</linked_class>
|
|
<ext_key_to_me>functionalci_id</ext_key_to_me>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
<ext_key_to_remote>document_id</ext_key_to_remote>
|
|
<duplicates/>
|
|
</field>
|
|
<field id="applicationsolution_list" xsi:type="AttributeLinkedSetIndirect">
|
|
<linked_class>lnkApplicationSolutionToFunctionalCI</linked_class>
|
|
<ext_key_to_me>functionalci_id</ext_key_to_me>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
<ext_key_to_remote>applicationsolution_id</ext_key_to_remote>
|
|
<duplicates/>
|
|
</field>
|
|
<field id="providercontracts_list" xsi:type="AttributeLinkedSetIndirect">
|
|
<linked_class>lnkFunctionalCIToProviderContract</linked_class>
|
|
<ext_key_to_me>functionalci_id</ext_key_to_me>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
<ext_key_to_remote>providercontract_id</ext_key_to_remote>
|
|
<duplicates/>
|
|
</field>
|
|
<field id="services_list" xsi:type="AttributeLinkedSetIndirect">
|
|
<linked_class>lnkFunctionalCIToService</linked_class>
|
|
<ext_key_to_me>functionalci_id</ext_key_to_me>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
<ext_key_to_remote>service_id</ext_key_to_remote>
|
|
<duplicates/>
|
|
</field>
|
|
<field id="softwares_list" xsi:type="AttributeLinkedSet">
|
|
<linked_class>SoftwareInstance</linked_class>
|
|
<ext_key_to_me>system_id</ext_key_to_me>
|
|
<edit_mode>in_place</edit_mode>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
</field>
|
|
<field id="tickets_list" xsi:type="AttributeLinkedSetIndirect">
|
|
<linked_class>lnkFunctionalCIToTicket</linked_class>
|
|
<ext_key_to_me>functionalci_id</ext_key_to_me>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
<ext_key_to_remote>ticket_id</ext_key_to_remote>
|
|
<duplicates/>
|
|
</field>
|
|
</fields>
|
|
<methods>
|
|
<method id="GetRelationQueries">
|
|
<static>true</static>
|
|
<access>public</access>
|
|
<type>Overload-DBObject</type>
|
|
<code><![CDATA[ public static function GetRelationQueries($sRelCode)
|
|
{
|
|
switch ($sRelCode)
|
|
{
|
|
case "impacts":
|
|
$aRels = array(
|
|
"contact" => array("sQuery"=>"SELECT Contact AS c JOIN lnkContactToFunctionalCI AS l1 ON l1.contact_id = c.id WHERE l1.functionalci_id = :this->id", "bPropagate"=>true, "iDistance"=>3),
|
|
"solution" => array("sQuery"=>"SELECT ApplicationSolution AS s JOIN lnkApplicationSolutionToFunctionalCI AS l1 ON l1.applicationsolution_id = s.id WHERE l1.functionalci_id = :this->id", "bPropagate"=>true, "iDistance"=>2),
|
|
"SoftwareInstances" => array("sQuery"=>"SELECT SoftwareInstance AS s WHERE s.system_id = :this->id", "bPropagate"=>true, "iDistance"=>10),
|
|
);
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
default:
|
|
return parent::GetRelationQueries($sRelCode);
|
|
}
|
|
}]]></code>
|
|
</method>
|
|
</methods>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="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="tickets_list">
|
|
<rank>80</rank>
|
|
</item>
|
|
<item id="applicationsolution_list">
|
|
<rank>90</rank>
|
|
</item>
|
|
<item id="providercontracts_list">
|
|
<rank>100</rank>
|
|
</item>
|
|
<item id="services_list">
|
|
<rank>110</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<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>
|
|
</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>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/server.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="organization_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="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 Organization AS child JOIN Organization AS root ON child.parent_id BELOW root.id JOIN Location AS l ON l.org_id=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>
|
|
</field>
|
|
<field id="location_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>location_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="status" xsi:type="AttributeEnum">
|
|
<values>
|
|
<value>production</value>
|
|
<value>implementation</value>
|
|
<value>stock</value>
|
|
<value>obsolete</value>
|
|
</values>
|
|
<sql>status</sql>
|
|
<default_value>production</default_value>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
<display_style>list</display_style>
|
|
</field>
|
|
<field id="brand_id" xsi:type="AttributeExternalKey">
|
|
<sql>brand_id</sql>
|
|
<target_class>Brand</target_class>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="brand_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>brand_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="model_id" xsi:type="AttributeExternalKey">
|
|
<filter><![CDATA[SELECT Model WHERE brand_id=:this->brand_id AND type=:this->finalclass]]></filter>
|
|
<dependencies>
|
|
<attribute id="brand_id"/>
|
|
</dependencies>
|
|
<sql>model_id</sql>
|
|
<target_class>Model</target_class>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="model_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>model_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="asset_number" xsi:type="AttributeString">
|
|
<sql>asset_number</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
<field id="purchase_date" xsi:type="AttributeDate">
|
|
<sql>purchase_date</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
<field id="end_of_warranty" xsi:type="AttributeDate">
|
|
<sql>end_of_warranty</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="location_id">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="brand_id">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="model_id">
|
|
<rank>70</rank>
|
|
</item>
|
|
<item id="serialnumber">
|
|
<rank>80</rank>
|
|
</item>
|
|
<item id="asset_number">
|
|
<rank>90</rank>
|
|
</item>
|
|
<item id="move2production">
|
|
<rank>100</rank>
|
|
</item>
|
|
<item id="purchase_date">
|
|
<rank>110</rank>
|
|
</item>
|
|
<item id="end_of_warranty">
|
|
<rank>120</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>130</rank>
|
|
</item>
|
|
<item id="contacts_list">
|
|
<rank>140</rank>
|
|
</item>
|
|
<item id="documents_list">
|
|
<rank>150</rank>
|
|
</item>
|
|
<item id="tickets_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>
|
|
</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>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/server.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="organization_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="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>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
</field>
|
|
</fields>
|
|
<methods>
|
|
<method id="GetRelationQueries">
|
|
<static>true</static>
|
|
<access>public</access>
|
|
<type>Overload-DBObject</type>
|
|
<code><![CDATA[ public static function GetRelationQueries($sRelCode)
|
|
{
|
|
switch ($sRelCode)
|
|
{
|
|
case "impacts":
|
|
$aRels = array(
|
|
|
|
|
|
);
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
|
|
case "depends on":
|
|
$aRels = array(
|
|
"connected_network" => array("sQuery"=>"SELECT NetworkDevice AS nw JOIN lnkConnectableCIToNetworkDevice AS l1 ON l1.networkdevice_id = nw.id WHERE l1.connectableci_id = :this->id AND l1.connection_type='downlink'", "bPropagate"=>true, "iDistance"=>10),
|
|
);
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
|
|
default:
|
|
return parent::GetRelationQueries($sRelCode);
|
|
}
|
|
}]]></code>
|
|
</method>
|
|
</methods>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="location_id">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="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>
|
|
</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>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/server.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="organization_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
<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>
|
|
</fields>
|
|
<methods>
|
|
<method id="GetRelationQueries">
|
|
<static>true</static>
|
|
<access>public</access>
|
|
<type>Overload-DBObject</type>
|
|
<code><![CDATA[ public static function GetRelationQueries($sRelCode)
|
|
{
|
|
switch ($sRelCode)
|
|
{
|
|
case "depends on":
|
|
$aRels = array();
|
|
if (class_exists('Enclosure'))
|
|
{
|
|
$aRels['Enclosure'] = array("sQuery"=>"SELECT Enclosure WHERE id = :this->enclosure_id", "bPropagate"=>true, "iDistance"=>10);
|
|
}
|
|
if (class_exists('SANSwitch'))
|
|
{
|
|
$aRels['SANSwitch'] = array("sQuery"=>"SELECT SANSwitch AS san JOIN lnkSanToDatacenterDevice AS l1 ON l1.san_id = san.id WHERE l1.datacenterdevice_id = :this->id", "bPropagate"=>true, "iDistance"=>10);
|
|
}
|
|
if (class_exists('PowerConnection'))
|
|
{
|
|
$aRels['PowerA'] = array(
|
|
"sQuery"=>"SELECT PowerConnection WHERE id = :this->powerA_id",
|
|
"bPropagate"=>true,
|
|
"iDistance"=>10
|
|
);
|
|
$aRels['PowerB'] = array(
|
|
"sQuery"=>"SELECT PowerConnection WHERE id = :this->powerB_id",
|
|
"bPropagate"=>true,
|
|
"iDistance"=>10
|
|
);
|
|
}
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
default:
|
|
return parent::GetRelationQueries($sRelCode);
|
|
}
|
|
}]]></code>
|
|
</method>
|
|
</methods>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="location_id">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="rack_id">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="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>
|
|
<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>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/switch.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="organization_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="networkdevicetype_id" xsi:type="AttributeExternalKey">
|
|
<sql>networkdevicetype_id</sql>
|
|
<target_class>NetworkDeviceType</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="networkdevicetype_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>networkdevicetype_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="connectablecis_list" xsi:type="AttributeLinkedSetIndirect">
|
|
<linked_class>lnkConnectableCIToNetworkDevice</linked_class>
|
|
<ext_key_to_me>networkdevice_id</ext_key_to_me>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
<ext_key_to_remote>connectableci_id</ext_key_to_remote>
|
|
<duplicates>true</duplicates>
|
|
</field>
|
|
<field id="iosversion_id" xsi:type="AttributeExternalKey">
|
|
<sql>iosversion_id</sql>
|
|
<target_class>IOSVersion</target_class>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="iosversion_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>iosversion_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="ram" xsi:type="AttributeString">
|
|
<sql>ram</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
</fields>
|
|
<methods>
|
|
<method id="GetRelationQueries">
|
|
<static>true</static>
|
|
<access>public</access>
|
|
<type>Overload-DBObject</type>
|
|
<code><![CDATA[ public static function GetRelationQueries($sRelCode)
|
|
{
|
|
switch ($sRelCode)
|
|
{
|
|
case "impacts":
|
|
$aRels = array(
|
|
"device" => array("sQuery"=>"SELECT ConnectableCI AS d JOIN lnkConnectableCIToNetworkDevice AS l1 ON l1.connectableci_id = d.id WHERE l1.networkdevice_id = :this->id AND l1.connection_type='downlink'", "bPropagate"=>true, "iDistance"=>1),
|
|
|
|
|
|
);
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
|
|
case "depends on":
|
|
$aRels = array(
|
|
// "connected_network" => array("sQuery"=>"SELECT NetworkDevice AS nw JOIN lnkConnectableCIToNetworkDevice AS l1 ON l1.networkdevice_id = nw.id WHERE l1.connectableci_id = :this->id AND l1.connection_type='uplink'", "bPropagate"=>true, "iDistance"=>10),
|
|
);
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
|
|
default:
|
|
return parent::GetRelationQueries($sRelCode);
|
|
}
|
|
}]]></code>
|
|
</method>
|
|
</methods>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="contacts_list">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="documents_list">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="tickets_list">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="physicalinterface_list">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="connectablecis_list">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="providercontracts_list">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="services_list">
|
|
<rank>70</rank>
|
|
</item>
|
|
<item id="col:col1">
|
|
<rank>80</rank>
|
|
<items>
|
|
<item id="fieldset:Server:baseinfo">
|
|
<rank>10</rank>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="location_id">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="rack_id">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="enclosure_id">
|
|
<rank>70</rank>
|
|
</item>
|
|
</items>
|
|
</item>
|
|
<item id="fieldset:Server:moreinfo">
|
|
<rank>20</rank>
|
|
<items>
|
|
<item id="networkdevicetype_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="brand_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="model_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="iosversion_id">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="managementip">
|
|
<rank>45</rank>
|
|
</item>
|
|
<item id="ram">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="nb_u">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="serialnumber">
|
|
<rank>70</rank>
|
|
</item>
|
|
<item id="asset_number">
|
|
<rank>80</rank>
|
|
</item>
|
|
</items>
|
|
</item>
|
|
</items>
|
|
</item>
|
|
<item id="col:col2">
|
|
<rank>90</rank>
|
|
<items>
|
|
<item id="fieldset:Server:Date">
|
|
<rank>10</rank>
|
|
<items>
|
|
<item id="move2production">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="purchase_date">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="end_of_warranty">
|
|
<rank>30</rank>
|
|
</item>
|
|
</items>
|
|
</item>
|
|
<item id="fieldset:Server:otherinfo">
|
|
<rank>20</rank>
|
|
<items>
|
|
<item id="powerA_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="powerB_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>30</rank>
|
|
</item>
|
|
</items>
|
|
</item>
|
|
</items>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="location_id">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="managementip">
|
|
<rank>55</rank>
|
|
</item>
|
|
<item id="brand_id">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="model_id">
|
|
<rank>70</rank>
|
|
</item>
|
|
<item id="serialnumber">
|
|
<rank>80</rank>
|
|
</item>
|
|
<item id="asset_number">
|
|
<rank>90</rank>
|
|
</item>
|
|
<item id="powerA_id">
|
|
<rank>100</rank>
|
|
</item>
|
|
<item id="powerB_id">
|
|
<rank>110</rank>
|
|
</item>
|
|
<item id="move2production">
|
|
<rank>120</rank>
|
|
</item>
|
|
<item id="purchase_date">
|
|
<rank>130</rank>
|
|
</item>
|
|
<item id="end_of_warranty">
|
|
<rank>140</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="org_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="location_id">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="brand_id">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="model_id">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="serialnumber">
|
|
<rank>70</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</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>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/server.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="organization_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="osfamily_id" xsi:type="AttributeExternalKey">
|
|
<sql>osfamily_id</sql>
|
|
<target_class>OSFamily</target_class>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="osfamily_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>osfamily_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="osversion_id" xsi:type="AttributeExternalKey">
|
|
<filter><![CDATA[SELECT OSVersion WHERE osfamily_id = :this->osfamily_id]]></filter>
|
|
<dependencies>
|
|
<attribute id="osfamily_id"/>
|
|
</dependencies>
|
|
<sql>osversion_id</sql>
|
|
<target_class>OSVersion</target_class>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="osversion_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>osversion_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="oslicence_id" xsi:type="AttributeExternalKey">
|
|
<filter><![CDATA[SELECT OSLicence WHERE osversion_id = :this->osversion_id]]></filter>
|
|
<dependencies>
|
|
<attribute id="osversion_id"/>
|
|
</dependencies>
|
|
<sql>oslicence_id</sql>
|
|
<target_class>OSLicence</target_class>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="oslicence_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>oslicence_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="cpu" xsi:type="AttributeString">
|
|
<sql>cpu</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
<field id="ram" xsi:type="AttributeString">
|
|
<sql>ram</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
<field id="logicalvolumes_list" xsi:type="AttributeLinkedSetIndirect">
|
|
<linked_class>lnkServerToVolume</linked_class>
|
|
<ext_key_to_me>server_id</ext_key_to_me>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
<ext_key_to_remote>volume_id</ext_key_to_remote>
|
|
<duplicates/>
|
|
</field>
|
|
</fields>
|
|
<methods>
|
|
<method id="GetRelationQueries">
|
|
<static>true</static>
|
|
<access>public</access>
|
|
<type>Overload-DBObject</type>
|
|
<code><![CDATA[ public static function GetRelationQueries($sRelCode)
|
|
{
|
|
switch ($sRelCode)
|
|
{
|
|
case "impacts":
|
|
$aRels = array();
|
|
if (class_exists('Hypervisor'))
|
|
{
|
|
$aRels = array(
|
|
"device" => array("sQuery"=>"SELECT Hypervisor WHERE server_id = :this->id", "bPropagate"=>true, "iDistance"=>10),
|
|
);
|
|
}
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
|
|
case "depends on":
|
|
$aRels = array(
|
|
"volume" => array("sQuery"=>"SELECT LogicalVolume AS v JOIN lnkServerToVolume AS l1 ON l1.volume_id=v.id WHERE l1.server_id = :this->id", "bPropagate"=>true, "iDistance"=>10),
|
|
);
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
|
|
default:
|
|
return parent::GetRelationQueries($sRelCode);
|
|
}
|
|
}]]></code>
|
|
</method>
|
|
</methods>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="softwares_list">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="contacts_list">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="documents_list">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="tickets_list">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="physicalinterface_list">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="fiberinterfacelist_list">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="networkdevice_list">
|
|
<rank>70</rank>
|
|
</item>
|
|
<item id="san_list">
|
|
<rank>80</rank>
|
|
</item>
|
|
<item id="logicalvolumes_list">
|
|
<rank>90</rank>
|
|
</item>
|
|
<item id="providercontracts_list">
|
|
<rank>100</rank>
|
|
</item>
|
|
<item id="services_list">
|
|
<rank>110</rank>
|
|
</item>
|
|
<item id="col:col1">
|
|
<rank>120</rank>
|
|
<items>
|
|
<item id="fieldset:Server:baseinfo">
|
|
<rank>10</rank>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="location_id">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="rack_id">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="enclosure_id">
|
|
<rank>70</rank>
|
|
</item>
|
|
</items>
|
|
</item>
|
|
<item id="fieldset:Server:moreinfo">
|
|
<rank>20</rank>
|
|
<items>
|
|
<item id="brand_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="model_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="osfamily_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="osversion_id">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="managementip">
|
|
<rank>45</rank>
|
|
</item>
|
|
<item id="oslicence_id">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="cpu">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="ram">
|
|
<rank>70</rank>
|
|
</item>
|
|
<item id="nb_u">
|
|
<rank>80</rank>
|
|
</item>
|
|
<item id="serialnumber">
|
|
<rank>90</rank>
|
|
</item>
|
|
<item id="asset_number">
|
|
<rank>100</rank>
|
|
</item>
|
|
</items>
|
|
</item>
|
|
</items>
|
|
</item>
|
|
<item id="col:col2">
|
|
<rank>130</rank>
|
|
<items>
|
|
<item id="fieldset:Server:Date">
|
|
<rank>10</rank>
|
|
<items>
|
|
<item id="move2production">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="purchase_date">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="end_of_warranty">
|
|
<rank>30</rank>
|
|
</item>
|
|
</items>
|
|
</item>
|
|
<item id="fieldset:Server:otherinfo">
|
|
<rank>20</rank>
|
|
<items>
|
|
<item id="powerA_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="powerB_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>30</rank>
|
|
</item>
|
|
</items>
|
|
</item>
|
|
</items>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="location_id">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="managementip">
|
|
<rank>55</rank>
|
|
</item>
|
|
<item id="brand_id">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="model_id">
|
|
<rank>70</rank>
|
|
</item>
|
|
<item id="serialnumber">
|
|
<rank>80</rank>
|
|
</item>
|
|
<item id="asset_number">
|
|
<rank>90</rank>
|
|
</item>
|
|
<item id="powerA_id">
|
|
<rank>100</rank>
|
|
</item>
|
|
<item id="powerB_id">
|
|
<rank>110</rank>
|
|
</item>
|
|
<item id="move2production">
|
|
<rank>120</rank>
|
|
</item>
|
|
<item id="purchase_date">
|
|
<rank>130</rank>
|
|
</item>
|
|
<item id="end_of_warranty">
|
|
<rank>140</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="org_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="location_id">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="brand_id">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="model_id">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="serialnumber">
|
|
<rank>70</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</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>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/solution.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="organization_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</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>active</value>
|
|
<value>inactive</value>
|
|
</values>
|
|
<sql>status</sql>
|
|
<default_value>active</default_value>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
<display_style>list</display_style>
|
|
</field>
|
|
</fields>
|
|
<methods>
|
|
<method id="GetRelationQueries">
|
|
<static>true</static>
|
|
<access>public</access>
|
|
<type>Overload-DBObject</type>
|
|
<code><![CDATA[ public static function GetRelationQueries($sRelCode)
|
|
{
|
|
switch ($sRelCode)
|
|
{
|
|
case "impacts":
|
|
$aRels = array(
|
|
"process" => array("sQuery"=>"SELECT BusinessProcess AS p JOIN lnkApplicationSolutionToBusinessProcess AS l1 ON l1.businessprocess_id = p.id WHERE l1.applicationsolution_id = :this->id", "bPropagate"=>true, "iDistance"=>10),
|
|
);
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
|
|
case "depends on":
|
|
$aRels = array(
|
|
"solution" => array("sQuery"=>"SELECT FunctionalCI AS ci JOIN lnkApplicationSolutionToFunctionalCI AS l1 ON l1.functionalci_id = ci.id WHERE l1.applicationsolution_id = :this->id", "bPropagate"=>true, "iDistance"=>2),
|
|
);
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
|
|
default:
|
|
return parent::GetRelationQueries($sRelCode);
|
|
}
|
|
}]]></code>
|
|
</method>
|
|
</methods>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="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="tickets_list">
|
|
<rank>90</rank>
|
|
</item>
|
|
<item id="functionalcis_list">
|
|
<rank>100</rank>
|
|
</item>
|
|
<item id="businessprocess_list">
|
|
<rank>110</rank>
|
|
</item>
|
|
<item id="providercontracts_list">
|
|
<rank>120</rank>
|
|
</item>
|
|
<item id="services_list">
|
|
<rank>130</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="move2production">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="org_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="move2production">
|
|
<rank>30</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</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>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/business-process.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="organization_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</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>active</value>
|
|
<value>inactive</value>
|
|
</values>
|
|
<sql>status</sql>
|
|
<default_value>active</default_value>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
<display_style>list</display_style>
|
|
</field>
|
|
</fields>
|
|
<methods>
|
|
<method id="GetRelationQueries">
|
|
<static>true</static>
|
|
<access>public</access>
|
|
<type>Overload-DBObject</type>
|
|
<code><![CDATA[ public static function GetRelationQueries($sRelCode)
|
|
{
|
|
switch ($sRelCode)
|
|
{
|
|
case "depends on":
|
|
$aRels = array(
|
|
"solution" => array("sQuery"=>"SELECT ApplicationSolution AS app JOIN lnkApplicationSolutionToBusinessProcess AS l1 ON l1.applicationsolution_id = app.id WHERE l1.businessprocess_id = :this->id", "bPropagate"=>true, "iDistance"=>10),
|
|
);
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
|
|
default:
|
|
return parent::GetRelationQueries($sRelCode);
|
|
}
|
|
}]]></code>
|
|
</method>
|
|
</methods>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="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="tickets_list">
|
|
<rank>90</rank>
|
|
</item>
|
|
<item id="applicationsolutions_list">
|
|
<rank>100</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="move2production">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="org_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="move2production">
|
|
<rank>30</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</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>
|
|
<format>%1$s %2$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="system_name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/application.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="organization_name"/>
|
|
<attribute id="system_id"/>
|
|
<attribute id="system_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<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>
|
|
</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>
|
|
</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>active</value>
|
|
<value>inactive</value>
|
|
</values>
|
|
<sql>status</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
<display_style>list</display_style>
|
|
</field>
|
|
</fields>
|
|
<methods>
|
|
<method id="GetRelationQueries">
|
|
<static>true</static>
|
|
<access>public</access>
|
|
<type>Overload-DBObject</type>
|
|
<code><![CDATA[ public static function GetRelationQueries($sRelCode)
|
|
{
|
|
switch ($sRelCode)
|
|
{
|
|
case "impacts":
|
|
$aRels = array(
|
|
// Actually this should be limited to the Software instances based on a DBServer Application type...
|
|
|
|
);
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
|
|
case 'depends on':
|
|
$aRels = array(
|
|
"FunctionalCI" => array("sQuery"=>"SELECT FunctionalCI AS s JOIN SoftwareInstance AS app ON app.system_id = s.id WHERE app.id = :this->id", "bPropagate"=>true, "iDistance"=>10),
|
|
);
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
|
|
default:
|
|
return parent::GetRelationQueries($sRelCode);
|
|
}
|
|
}]]></code>
|
|
</method>
|
|
</methods>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="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>
|
|
<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>
|
|
</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>
|
|
<format>%1$s %2$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="system_name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/middleware.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="organization_name"/>
|
|
<attribute id="system_id"/>
|
|
<attribute id="system_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="middlewareinstance_list" xsi:type="AttributeLinkedSet">
|
|
<linked_class>MiddlewareInstance</linked_class>
|
|
<ext_key_to_me>middleware_id</ext_key_to_me>
|
|
<edit_mode>in_place</edit_mode>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
</field>
|
|
</fields>
|
|
<methods>
|
|
<method id="GetRelationQueries">
|
|
<static>true</static>
|
|
<access>public</access>
|
|
<type>Overload-DBObject</type>
|
|
<code><![CDATA[ public static function GetRelationQueries($sRelCode)
|
|
{
|
|
switch ($sRelCode)
|
|
{
|
|
case "impacts":
|
|
$aRels = array(
|
|
"MiddlewareInstance" => array("sQuery"=>"SELECT MiddlewareInstance AS mi WHERE middleware_id = :this->id", "bPropagate"=>true, "iDistance"=>10),
|
|
);
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
|
|
case 'depends on':
|
|
$aRels = array(
|
|
|
|
);
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
|
|
default:
|
|
return parent::GetRelationQueries($sRelCode);
|
|
}
|
|
}]]></code>
|
|
</method>
|
|
</methods>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="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="tickets_list">
|
|
<rank>130</rank>
|
|
</item>
|
|
<item id="applicationsolution_list">
|
|
<rank>140</rank>
|
|
</item>
|
|
<item id="middlewareinstance_list">
|
|
<rank>150</rank>
|
|
</item>
|
|
<item id="providercontracts_list">
|
|
<rank>160</rank>
|
|
</item>
|
|
<item id="services_list">
|
|
<rank>170</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="move2production">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="org_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="system_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="software_id">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</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>
|
|
<format>%1$s %2$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="system_name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/database.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="organization_name"/>
|
|
<attribute id="system_id"/>
|
|
<attribute id="system_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="dbschema_list" xsi:type="AttributeLinkedSet">
|
|
<linked_class>DatabaseSchema</linked_class>
|
|
<ext_key_to_me>dbserver_id</ext_key_to_me>
|
|
<edit_mode>in_place</edit_mode>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
</field>
|
|
</fields>
|
|
<methods>
|
|
<method id="GetRelationQueries">
|
|
<static>true</static>
|
|
<access>public</access>
|
|
<type>Overload-DBObject</type>
|
|
<code><![CDATA[ public static function GetRelationQueries($sRelCode)
|
|
{
|
|
switch ($sRelCode)
|
|
{
|
|
case "impacts":
|
|
$aRels = array(
|
|
"DatabaseSchema" => array("sQuery"=>"SELECT DatabaseSchema AS db WHERE dbserver_id = :this->id", "bPropagate"=>true, "iDistance"=>10),
|
|
);
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
|
|
case 'depends on':
|
|
$aRels = array(
|
|
|
|
);
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
|
|
default:
|
|
return parent::GetRelationQueries($sRelCode);
|
|
}
|
|
}]]></code>
|
|
</method>
|
|
</methods>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="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="tickets_list">
|
|
<rank>130</rank>
|
|
</item>
|
|
<item id="applicationsolution_list">
|
|
<rank>140</rank>
|
|
</item>
|
|
<item id="dbschema_list">
|
|
<rank>150</rank>
|
|
</item>
|
|
<item id="providercontracts_list">
|
|
<rank>160</rank>
|
|
</item>
|
|
<item id="services_list">
|
|
<rank>170</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="move2production">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="org_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="system_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="software_id">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</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>
|
|
<format>%1$s %2$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="system_name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/webserver.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="organization_name"/>
|
|
<attribute id="system_id"/>
|
|
<attribute id="system_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="webapp_list" xsi:type="AttributeLinkedSet">
|
|
<linked_class>WebApplication</linked_class>
|
|
<ext_key_to_me>webserver_id</ext_key_to_me>
|
|
<edit_mode>in_place</edit_mode>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
</field>
|
|
</fields>
|
|
<methods>
|
|
<method id="GetRelationQueries">
|
|
<static>true</static>
|
|
<access>public</access>
|
|
<type>Overload-DBObject</type>
|
|
<code><![CDATA[ public static function GetRelationQueries($sRelCode)
|
|
{
|
|
switch ($sRelCode)
|
|
{
|
|
case "impacts":
|
|
$aRels = array(
|
|
"WebApplication" => array("sQuery"=>"SELECT WebApplication AS db WHERE webserver_id = :this->id", "bPropagate"=>true, "iDistance"=>10),
|
|
);
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
|
|
case 'depends on':
|
|
$aRels = array(
|
|
|
|
);
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
|
|
default:
|
|
return parent::GetRelationQueries($sRelCode);
|
|
}
|
|
}]]></code>
|
|
</method>
|
|
</methods>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="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="tickets_list">
|
|
<rank>130</rank>
|
|
</item>
|
|
<item id="applicationsolution_list">
|
|
<rank>140</rank>
|
|
</item>
|
|
<item id="webapp_list">
|
|
<rank>150</rank>
|
|
</item>
|
|
<item id="providercontracts_list">
|
|
<rank>160</rank>
|
|
</item>
|
|
<item id="services_list">
|
|
<rank>170</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="move2production">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="org_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="system_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="software_id">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</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>
|
|
<format>%1$s %2$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="system_name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/application.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="organization_name"/>
|
|
<attribute id="system_id"/>
|
|
<attribute id="system_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields/>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="system_id">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="software_id">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="softwarelicence_id">
|
|
<rank>70</rank>
|
|
</item>
|
|
<item id="path">
|
|
<rank>80</rank>
|
|
</item>
|
|
<item id="move2production">
|
|
<rank>90</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>100</rank>
|
|
</item>
|
|
<item id="contacts_list">
|
|
<rank>110</rank>
|
|
</item>
|
|
<item id="documents_list">
|
|
<rank>120</rank>
|
|
</item>
|
|
<item id="tickets_list">
|
|
<rank>130</rank>
|
|
</item>
|
|
<item id="applicationsolution_list">
|
|
<rank>140</rank>
|
|
</item>
|
|
<item id="providercontracts_list">
|
|
<rank>150</rank>
|
|
</item>
|
|
<item id="services_list">
|
|
<rank>160</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="move2production">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="org_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="system_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="software_id">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="OtherSoftware" _delta="define">
|
|
<parent>SoftwareInstance</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>othersoftware</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s %2$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="system_name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/application.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="organization_name"/>
|
|
<attribute id="system_id"/>
|
|
<attribute id="system_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields/>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="system_id">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="software_id">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="softwarelicence_id">
|
|
<rank>70</rank>
|
|
</item>
|
|
<item id="path">
|
|
<rank>80</rank>
|
|
</item>
|
|
<item id="move2production">
|
|
<rank>90</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>100</rank>
|
|
</item>
|
|
<item id="contacts_list">
|
|
<rank>110</rank>
|
|
</item>
|
|
<item id="documents_list">
|
|
<rank>120</rank>
|
|
</item>
|
|
<item id="tickets_list">
|
|
<rank>130</rank>
|
|
</item>
|
|
<item id="applicationsolution_list">
|
|
<rank>140</rank>
|
|
</item>
|
|
<item id="providercontracts_list">
|
|
<rank>150</rank>
|
|
</item>
|
|
<item id="services_list">
|
|
<rank>160</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="move2production">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="org_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="system_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="software_id">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="MiddlewareInstance" _delta="define">
|
|
<parent>FunctionalCI</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>middlewareinstance</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/middleware.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="organization_name"/>
|
|
<attribute id="middleware_id"/>
|
|
<attribute id="middleware_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</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>
|
|
<methods>
|
|
<method id="GetRelationQueries">
|
|
<static>true</static>
|
|
<access>public</access>
|
|
<type>Overload-DBObject</type>
|
|
<code><![CDATA[ public static function GetRelationQueries($sRelCode)
|
|
{
|
|
switch ($sRelCode)
|
|
{
|
|
case "impacts":
|
|
$aRels = array(
|
|
);
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
|
|
case 'depends on':
|
|
$aRels = array(
|
|
"Middleware" => array("sQuery"=>"SELECT Middleware WHERE id = :this->middleware_id", "bPropagate"=>true, "iDistance"=>10),
|
|
|
|
);
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
|
|
default:
|
|
return parent::GetRelationQueries($sRelCode);
|
|
}
|
|
}]]></code>
|
|
</method>
|
|
</methods>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="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="tickets_list">
|
|
<rank>90</rank>
|
|
</item>
|
|
<item id="applicationsolution_list">
|
|
<rank>100</rank>
|
|
</item>
|
|
<item id="providercontracts_list">
|
|
<rank>110</rank>
|
|
</item>
|
|
<item id="services_list">
|
|
<rank>120</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="move2production">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="org_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="move2production">
|
|
<rank>30</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</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>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/database-schema.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="organization_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</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>
|
|
<methods>
|
|
<method id="GetRelationQueries">
|
|
<static>true</static>
|
|
<access>public</access>
|
|
<type>Overload-DBObject</type>
|
|
<code><![CDATA[ public static function GetRelationQueries($sRelCode)
|
|
{
|
|
switch ($sRelCode)
|
|
{
|
|
case "impacts":
|
|
$aRels = array(
|
|
);
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
|
|
case 'depends on':
|
|
$aRels = array(
|
|
"DBServer" => array("sQuery"=>"SELECT DBServer WHERE id = :this->dbserver_id", "bPropagate"=>true, "iDistance"=>10),
|
|
|
|
);
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
|
|
default:
|
|
return parent::GetRelationQueries($sRelCode);
|
|
}
|
|
}]]></code>
|
|
</method>
|
|
</methods>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="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="tickets_list">
|
|
<rank>90</rank>
|
|
</item>
|
|
<item id="applicationsolution_list">
|
|
<rank>100</rank>
|
|
</item>
|
|
<item id="providercontracts_list">
|
|
<rank>110</rank>
|
|
</item>
|
|
<item id="services_list">
|
|
<rank>120</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="move2production">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="org_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="move2production">
|
|
<rank>30</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</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>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/webapp.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="organization_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</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>
|
|
<methods>
|
|
<method id="GetRelationQueries">
|
|
<static>true</static>
|
|
<access>public</access>
|
|
<type>Overload-DBObject</type>
|
|
<code><![CDATA[ public static function GetRelationQueries($sRelCode)
|
|
{
|
|
switch ($sRelCode)
|
|
{
|
|
case "impacts":
|
|
$aRels = array(
|
|
);
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
|
|
case 'depends on':
|
|
$aRels = array(
|
|
"WebServer" => array("sQuery"=>"SELECT WebServer WHERE id = :this->webserver_id", "bPropagate"=>true, "iDistance"=>10),
|
|
|
|
);
|
|
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
|
|
break;
|
|
|
|
default:
|
|
return parent::GetRelationQueries($sRelCode);
|
|
}
|
|
}]]></code>
|
|
</method>
|
|
</methods>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="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="tickets_list">
|
|
<rank>100</rank>
|
|
</item>
|
|
<item id="applicationsolution_list">
|
|
<rank>110</rank>
|
|
</item>
|
|
<item id="providercontracts_list">
|
|
<rank>120</rank>
|
|
</item>
|
|
<item id="services_list">
|
|
<rank>130</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="move2production">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="org_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="business_criticity">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="move2production">
|
|
<rank>30</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</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>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="version"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/software.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="version"/>
|
|
<attribute id="vendor"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="name" xsi:type="AttributeString">
|
|
<sql>name</sql>
|
|
<default_value/>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
</field>
|
|
<field id="vendor" xsi:type="AttributeString">
|
|
<sql>vendor</sql>
|
|
<default_value/>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
</field>
|
|
<field id="version" xsi:type="AttributeString">
|
|
<sql>version</sql>
|
|
<default_value/>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
</field>
|
|
<field id="documents_list" xsi:type="AttributeLinkedSetIndirect">
|
|
<linked_class>lnkDocumentToSoftware</linked_class>
|
|
<ext_key_to_me>software_id</ext_key_to_me>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
<ext_key_to_remote>document_id</ext_key_to_remote>
|
|
<duplicates/>
|
|
</field>
|
|
<field id="type" xsi:type="AttributeEnum">
|
|
<values>
|
|
<value>Middleware</value>
|
|
<value>DBServer</value>
|
|
<value>PCSoftware</value>
|
|
<value>OtherSoftware</value>
|
|
<value>WebServer</value>
|
|
</values>
|
|
<sql>type</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
<display_style>list</display_style>
|
|
</field>
|
|
<field id="softwareinstance_list" xsi:type="AttributeLinkedSet">
|
|
<linked_class>SoftwareInstance</linked_class>
|
|
<ext_key_to_me>software_id</ext_key_to_me>
|
|
<edit_mode>add_only</edit_mode>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
</field>
|
|
<field id="softwarepatch_list" xsi:type="AttributeLinkedSet">
|
|
<linked_class>SoftwarePatch</linked_class>
|
|
<ext_key_to_me>software_id</ext_key_to_me>
|
|
<edit_mode>add_only</edit_mode>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
</field>
|
|
<field id="softwarelicence_list" xsi:type="AttributeLinkedSet">
|
|
<linked_class>SoftwareLicence</linked_class>
|
|
<ext_key_to_me>software_id</ext_key_to_me>
|
|
<edit_mode>add_only</edit_mode>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="vendor">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="version">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="documents_list">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="type">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="softwareinstance_list">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="softwarepatch_list">
|
|
<rank>70</rank>
|
|
</item>
|
|
<item id="softwarelicence_list">
|
|
<rank>80</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="vendor">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="version">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="type">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="vendor">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="version">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="type">
|
|
<rank>30</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="Patch" _delta="define">
|
|
<parent>cmdbAbstractObject</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable</category>
|
|
<abstract>true</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>patch</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field>finalclass</db_final_class_field>
|
|
<naming>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/patch.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</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>
|
|
<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>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/patch.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="functionalcis_list" xsi:type="AttributeLinkedSetIndirect">
|
|
<linked_class>lnkFunctionalCIToOSPatch</linked_class>
|
|
<ext_key_to_me>ospatch_id</ext_key_to_me>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
<ext_key_to_remote>functionalci_id</ext_key_to_remote>
|
|
<duplicates/>
|
|
</field>
|
|
<field id="osversion_id" xsi:type="AttributeExternalKey">
|
|
<sql>osversion_id</sql>
|
|
<target_class>OSVersion</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="osversion_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>osversion_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="documents_list">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="functionalcis_list">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="osversion_id">
|
|
<rank>50</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="osversion_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="description">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="osversion_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="SoftwarePatch" _delta="define">
|
|
<parent>Patch</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>softwarepatch</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/patch.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="software_id" xsi:type="AttributeExternalKey">
|
|
<sql>software_id</sql>
|
|
<target_class>Software</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="software_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>software_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="softwareinstances_list" xsi:type="AttributeLinkedSetIndirect">
|
|
<linked_class>lnkSoftwareInstanceToSoftwarePatch</linked_class>
|
|
<ext_key_to_me>softwarepatch_id</ext_key_to_me>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
<ext_key_to_remote>softwareinstance_id</ext_key_to_remote>
|
|
<duplicates/>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="documents_list">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="software_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="softwareinstances_list">
|
|
<rank>50</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="software_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>30</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="software_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="Licence" _delta="define">
|
|
<parent>cmdbAbstractObject</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable</category>
|
|
<abstract>true</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>licence</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field>finalclass</db_final_class_field>
|
|
<naming>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/licence.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="organization_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="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>yes</value>
|
|
<value>no</value>
|
|
</values>
|
|
<sql>perpetual</sql>
|
|
<default_value>no</default_value>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<display_style>list</display_style>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="documents_list">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="usage_limit">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="perpetual">
|
|
<rank>55</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>
|
|
</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="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>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/licence.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="organization_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="osversion_id" xsi:type="AttributeExternalKey">
|
|
<sql>osversion_id</sql>
|
|
<target_class>OSVersion</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="osversion_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>osversion_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="virtualmachines_list" xsi:type="AttributeLinkedSet">
|
|
<linked_class>VirtualMachine</linked_class>
|
|
<ext_key_to_me>oslicence_id</ext_key_to_me>
|
|
<edit_mode>none</edit_mode>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
</field>
|
|
<field id="servers_list" xsi:type="AttributeLinkedSet">
|
|
<linked_class>Server</linked_class>
|
|
<ext_key_to_me>oslicence_id</ext_key_to_me>
|
|
<edit_mode>none</edit_mode>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="documents_list">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="osversion_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="usage_limit">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="perpetual">
|
|
<rank>65</rank>
|
|
</item>
|
|
<item id="start_date">
|
|
<rank>70</rank>
|
|
</item>
|
|
<item id="end_date">
|
|
<rank>80</rank>
|
|
</item>
|
|
<item id="licence_key">
|
|
<rank>90</rank>
|
|
</item>
|
|
<item id="servers_list">
|
|
<rank>100</rank>
|
|
</item>
|
|
<item id="virtualmachines_list">
|
|
<rank>110</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="perpetual">
|
|
<rank>15</rank>
|
|
</item>
|
|
<item id="start_date">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="end_date">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="licence_key">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="osversion_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="usage_limit">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="start_date">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="end_date">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="licence_key">
|
|
<rank>70</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="SoftwareLicence" _delta="define">
|
|
<parent>Licence</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>softwarelicence</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/licence.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="organization_name"/>
|
|
<attribute id="software_id"/>
|
|
<attribute id="software_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="software_id" xsi:type="AttributeExternalKey">
|
|
<sql>software_id</sql>
|
|
<target_class>Software</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="software_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>software_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="softwareinstance_list" xsi:type="AttributeLinkedSet">
|
|
<linked_class>SoftwareInstance</linked_class>
|
|
<ext_key_to_me>softwarelicence_id</ext_key_to_me>
|
|
<edit_mode>none</edit_mode>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="documents_list">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="software_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="usage_limit">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="perpetual">
|
|
<rank>65</rank>
|
|
</item>
|
|
<item id="start_date">
|
|
<rank>70</rank>
|
|
</item>
|
|
<item id="end_date">
|
|
<rank>80</rank>
|
|
</item>
|
|
<item id="licence_key">
|
|
<rank>90</rank>
|
|
</item>
|
|
<item id="softwareinstance_list">
|
|
<rank>100</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="perpetual">
|
|
<rank>15</rank>
|
|
</item>
|
|
<item id="start_date">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="end_date">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="licence_key">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="software_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="usage_limit">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="start_date">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="end_date">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="licence_key">
|
|
<rank>70</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="lnkDocumentToLicence" _delta="define">
|
|
<parent>cmdbAbstractObject</parent>
|
|
<properties>
|
|
<is_link>1</is_link>
|
|
<category>bizmodel</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>lnkdocumenttolicence</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s %2$s</format>
|
|
<attributes>
|
|
<attribute id="licence_id"/>
|
|
<attribute id="document_id"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon/>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="licence_id"/>
|
|
<attribute id="document_id"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="licence_id" xsi:type="AttributeExternalKey">
|
|
<sql>licence_id</sql>
|
|
<target_class>Licence</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="licence_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>licence_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="document_id" xsi:type="AttributeExternalKey">
|
|
<sql>document_id</sql>
|
|
<target_class>Document</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="document_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>document_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="licence_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="document_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="licence_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="document_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="licence_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="document_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="Typology" _delta="define">
|
|
<parent>cmdbAbstractObject</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable</category>
|
|
<abstract>true</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>typology</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field>finalclass</db_final_class_field>
|
|
<naming>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon/>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</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>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="finalclass">
|
|
<rank>10</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="OSVersion" _delta="define">
|
|
<parent>Typology</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>osversion</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon/>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="osfamily_id"/>
|
|
<attribute id="osfamily_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="osfamily_id" xsi:type="AttributeExternalKey">
|
|
<sql>osfamily_id</sql>
|
|
<target_class>OSFamily</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="osfamily_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>osfamily_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="osfamily_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="osfamily_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="OSFamily" _delta="define">
|
|
<parent>Typology</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>osfamily</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon/>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields/>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="DocumentType" _delta="define">
|
|
<parent>Typology</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>documenttype</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon/>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields/>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="ContactType" _delta="define">
|
|
<parent>Typology</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>contacttype</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon/>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields/>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="Brand" _delta="define">
|
|
<parent>Typology</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>brand</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon/>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="physicaldevices_list" xsi:type="AttributeLinkedSet">
|
|
<linked_class>PhysicalDevice</linked_class>
|
|
<ext_key_to_me>brand_id</ext_key_to_me>
|
|
<edit_mode>add_only</edit_mode>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
<duplicates/>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="physicaldevices_list">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="Model" _delta="define">
|
|
<parent>Typology</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>model</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon/>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="brand_id"/>
|
|
<attribute id="brand_name"/>
|
|
<attribute id="type"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="brand_id" xsi:type="AttributeExternalKey">
|
|
<sql>brand_id</sql>
|
|
<target_class>Brand</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="brand_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>brand_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="type" xsi:type="AttributeEnum">
|
|
<values>
|
|
<value>NetworkDevice</value>
|
|
<value>Server</value>
|
|
<value>SANSwitch</value>
|
|
<value>StorageSystem</value>
|
|
<value>Rack</value>
|
|
<value>Enclosure</value>
|
|
<value>PC</value>
|
|
<value>Tablet</value>
|
|
<value>Telephone</value>
|
|
<value>MobilePhone</value>
|
|
<value>Printer</value>
|
|
<value>DiskArray</value>
|
|
<value>NAS</value>
|
|
<value>TapeLibrary</value>
|
|
<value>IPPhone</value>
|
|
<value>Peripheral</value>
|
|
<value>PowerSource</value>
|
|
<value>PDU</value>
|
|
</values>
|
|
<sql>type</sql>
|
|
<default_value/>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<display_style>list</display_style>
|
|
</field>
|
|
<field id="physicaldevices_list" xsi:type="AttributeLinkedSet">
|
|
<linked_class>PhysicalDevice</linked_class>
|
|
<ext_key_to_me>model_id</ext_key_to_me>
|
|
<edit_mode>add_only</edit_mode>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
<duplicates/>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="brand_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="type">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="physicaldevices_list">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="type">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="brand_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="type">
|
|
<rank>30</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="NetworkDeviceType" _delta="define">
|
|
<parent>Typology</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>networkdevicetype</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon/>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="networkdevicesdevices_list" xsi:type="AttributeLinkedSet">
|
|
<linked_class>NetworkDevice</linked_class>
|
|
<ext_key_to_me>networkdevicetype_id</ext_key_to_me>
|
|
<edit_mode>add_only</edit_mode>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
<duplicates/>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="networkdevicesdevices_list">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="IOSVersion" _delta="define">
|
|
<parent>Typology</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>iosversion</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s %2$s</format>
|
|
<attributes>
|
|
<attribute id="brand_name"/>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon/>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="brand_id"/>
|
|
<attribute id="brand_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="brand_id" xsi:type="AttributeExternalKey">
|
|
<sql>brand_id</sql>
|
|
<target_class>Brand</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="brand_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>brand_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="brand_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="brand_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="lnkDocumentToPatch" _delta="define">
|
|
<parent>cmdbAbstractObject</parent>
|
|
<properties>
|
|
<is_link>1</is_link>
|
|
<category>bizmodel</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>lnkdocumenttopatch</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s %2$s</format>
|
|
<attributes>
|
|
<attribute id="patch_id"/>
|
|
<attribute id="document_id"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon/>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="patch_id"/>
|
|
<attribute id="document_id"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="patch_id" xsi:type="AttributeExternalKey">
|
|
<sql>patch_id</sql>
|
|
<target_class>Patch</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="patch_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>patch_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="document_id" xsi:type="AttributeExternalKey">
|
|
<sql>document_id</sql>
|
|
<target_class>Document</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="document_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>document_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="patch_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="document_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="patch_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="document_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="patch_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="document_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="lnkSoftwareInstanceToSoftwarePatch" _delta="define">
|
|
<parent>cmdbAbstractObject</parent>
|
|
<properties>
|
|
<is_link>1</is_link>
|
|
<category>bizmodel</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>lnksoftwareinstancetosoftwarepatch</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s %2$s</format>
|
|
<attributes>
|
|
<attribute id="softwarepatch_id"/>
|
|
<attribute id="softwareinstance_id"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon/>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="softwarepatch_id"/>
|
|
<attribute id="softwareinstance_id"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="softwarepatch_id" xsi:type="AttributeExternalKey">
|
|
<sql>softwarepatch_id</sql>
|
|
<target_class>SoftwarePatch</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="softwarepatch_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>softwarepatch_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="softwareinstance_id" xsi:type="AttributeExternalKey">
|
|
<sql>softwareinstance_id</sql>
|
|
<target_class>SoftwareInstance</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="softwareinstance_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>softwareinstance_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="softwarepatch_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="softwareinstance_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="softwarepatch_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="softwareinstance_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="softwarepatch_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="softwareinstance_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="lnkFunctionalCIToOSPatch" _delta="define">
|
|
<parent>cmdbAbstractObject</parent>
|
|
<properties>
|
|
<is_link>1</is_link>
|
|
<category>bizmodel</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>lnkfunctionalcitoospatch</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s %2$s</format>
|
|
<attributes>
|
|
<attribute id="ospatch_id"/>
|
|
<attribute id="functionalci_id"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon/>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="ospatch_id"/>
|
|
<attribute id="functionalci_id"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="ospatch_id" xsi:type="AttributeExternalKey">
|
|
<sql>ospatch_id</sql>
|
|
<target_class>OSPatch</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="ospatch_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>ospatch_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="functionalci_id" xsi:type="AttributeExternalKey">
|
|
<sql>functionalci_id</sql>
|
|
<target_class>FunctionalCI</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="functionalci_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>functionalci_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="ospatch_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="functionalci_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="ospatch_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="functionalci_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="ospatch_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="functionalci_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="lnkDocumentToSoftware" _delta="define">
|
|
<parent>cmdbAbstractObject</parent>
|
|
<properties>
|
|
<is_link>1</is_link>
|
|
<category>bizmodel</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>lnkdocumenttosoftware</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s %2$s</format>
|
|
<attributes>
|
|
<attribute id="software_id"/>
|
|
<attribute id="document_id"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon/>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="software_id"/>
|
|
<attribute id="document_id"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="software_id" xsi:type="AttributeExternalKey">
|
|
<sql>software_id</sql>
|
|
<target_class>Software</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="software_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>software_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="document_id" xsi:type="AttributeExternalKey">
|
|
<sql>document_id</sql>
|
|
<target_class>Document</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="document_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>document_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="software_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="document_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="software_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="document_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="software_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="document_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="lnkContactToFunctionalCI" _delta="define">
|
|
<parent>cmdbAbstractObject</parent>
|
|
<properties>
|
|
<is_link>1</is_link>
|
|
<category>bizmodel</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>lnkcontacttofunctionalci</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s %2$s</format>
|
|
<attributes>
|
|
<attribute id="functionalci_id"/>
|
|
<attribute id="contact_id"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon/>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="functionalci_id"/>
|
|
<attribute id="contact_id"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="functionalci_id" xsi:type="AttributeExternalKey">
|
|
<sql>functionalci_id</sql>
|
|
<target_class>FunctionalCI</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="functionalci_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>functionalci_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="contact_id" xsi:type="AttributeExternalKey">
|
|
<sql>contact_id</sql>
|
|
<target_class>Contact</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="contact_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>contact_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="functionalci_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="contact_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="functionalci_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="contact_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="functionalci_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="contact_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="lnkDocumentToFunctionalCI" _delta="define">
|
|
<parent>cmdbAbstractObject</parent>
|
|
<properties>
|
|
<is_link>1</is_link>
|
|
<category>bizmodel</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>lnkdocumenttofunctionalci</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s %2$s</format>
|
|
<attributes>
|
|
<attribute id="functionalci_id"/>
|
|
<attribute id="document_id"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon/>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="functionalci_id"/>
|
|
<attribute id="document_id"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="functionalci_id" xsi:type="AttributeExternalKey">
|
|
<sql>functionalci_id</sql>
|
|
<target_class>FunctionalCI</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="functionalci_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>functionalci_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="document_id" xsi:type="AttributeExternalKey">
|
|
<sql>document_id</sql>
|
|
<target_class>Document</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="document_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>document_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="functionalci_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="document_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="functionalci_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="document_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="functionalci_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="document_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="Subnet" _delta="define">
|
|
<parent>cmdbAbstractObject</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable,configmgmt</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>subnet</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s %2$s</format>
|
|
<attributes>
|
|
<attribute id="ip"/>
|
|
<attribute id="ip_mask"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/subnet.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="ip"/>
|
|
<attribute id="ip_mask"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="org_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="description" xsi:type="AttributeText">
|
|
<sql>description</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
<field id="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>
|
|
</fields>
|
|
<methods>
|
|
<method id="DisplayBareRelations">
|
|
<static>false</static>
|
|
<access>public</access>
|
|
<type>Overload-cmdbAbstractObject</type>
|
|
<code><![CDATA[ function DisplayBareRelations(WebPage $oPage, $bEditMode = false)
|
|
{
|
|
parent::DisplayBareRelations($oPage, $bEditMode);
|
|
|
|
if (!$bEditMode)
|
|
{
|
|
$oPage->SetCurrentTab(Dict::S('Class:Subnet/Tab:IPUsage'));
|
|
|
|
$bit_ip = ip2long($this->Get('ip'));
|
|
$bit_mask = ip2long($this->Get('ip_mask'));
|
|
|
|
$iIPMin = sprintf('%u', ($bit_ip & $bit_mask) | 1); // exclude the first one: identifies the subnet itself
|
|
$iIPMax = sprintf('%u', (($bit_ip | (~$bit_mask))) & 0xfffffffe); // exclude the last one : broadcast address
|
|
|
|
$sIPMin = long2ip($iIPMin);
|
|
$sIPMax = long2ip($iIPMax);
|
|
|
|
$oPage->p(Dict::Format('Class:Subnet/Tab:IPUsage-explain', $sIPMin, $sIPMax));
|
|
|
|
$oIfFilter = DBObjectSearch::FromOQL("SELECT IPInterface AS if WHERE INET_ATON(if.ipaddress) >= INET_ATON('$sIPMin') AND INET_ATON(if.ipaddress) <= INET_ATON('$sIPMax')");
|
|
$oIfSet = new CMDBObjectSet($oIfFilter);
|
|
$oBlock = new DisplayBlock($oIfFilter, 'list', false);
|
|
$oBlock->Display($oPage, 'nwif', array('menu' => false));
|
|
|
|
$iCountUsed = $oIfSet->Count();
|
|
$iCountRange = $iIPMax - $iIPMin; // On 32-bit systems the substraction will be computed using floats for values greater than PHP_MAX_INT;
|
|
$iFreeCount = $iCountRange - $iCountUsed;
|
|
|
|
$oPage->SetCurrentTab(Dict::S('Class:Subnet/Tab:FreeIPs'));
|
|
$oPage->p(Dict::Format('Class:Subnet/Tab:FreeIPs-count', $iFreeCount));
|
|
$oPage->p(Dict::S('Class:Subnet/Tab:FreeIPs-explain'));
|
|
|
|
$aUsedIPs = $oIfSet->GetColumnAsArray('ipaddress', false);
|
|
$iAnIP = $iIPMin;
|
|
$iFound = 0;
|
|
while (($iFound < min($iFreeCount, 10)) && ($iAnIP <= $iIPMax))
|
|
{
|
|
$sAnIP = long2ip($iAnIP);
|
|
if (!in_array($sAnIP, $aUsedIPs))
|
|
{
|
|
$iFound++;
|
|
$oPage->p($sAnIP);
|
|
}
|
|
else
|
|
{
|
|
}
|
|
$iAnIP++;
|
|
}
|
|
}
|
|
}]]></code>
|
|
</method>
|
|
</methods>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="ip">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="ip_mask">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="ip">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="ip_mask">
|
|
<rank>20</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="org_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>40</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>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/interface.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</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>
|
|
<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>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/interface.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</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>6</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>
|
|
<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>
|
|
<format>%1$s %2$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="connectableci_name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/interface.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="connectableci_id"/>
|
|
<attribute id="connectableci_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</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>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="connectableci_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="ipaddress">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="macaddress">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="comment">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="ipgateway">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="ipmask">
|
|
<rank>70</rank>
|
|
</item>
|
|
<item id="speed">
|
|
<rank>80</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="ipaddress">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="macaddress">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="ipgateway">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="ipmask">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="ipaddress">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="macaddress">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="comment">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="ipgateway">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="ipmask">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="speed">
|
|
<rank>60</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="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>
|
|
<format>%1$s %2$s</format>
|
|
<attributes>
|
|
<attribute id="networkdevice_id"/>
|
|
<attribute id="connectableci_id"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon/>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="networkdevice_id"/>
|
|
<attribute id="connectableci_id"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="networkdevice_id" xsi:type="AttributeExternalKey">
|
|
<sql>networkdevice_id</sql>
|
|
<target_class>NetworkDevice</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="networkdevice_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>networkdevice_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="connectableci_id" xsi:type="AttributeExternalKey">
|
|
<sql>connectableci_id</sql>
|
|
<target_class>ConnectableCI</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="connectableci_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>connectableci_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="network_port" xsi:type="AttributeString">
|
|
<sql>network_port</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
<field id="device_port" xsi:type="AttributeString">
|
|
<sql>device_port</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
<field id="connection_type" xsi:type="AttributeEnum">
|
|
<values>
|
|
<value>uplink</value>
|
|
<value>downlink</value>
|
|
</values>
|
|
<sql>type</sql>
|
|
<default_value>downlink</default_value>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<display_style>list</display_style>
|
|
</field>
|
|
</fields>
|
|
<methods>
|
|
<method id="AddConnectedNetworkDevice">
|
|
<static>false</static>
|
|
<access>protected</access>
|
|
<type>Overload-cmdbAbstractObject</type>
|
|
<code><![CDATA[ protected function AddConnectedNetworkDevice()
|
|
{
|
|
$iNetworkDeviceID = $this->Get('networkdevice_id');
|
|
$iDeviceID = $this->Get('connectableci_id');
|
|
$oDevice = MetaModel::GetObject('ConnectableCI', $this->Get('connectableci_id'));
|
|
|
|
$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'),
|
|
)
|
|
);
|
|
$iAlreadyExist = $oConnectionSet->count();
|
|
if ((get_class($oDevice) == 'NetworkDevice') && ($iAlreadyExist == 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);
|
|
|
|
$oMyChange = MetaModel::NewObject("CMDBChange");
|
|
$oMyChange->Set("date", time());
|
|
if (UserRights::IsImpersonated())
|
|
{
|
|
$sUserString = Dict::Format('UI:Archive_User_OnBehalfOf_User', UserRights::GetRealUser(), UserRights::GetUser());
|
|
}
|
|
else
|
|
{
|
|
$sUserString = UserRights::GetUser();
|
|
}
|
|
$oMyChange->Set("userinfo", $sUserString);
|
|
$iChangeId = $oMyChange->DBInsert();
|
|
$oNewLink->DBInsertTracked($oMyChange);
|
|
|
|
}
|
|
|
|
}]]></code>
|
|
</method>
|
|
<method id="UpdateConnectedNetworkDevice">
|
|
<static>false</static>
|
|
<access>protected</access>
|
|
<type>Overload-cmdbAbstractObject</type>
|
|
<code><![CDATA[ protected function UpdateConnectedNetworkDevice()
|
|
{
|
|
$iNetworkDeviceID = $this->Get('networkdevice_id');
|
|
$iDeviceID = $this->Get('connectableci_id');
|
|
$oDevice = MetaModel::GetObject('ConnectableCI', $this->Get('connectableci_id'));
|
|
|
|
$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'),
|
|
)
|
|
);
|
|
$iAlreadyExist = $oConnectionSet->count();
|
|
if ((get_class($oDevice) == 'NetworkDevice') && ($iAlreadyExist != 0))
|
|
{
|
|
|
|
$sLink = $this->Get('connection_type');
|
|
$sConnLink = ($sLink == 'uplink') ? 'downlink' : 'uplink';
|
|
|
|
$oMyChange = MetaModel::NewObject("CMDBChange");
|
|
$oMyChange->Set("date", time());
|
|
if (UserRights::IsImpersonated())
|
|
{
|
|
$sUserString = Dict::Format('UI:Archive_User_OnBehalfOf_User', UserRights::GetRealUser(), UserRights::GetUser());
|
|
}
|
|
else
|
|
{
|
|
$sUserString = UserRights::GetUser();
|
|
}
|
|
$oMyChange->Set("userinfo", $sUserString);
|
|
$iChangeId = $oMyChange->DBInsert();
|
|
$oConnection = $oConnectionSet->Fetch();
|
|
$oConnection->Set('connection_type', $sConnLink);
|
|
$oConnection->DBUpdateTracked($oMyChange);
|
|
|
|
}
|
|
|
|
}]]></code>
|
|
</method>
|
|
<method id="DeleteConnectedNetworkDevice">
|
|
<static>false</static>
|
|
<access>protected</access>
|
|
<type>Overload-cmdbAbstractObject</type>
|
|
<code><![CDATA[ protected function DeleteConnectedNetworkDevice()
|
|
{
|
|
$iNetworkDeviceID = $this->Get('networkdevice_id');
|
|
$iDeviceID = $this->Get('connectableci_id');
|
|
|
|
$oDevice = MetaModel::GetObject('ConnectableCI', $this->Get('connectableci_id'));
|
|
|
|
$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'),
|
|
)
|
|
);
|
|
$iAlreadyExist = $oConnectionSet->count();
|
|
if ((get_class($oDevice) == 'NetworkDevice') && ($iAlreadyExist != 0))
|
|
{
|
|
$oMyChange = MetaModel::NewObject("CMDBChange");
|
|
$oMyChange->Set("date", time());
|
|
if (UserRights::IsImpersonated())
|
|
{
|
|
$sUserString = Dict::Format('UI:Archive_User_OnBehalfOf_User', UserRights::GetRealUser(), UserRights::GetUser());
|
|
}
|
|
else
|
|
{
|
|
$sUserString = UserRights::GetUser();
|
|
}
|
|
$oMyChange->Set("userinfo", $sUserString);
|
|
$iChangeId = $oMyChange->DBInsert();
|
|
$oConnection = $oConnectionSet->Fetch();
|
|
$oConnection->DBDeleteTracked($oMyChange);
|
|
|
|
}
|
|
|
|
}]]></code>
|
|
</method>
|
|
<method id="AfterInsert">
|
|
<static>false</static>
|
|
<access>protected</access>
|
|
<type>Overload-DBObject</type>
|
|
<code><![CDATA[ protected function AfterInsert()
|
|
{
|
|
$this->AddConnectedNetworkDevice();
|
|
parent::AfterInsert();
|
|
}]]></code>
|
|
</method>
|
|
<method id="AfterUpdate">
|
|
<static>false</static>
|
|
<access>protected</access>
|
|
<type>Overload-DBObject</type>
|
|
<code><![CDATA[ protected function AfterUpdate()
|
|
{
|
|
$this->UpdateConnectedNetworkDevice();
|
|
parent::AfterUpdate();
|
|
}]]></code>
|
|
</method>
|
|
<method id="AfterDelete">
|
|
<static>false</static>
|
|
<access>protected</access>
|
|
<type>Overload-DBObject</type>
|
|
<code><![CDATA[ protected function AfterDelete()
|
|
{
|
|
$this->DeleteConnectedNetworkDevice();
|
|
parent::AfterDelete();
|
|
}]]></code>
|
|
</method>
|
|
</methods>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="networkdevice_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="connectableci_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="network_port">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="device_port">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="connection_type">
|
|
<rank>50</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="networkdevice_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="connectableci_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="network_port">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="device_port">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="connection_type">
|
|
<rank>50</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="networkdevice_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="connectableci_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="network_port">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="device_port">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="connection_type">
|
|
<rank>50</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="lnkApplicationSolutionToFunctionalCI" _delta="define">
|
|
<parent>cmdbAbstractObject</parent>
|
|
<properties>
|
|
<is_link>1</is_link>
|
|
<category>bizmodel</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>lnkapplicationsolutiontofunctionalci</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s %2$s</format>
|
|
<attributes>
|
|
<attribute id="applicationsolution_id"/>
|
|
<attribute id="functionalci_id"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon/>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="applicationsolution_id"/>
|
|
<attribute id="functionalci_id"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="applicationsolution_id" xsi:type="AttributeExternalKey">
|
|
<sql>applicationsolution_id</sql>
|
|
<target_class>ApplicationSolution</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="applicationsolution_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>applicationsolution_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="functionalci_id" xsi:type="AttributeExternalKey">
|
|
<sql>functionalci_id</sql>
|
|
<target_class>FunctionalCI</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="functionalci_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>functionalci_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="applicationsolution_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="functionalci_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="applicationsolution_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="functionalci_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="applicationsolution_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="functionalci_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="lnkApplicationSolutionToBusinessProcess" _delta="define">
|
|
<parent>cmdbAbstractObject</parent>
|
|
<properties>
|
|
<is_link>1</is_link>
|
|
<category>bizmodel</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>lnkapplicationsolutiontobusinessprocess</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s %2$s</format>
|
|
<attributes>
|
|
<attribute id="businessprocess_id"/>
|
|
<attribute id="applicationsolution_id"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon/>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="businessprocess_id"/>
|
|
<attribute id="applicationsolution_id"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="businessprocess_id" xsi:type="AttributeExternalKey">
|
|
<sql>businessprocess_id</sql>
|
|
<target_class>BusinessProcess</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="businessprocess_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>businessprocess_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="applicationsolution_id" xsi:type="AttributeExternalKey">
|
|
<sql>applicationsolution_id</sql>
|
|
<target_class>ApplicationSolution</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="applicationsolution_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>applicationsolution_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="businessprocess_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="applicationsolution_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="businessprocess_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="applicationsolution_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="businessprocess_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="applicationsolution_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="lnkPersonToTeam" _delta="define">
|
|
<parent>cmdbAbstractObject</parent>
|
|
<properties>
|
|
<is_link>1</is_link>
|
|
<category>bizmodel</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>lnkpersontoteam</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s %2$s</format>
|
|
<attributes>
|
|
<attribute id="team_id"/>
|
|
<attribute id="person_id"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon/>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="team_id"/>
|
|
<attribute id="person_id"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="team_id" xsi:type="AttributeExternalKey">
|
|
<sql>team_id</sql>
|
|
<target_class>Team</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="team_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>team_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="person_id" xsi:type="AttributeExternalKey">
|
|
<sql>person_id</sql>
|
|
<target_class>Person</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="person_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>person_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="role_id" xsi:type="AttributeExternalKey">
|
|
<sql>role_id</sql>
|
|
<target_class>ContactType</target_class>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="role_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>role_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="team_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="person_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="role_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="team_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="person_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="role_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="team_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="person_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="role_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="Group" _delta="define">
|
|
<parent>cmdbAbstractObject</parent>
|
|
<properties>
|
|
<category>bizmodel,searchable,configmgmt</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>group</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon>images/group.png</icon>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="name"/>
|
|
<attribute id="org_id"/>
|
|
<attribute id="owner_name"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="name" xsi:type="AttributeString">
|
|
<sql>name</sql>
|
|
<default_value/>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
</field>
|
|
<field id="status" xsi:type="AttributeEnum">
|
|
<values>
|
|
<value>production</value>
|
|
<value>implementation</value>
|
|
<value>obsolete</value>
|
|
</values>
|
|
<sql>status</sql>
|
|
<default_value>implementation</default_value>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<display_style>list</display_style>
|
|
</field>
|
|
<field id="org_id" xsi:type="AttributeExternalKey">
|
|
<sql>org_id</sql>
|
|
<target_class>Organization</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="owner_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>org_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="description" xsi:type="AttributeText">
|
|
<sql>description</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
<field id="type" xsi:type="AttributeString">
|
|
<sql>type</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
<field id="parent_id" xsi:type="AttributeHierarchicalKey">
|
|
<dependencies>
|
|
<attribute id="org_id"/>
|
|
</dependencies>
|
|
<sql>parent_id</sql>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
<on_target_delete>DEL_MANUAL</on_target_delete>
|
|
</field>
|
|
<field id="parent_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>parent_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="ci_list" xsi:type="AttributeLinkedSetIndirect">
|
|
<linked_class>lnkGroupToCI</linked_class>
|
|
<ext_key_to_me>group_id</ext_key_to_me>
|
|
<count_min>0</count_min>
|
|
<count_max>0</count_max>
|
|
<ext_key_to_remote>ci_id</ext_key_to_remote>
|
|
<duplicates/>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="type">
|
|
<rank>40</rank>
|
|
</item>
|
|
<item id="description">
|
|
<rank>50</rank>
|
|
</item>
|
|
<item id="parent_id">
|
|
<rank>60</rank>
|
|
</item>
|
|
<item id="ci_list">
|
|
<rank>70</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="name">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="status">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="type">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="status">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="org_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="type">
|
|
<rank>30</rank>
|
|
</item>
|
|
<item id="parent_id">
|
|
<rank>40</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
<class id="lnkGroupToCI" _delta="define">
|
|
<parent>cmdbAbstractObject</parent>
|
|
<properties>
|
|
<is_link>1</is_link>
|
|
<category>bizmodel,configmgmt</category>
|
|
<abstract>false</abstract>
|
|
<key_type>autoincrement</key_type>
|
|
<db_table>lnkgrouptoci</db_table>
|
|
<db_key_field>id</db_key_field>
|
|
<db_final_class_field/>
|
|
<naming>
|
|
<format>%1$s</format>
|
|
<attributes>
|
|
<attribute id="group_id"/>
|
|
</attributes>
|
|
</naming>
|
|
<display_template/>
|
|
<icon/>
|
|
<reconciliation>
|
|
<attributes>
|
|
<attribute id="group_id"/>
|
|
<attribute id="ci_id"/>
|
|
</attributes>
|
|
</reconciliation>
|
|
</properties>
|
|
<fields>
|
|
<field id="group_id" xsi:type="AttributeExternalKey">
|
|
<sql>group_id</sql>
|
|
<target_class>Group</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="group_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>group_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="ci_id" xsi:type="AttributeExternalKey">
|
|
<sql>ci_id</sql>
|
|
<target_class>FunctionalCI</target_class>
|
|
<is_null_allowed>false</is_null_allowed>
|
|
<on_target_delete>DEL_AUTO</on_target_delete>
|
|
</field>
|
|
<field id="ci_name" xsi:type="AttributeExternalField">
|
|
<extkey_attcode>ci_id</extkey_attcode>
|
|
<target_attcode>name</target_attcode>
|
|
</field>
|
|
<field id="reason" xsi:type="AttributeString">
|
|
<sql>reason</sql>
|
|
<default_value/>
|
|
<is_null_allowed>true</is_null_allowed>
|
|
</field>
|
|
</fields>
|
|
<methods/>
|
|
<presentation>
|
|
<details>
|
|
<items>
|
|
<item id="group_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="ci_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="reason">
|
|
<rank>30</rank>
|
|
</item>
|
|
</items>
|
|
</details>
|
|
<search>
|
|
<items>
|
|
<item id="group_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="ci_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="reason">
|
|
<rank>30</rank>
|
|
</item>
|
|
</items>
|
|
</search>
|
|
<list>
|
|
<items>
|
|
<item id="group_id">
|
|
<rank>10</rank>
|
|
</item>
|
|
<item id="ci_id">
|
|
<rank>20</rank>
|
|
</item>
|
|
<item id="reason">
|
|
<rank>30</rank>
|
|
</item>
|
|
</items>
|
|
</list>
|
|
</presentation>
|
|
</class>
|
|
</classes>
|
|
<menus>
|
|
<menu id="DataAdministration" xsi:type="MenuGroup" _delta="define">
|
|
<rank>70</rank>
|
|
<enable_class>Organization</enable_class>
|
|
<enable_action>UR_ACTION_MODIFY</enable_action>
|
|
<enable_permission>UR_ALLOWED_YES</enable_permission>
|
|
<enable_stimulus/>
|
|
</menu>
|
|
<menu id="Audit" xsi:type="WebPageMenuNode" _delta="define">
|
|
<rank>33</rank>
|
|
<parent>DataAdministration</parent>
|
|
<url>$pages/audit.php</url>
|
|
</menu>
|
|
<menu id="Catalogs" xsi:type="TemplateMenuNode" _delta="define">
|
|
<rank>50</rank>
|
|
<parent>DataAdministration</parent>
|
|
<template_file/>
|
|
</menu>
|
|
<menu id="Organization" xsi:type="OQLMenuNode" _delta="define">
|
|
<rank>10</rank>
|
|
<parent>Catalogs</parent>
|
|
<oql>SELECT Organization</oql>
|
|
<do_search>1</do_search>
|
|
</menu>
|
|
<menu id="ConfigManagement" xsi:type="MenuGroup" _delta="define">
|
|
<rank>20</rank>
|
|
</menu>
|
|
<menu id="ConfigManagementOverview" xsi:type="DashboardMenuNode" _delta="define">
|
|
<rank>1</rank>
|
|
<parent>ConfigManagement</parent>
|
|
<definition>
|
|
<layout>DashboardLayoutOneCol</layout>
|
|
<title></title>
|
|
<cells>
|
|
<cell id="0">
|
|
<rank>0</rank>
|
|
<dashlets>
|
|
<dashlet id="1" xsi:type="DashletHeaderStatic">
|
|
<rank>0</rank>
|
|
<title>Menu:ConfigManagement:AllDevices</title>
|
|
<icon>itop-config-mgmt/images/server.png</icon>
|
|
<subtitle>Menu_ConfigManagement_AllDevices</subtitle>
|
|
</dashlet>
|
|
<dashlet id="2" xsi:type="DashletBadge">
|
|
<rank>3</rank>
|
|
<class>Server</class>
|
|
</dashlet>
|
|
<dashlet id="3" xsi:type="DashletBadge">
|
|
<rank>4</rank>
|
|
<class>NetworkDevice</class>
|
|
</dashlet>
|
|
</dashlets>
|
|
</cell>
|
|
<cell id="3">
|
|
<rank>3</rank>
|
|
<dashlets>
|
|
<dashlet id="4" xsi:type="DashletHeaderStatic">
|
|
<rank>0</rank>
|
|
<title>Menu:ConfigManagement:SWAndApps</title>
|
|
<icon>itop-config-mgmt/images/application.png</icon>
|
|
</dashlet>
|
|
<dashlet id="5" xsi:type="DashletBadge">
|
|
<rank>1</rank>
|
|
<class>Middleware</class>
|
|
</dashlet>
|
|
<dashlet id="6" xsi:type="DashletBadge">
|
|
<rank>2</rank>
|
|
<class>DBServer</class>
|
|
</dashlet>
|
|
<dashlet id="7" xsi:type="DashletBadge">
|
|
<rank>3</rank>
|
|
<class>WebServer</class>
|
|
</dashlet>
|
|
<dashlet id="8" xsi:type="DashletBadge">
|
|
<rank>4</rank>
|
|
<class>PCSoftware</class>
|
|
</dashlet>
|
|
<dashlet id="9" xsi:type="DashletBadge">
|
|
<rank>5</rank>
|
|
<class>OtherSoftware</class>
|
|
</dashlet>
|
|
<dashlet id="10" xsi:type="DashletBadge">
|
|
<rank>6</rank>
|
|
<class>MiddlewareInstance</class>
|
|
</dashlet>
|
|
<dashlet id="11" xsi:type="DashletBadge">
|
|
<rank>7</rank>
|
|
<class>DatabaseSchema</class>
|
|
</dashlet>
|
|
<dashlet id="12" xsi:type="DashletBadge">
|
|
<rank>7</rank>
|
|
<class>WebApplication</class>
|
|
</dashlet>
|
|
<dashlet id="13" xsi:type="DashletBadge">
|
|
<rank>8</rank>
|
|
<class>Patch</class>
|
|
</dashlet>
|
|
<dashlet id="14" xsi:type="DashletBadge">
|
|
<rank>9</rank>
|
|
<class>Licence</class>
|
|
</dashlet>
|
|
</dashlets>
|
|
</cell>
|
|
<cell id="4">
|
|
<rank>4</rank>
|
|
<dashlets>
|
|
<dashlet id="15" xsi:type="DashletHeaderStatic">
|
|
<rank>0</rank>
|
|
<title>Menu:ConfigManagement:Misc</title>
|
|
<icon>itop-config-mgmt/images/subnet.png</icon>
|
|
</dashlet>
|
|
<dashlet id="16" xsi:type="DashletBadge">
|
|
<rank>1</rank>
|
|
<class>NetworkInterface</class>
|
|
</dashlet>
|
|
<dashlet id="17" xsi:type="DashletBadge">
|
|
<rank>2</rank>
|
|
<class>Subnet</class>
|
|
</dashlet>
|
|
<dashlet id="18" xsi:type="DashletBadge">
|
|
<rank>4</rank>
|
|
<class>BusinessProcess</class>
|
|
</dashlet>
|
|
<dashlet id="19" xsi:type="DashletBadge">
|
|
<rank>5</rank>
|
|
<class>ApplicationSolution</class>
|
|
</dashlet>
|
|
<dashlet id="20" xsi:type="DashletBadge">
|
|
<rank>6</rank>
|
|
<class>Group</class>
|
|
</dashlet>
|
|
</dashlets>
|
|
</cell>
|
|
</cells>
|
|
</definition>
|
|
</menu>
|
|
<menu id="Contact" xsi:type="DashboardMenuNode" _delta="define">
|
|
<rank>2</rank>
|
|
<parent>ConfigManagement</parent>
|
|
<definition>
|
|
<layout>DashboardLayoutOneCol</layout>
|
|
<title></title>
|
|
<cells>
|
|
<cell id="0">
|
|
<rank>0</rank>
|
|
<dashlets>
|
|
<dashlet id="1" xsi:type="DashletHeaderDynamic">
|
|
<rank>1</rank>
|
|
<title>Menu:Contact</title>
|
|
<icon>itop-config-mgmt/images/team.png</icon>
|
|
<subtitle>Menu:Contact:Count</subtitle>
|
|
<query>SELECT Contact</query>
|
|
<group_by>status</group_by>
|
|
<values>active,inactive</values>
|
|
</dashlet>
|
|
<dashlet id="2" xsi:type="DashletBadge">
|
|
<rank>2</rank>
|
|
<class>Team</class>
|
|
</dashlet>
|
|
<dashlet id="3" xsi:type="DashletBadge">
|
|
<rank>3</rank>
|
|
<class>Person</class>
|
|
</dashlet>
|
|
</dashlets>
|
|
</cell>
|
|
</cells>
|
|
</definition>
|
|
</menu>
|
|
<menu id="NewContact" xsi:type="NewObjectMenuNode" _delta="define">
|
|
<rank>3</rank>
|
|
<parent>Contact</parent>
|
|
<class>Contact</class>
|
|
</menu>
|
|
<menu id="SearchContacts" xsi:type="SearchMenuNode" _delta="define">
|
|
<rank>4</rank>
|
|
<parent>Contact</parent>
|
|
<class>Contact</class>
|
|
</menu>
|
|
<menu id="Location" xsi:type="OQLMenuNode" _delta="define">
|
|
<rank>3</rank>
|
|
<parent>ConfigManagement</parent>
|
|
<oql>SELECT Location</oql>
|
|
<do_search>1</do_search>
|
|
</menu>
|
|
<menu id="NewCI" xsi:type="NewObjectMenuNode" _delta="define">
|
|
<rank>4</rank>
|
|
<parent>ConfigManagement</parent>
|
|
<class>FunctionalCI</class>
|
|
</menu>
|
|
<menu id="SearchCIs" xsi:type="SearchMenuNode" _delta="define">
|
|
<rank>5</rank>
|
|
<parent>ConfigManagement</parent>
|
|
<class>FunctionalCI</class>
|
|
</menu>
|
|
<menu id="Document" xsi:type="OQLMenuNode" _delta="define">
|
|
<rank>6</rank>
|
|
<parent>ConfigManagement</parent>
|
|
<oql>SELECT Document</oql>
|
|
<do_search>1</do_search>
|
|
</menu>
|
|
<menu id="Software" xsi:type="OQLMenuNode" _delta="define">
|
|
<rank>7</rank>
|
|
<parent>ConfigManagement</parent>
|
|
<oql>SELECT Software</oql>
|
|
<do_search>1</do_search>
|
|
</menu>
|
|
<menu id="Group" xsi:type="OQLMenuNode" _delta="define">
|
|
<rank>8</rank>
|
|
<parent>ConfigManagement</parent>
|
|
<oql>SELECT Group</oql>
|
|
<do_search>1</do_search>
|
|
</menu>
|
|
<menu id="Typology" xsi:type="DashboardMenuNode" _delta="define">
|
|
<rank>80</rank>
|
|
<parent>Catalogs</parent>
|
|
<definition>
|
|
<layout>DashboardLayoutOneCol</layout>
|
|
<title>Menu:ConfigManagement:Typology</title>
|
|
<cells>
|
|
<cell id="0">
|
|
<rank>0</rank>
|
|
<dashlets>
|
|
<dashlet id="1" xsi:type="DashletHeaderStatic">
|
|
<rank>0</rank>
|
|
<title>Menu:ConfigManagement:Typology</title>
|
|
<icon>itop-config-mgmt/images/typology.png</icon>
|
|
</dashlet>
|
|
<dashlet id="2" xsi:type="DashletBadge">
|
|
<rank>1</rank>
|
|
<class>Brand</class>
|
|
</dashlet>
|
|
<dashlet id="3" xsi:type="DashletBadge">
|
|
<rank>2</rank>
|
|
<class>Model</class>
|
|
</dashlet>
|
|
<dashlet id="4" xsi:type="DashletBadge">
|
|
<rank>3</rank>
|
|
<class>OSFamily</class>
|
|
</dashlet>
|
|
<dashlet id="5" xsi:type="DashletBadge">
|
|
<rank>4</rank>
|
|
<class>OSVersion</class>
|
|
</dashlet>
|
|
<dashlet id="6" xsi:type="DashletBadge">
|
|
<rank>5</rank>
|
|
<class>IOSVersion</class>
|
|
</dashlet>
|
|
<dashlet id="7" xsi:type="DashletBadge">
|
|
<rank>6</rank>
|
|
<class>NetworkDeviceType</class>
|
|
</dashlet>
|
|
<dashlet id="8" xsi:type="DashletBadge">
|
|
<rank>7</rank>
|
|
<class>ContractType</class>
|
|
</dashlet>
|
|
<dashlet id="9" xsi:type="DashletBadge">
|
|
<rank>8</rank>
|
|
<class>ContactType</class>
|
|
</dashlet>
|
|
<dashlet id="10" xsi:type="DashletBadge">
|
|
<rank>9</rank>
|
|
<class>DocumentType</class>
|
|
</dashlet>
|
|
</dashlets>
|
|
</cell>
|
|
</cells>
|
|
</definition>
|
|
</menu>
|
|
</menus>
|
|
</itop_design>
|