datamodel.itop-config-mgmt.xml 84 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <classes><class name="Organization" category="bizmodel,searchable,structure" parent="cmdbAbstractObject" abstract="false" key_type="autoincrement" db_table="organization" db_key_field="id" db_final_class_field=""><properties><comment><![CDATA[/**
  3. * Persistent classes for a CMDB
  4. *
  5. * @author Erwan Taloc <erwan.taloc@combodo.com>
  6. * @author Romain Quetiez <romain.quetiez@combodo.com>
  7. * @author Denis Flaven <denis.flaven@combodo.com>
  8. * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
  9. */]]></comment><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon></icon><reconciliation><attributes><attribute name="name"/></attributes></reconciliation></properties><fields><field name="name" type="String" sql="name" default_value="" is_null_allowed="false"/><field name="code" type="String" sql="code" default_value="" is_null_allowed="true"/><field name="status" type="Enum" sql="status" default_value="active" is_null_allowed="true"><values><value>active</value><value>inactive</value></values></field><field name="parent_id" type="HierarchicalKey" sql="parent_id" is_null_allowed="true" on_target_delete="DEL_MANUAL"/><field name="parent_name" type="ExternalField" extkey_attcode="parent_id" target_attcode="name" is_null_allowed="true"/></fields><methods/><presentation><details><items><item>name</item><item>code</item><item>status</item><item>parent_id</item></items></details><search><items><item>name</item><item>code</item><item>status</item><item>parent_id</item></items></search><list><items><item>status</item><item>parent_id</item></items></list></presentation></class><class name="Location" category="bizmodel,searchable,structure" parent="cmdbAbstractObject" abstract="false" key_type="autoincrement" db_table="location" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/location.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="org_id"/><attribute name="org_name"/></attributes></reconciliation></properties><fields><field name="name" type="String" sql="name" default_value="" is_null_allowed="false"/><field name="status" type="Enum" sql="status" default_value="active" is_null_allowed="true"><values><value>active</value><value>inactive</value></values></field><field name="org_id" type="ExternalKey" target_class="Organization" jointype="" sql="org_id" is_null_allowed="false" on_target_delete="DEL_MANUAL"/><field name="org_name" type="ExternalField" extkey_attcode="org_id" target_attcode="name" is_null_allowed="true"/><field name="address" type="Text" sql="address" default_value="" is_null_allowed="true"/><field name="postal_code" type="String" sql="postal_code" default_value="" is_null_allowed="true"/><field name="city" type="String" sql="city" default_value="" is_null_allowed="true"/><field name="country" type="String" sql="country" default_value="" is_null_allowed="true"/><field name="parent_id" type="HierarchicalKey" filter="SELECT Location AS L WHERE L.org_id = :this-&gt;org_id" sql="parent_id" is_null_allowed="true" on_target_delete="DEL_MANUAL"><dependencies><attribute name="org_id"/></dependencies></field><field name="parent_name" type="ExternalField" extkey_attcode="parent_id" target_attcode="name" is_null_allowed="true"/><field name="contact_list" type="LinkedSet" linked_class="Contact" ext_key_to_me="location_id" count_min="0" count_max="0"/><field name="infra_list" type="LinkedSet" linked_class="InfrastructureCI" ext_key_to_me="location_id" count_min="0" count_max="0"/></fields><methods/><presentation><details><items><item>name</item><item>status</item><item>org_id</item><item>address</item><item>postal_code</item><item>city</item><item>country</item><item>parent_id</item><item>contact_list</item><item>infra_list</item></items></details><search><items><item>name</item><item>status</item><item>org_id</item><item>city</item><item>country</item><item>parent_id</item></items></search><list><items><item>status</item><item>org_id</item><item>city</item><item>country</item></items></list></presentation></class><class name="Contact" category="bizmodel,searchable,structure" parent="cmdbAbstractObject" abstract="true" key_type="autoincrement" db_table="contact" db_key_field="id" db_final_class_field="finalclass"><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/team.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="org_id"/><attribute name="org_name"/><attribute name="email"/></attributes></reconciliation></properties><fields><field name="name" type="String" sql="name" default_value="" is_null_allowed="false"/><field name="status" type="Enum" sql="status" default_value="active" is_null_allowed="false"><values><value>active</value><value>inactive</value></values></field><field name="org_id" type="ExternalKey" target_class="Organization" jointype="" sql="org_id" is_null_allowed="false" on_target_delete="DEL_MANUAL"/><field name="org_name" type="ExternalField" extkey_attcode="org_id" target_attcode="name" is_null_allowed="true"/><field name="email" type="EmailAddress" sql="email" default_value="" is_null_allowed="false"/><field name="phone" type="String" sql="phone" default_value="" is_null_allowed="true"/><field name="location_id" type="ExternalKey" target_class="Location" jointype="" filter="SELECT Location AS L WHERE L.org_id = :this-&gt;org_id" sql="location_id" is_null_allowed="true" on_target_delete="DEL_MANUAL"><dependencies><attribute name="org_id"/></dependencies></field><field name="location_name" type="ExternalField" extkey_attcode="location_id" target_attcode="name" is_null_allowed="true"/><field name="contract_list" type="LinkedSetIndirect" linked_class="lnkContractToContact" ext_key_to_me="contact_id" ext_key_to_remote="contract_id" count_min="0" count_max="0"/><field name="service_list" type="LinkedSetIndirect" linked_class="lnkServiceToContact" ext_key_to_me="contact_id" ext_key_to_remote="service_id" count_min="0" count_max="0"/><field name="ticket_list" type="LinkedSetIndirect" linked_class="lnkTicketToContact" ext_key_to_me="contact_id" ext_key_to_remote="ticket_id" count_min="0" count_max="0"/><field name="ci_list" type="LinkedSetIndirect" linked_class="lnkCIToContact" ext_key_to_me="contact_id" ext_key_to_remote="ci_id" count_min="0" count_max="0"/><field name="team_list" type="LinkedSetIndirect" linked_class="lnkTeamToContact" ext_key_to_me="contact_id" ext_key_to_remote="team_id" count_min="0" count_max="0"/></fields><methods/><presentation><details><items><item>name</item><item>status</item><item>org_id</item><item>email</item><item>phone</item><item>location_id</item><item>contract_list</item><item>service_list</item><item>ticket_list</item><item>ci_list</item><item>team_list</item></items></details><search><items><item>name</item><item>status</item><item>org_id</item><item>email</item><item>phone</item><item>location_id</item></items></search><list><items><item>finalclass</item><item>status</item><item>org_id</item><item>email</item><item>phone</item><item>location_id</item></items></list></presentation></class><class name="Person" category="bizmodel,searchable,structure" parent="Contact" abstract="false" key_type="autoincrement" db_table="person" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s %2$s"><attributes><attribute name="first_name"/><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/person.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="first_name"/><attribute name="org_id"/><attribute name="email"/></attributes></reconciliation></properties><fields><field name="first_name" type="String" sql="first_name" default_value="" is_null_allowed="false"/><field name="employee_id" type="String" sql="employee_id" default_value="" is_null_allowed="true"/></fields><methods/><presentation><details><items><item>name</item><item>first_name</item><item>org_id</item><item>status</item><item>location_id</item><item>email</item><item>phone</item><item>employee_id</item><item>team_list</item><item>contract_list</item><item>service_list</item><item>ticket_list</item><item>ci_list</item></items></details><search><items><item>name</item><item>status</item><item>org_id</item><item>email</item><item>phone</item><item>location_id</item><item>first_name</item><item>employee_id</item></items></search><list><items><item>name</item><item>first_name</item><item>status</item><item>org_id</item><item>email</item><item>phone</item><item>location_id</item></items></list></presentation></class><class name="Team" category="bizmodel,searchable,structure" parent="Contact" abstract="false" key_type="autoincrement" db_table="team" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/team.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="org_id"/></attributes></reconciliation></properties><fields><field name="member_list" type="LinkedSetIndirect" linked_class="lnkTeamToContact" ext_key_to_me="team_id" ext_key_to_remote="contact_id" count_min="0" count_max="0"/></fields><methods/><presentation><details><items><item>name</item><item>status</item><item>org_id</item><item>location_id</item><item>email</item><item>phone</item><item>member_list</item><item>contract_list</item><item>service_list</item><item>ticket_list</item><item>ci_list</item><item>team_list</item></items></details><search><items><item>name</item><item>status</item><item>org_id</item><item>email</item><item>phone</item><item>location_id</item></items></search><list><items><item>status</item><item>org_id</item><item>email</item><item>phone</item><item>location_id</item></items></list></presentation></class><class name="lnkTeamToContact" category="bizmodel,searchable,structure" parent="cmdbAbstractObject" abstract="false" key_type="autoincrement" is_link="1" db_table="lnkteamtocontact" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="team_id"/></attributes></naming><display_template></display_template><icon></icon><reconciliation><attributes/></reconciliation></properties><fields><field name="team_id" type="ExternalKey" target_class="Team" jointype="" sql="team_id" is_null_allowed="false" on_target_delete="DEL_AUTO"/><field name="team_name" type="ExternalField" extkey_attcode="team_id" target_attcode="name" is_null_allowed="true"/><field name="contact_id" type="ExternalKey" target_class="Contact" jointype="" sql="contact_id" is_null_allowed="false" on_target_delete="DEL_AUTO"/><field name="contact_name" type="ExternalField" extkey_attcode="contact_id" target_attcode="name" is_null_allowed="true"/><field name="contact_location_id" type="ExternalField" extkey_attcode="contact_id" target_attcode="location_id" is_null_allowed="true"/><field name="contact_location_name" type="ExternalField" extkey_attcode="contact_id" target_attcode="location_name" is_null_allowed="true"/><field name="contact_email" type="ExternalField" extkey_attcode="contact_id" target_attcode="email" is_null_allowed="true"/><field name="contact_phone" type="ExternalField" extkey_attcode="contact_id" target_attcode="phone" is_null_allowed="true"/><field name="role" type="String" sql="role" default_value="" is_null_allowed="true"/></fields><methods/><presentation><details><items><item>team_id</item><item>contact_id</item><item>role</item></items></details><search><items><item>team_id</item><item>contact_id</item><item>role</item></items></search><list><items><item>team_id</item><item>contact_id_finalclass_recall</item><item>contact_id</item><item>contact_location_id</item><item>contact_email</item><item>contact_phone</item><item>role</item></items></list></presentation></class><class name="Document" category="bizmodel,searchable,documentation" parent="cmdbAbstractObject" abstract="true" key_type="autoincrement" db_table="document" db_key_field="id" db_final_class_field="finalclass"><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/document.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="org_id"/><attribute name="org_name"/></attributes></reconciliation></properties><fields><field name="name" type="String" sql="name" default_value="" is_null_allowed="false"/><field name="org_id" type="ExternalKey" target_class="Organization" jointype="" sql="org_id" is_null_allowed="false" on_target_delete="DEL_MANUAL"/><field name="org_name" type="ExternalField" extkey_attcode="org_id" target_attcode="name" is_null_allowed="true"/><field name="description" type="Text" sql="description" default_value="" is_null_allowed="true"/><field name="type" type="Enum" sql="type" default_value="presentation" is_null_allowed="true"><values><value>contract</value><value>networkmap</value><value>presentation</value><value>training</value><value>whitePaper</value><value>workinginstructions</value></values></field><field name="status" type="Enum" sql="status" default_value="draft" is_null_allowed="false"><values><value>draft</value><value>published</value><value>obsolete</value></values></field><field name="contract_list" type="LinkedSetIndirect" linked_class="lnkContractToDoc" ext_key_to_me="document_id" ext_key_to_remote="contract_id" count_min="0" count_max="0"/><field name="service_list" type="LinkedSetIndirect" linked_class="lnkServiceToDoc" ext_key_to_me="document_id" ext_key_to_remote="service_id" count_min="0" count_max="0"/><field name="ticket_list" type="LinkedSetIndirect" linked_class="lnkTicketToDoc" ext_key_to_me="document_id" ext_key_to_remote="ticket_id" count_min="0" count_max="0"/><field name="ci_list" type="LinkedSetIndirect" linked_class="lnkCIToDoc" ext_key_to_me="document_id" ext_key_to_remote="ci_id" count_min="0" count_max="0"/></fields><methods/><presentation><details><items><item>name</item><item>org_id</item><item>description</item><item>type</item><item>status</item><item>contract_list</item><item>service_list</item><item>ticket_list</item><item>ci_list</item></items></details><search><items><item>name</item><item>org_id</item><item>description</item><item>type</item><item>status</item></items></search><list><items><item>org_id</item><item>type</item><item>status</item></items></list></presentation></class><class name="WebDoc" category="bizmodel,searchable,documentation" parent="Document" abstract="false" key_type="autoincrement" db_table="externaldoc" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/document.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="org_id"/><attribute name="org_name"/></attributes></reconciliation></properties><fields><field name="url" type="URL" target="_blank" sql="url" default_value="" is_null_allowed="false"/></fields><methods/><presentation><details><items><item>name</item><item>org_id</item><item>description</item><item>type</item><item>status</item><item>contract_list</item><item>service_list</item><item>ticket_list</item><item>ci_list</item><item>url</item></items></details><search><items><item>name</item><item>org_id</item><item>description</item><item>type</item><item>status</item><item>url</item></items></search><list><items><item>org_id</item><item>type</item><item>status</item><item>url</item></items></list></presentation></class><class name="Note" category="bizmodel,searchable,documentation" parent="Document" abstract="false" key_type="autoincrement" db_table="note" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/document.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="org_id"/><attribute name="org_name"/></attributes></reconciliation></properties><fields><field name="note" type="Text" sql="note" default_value="" is_null_allowed="true"/></fields><methods/><presentation><details><items><item>name</item><item>org_id</item><item>description</item><item>type</item><item>status</item><item>contract_list</item><item>service_list</item><item>ticket_list</item><item>ci_list</item><item>note</item></items></details><search><items><item>name</item><item>org_id</item><item>description</item><item>type</item><item>status</item><item>note</item></items></search><list><items><item>org_id</item><item>type</item><item>status</item><item>note</item></items></list></presentation></class><class name="FileDoc" category="bizmodel,searchable,documentation" parent="Document" abstract="false" key_type="autoincrement" db_table="filedoc" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/document.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="org_id"/><attribute name="org_name"/></attributes></reconciliation></properties><fields><field name="contents" type="Blob"/></fields><methods><method name="DisplayBareProperties" static="false" access="public" type="Overload-cmdbAbstractObject"><comment><![CDATA[/**
  10. * Overload the display of the properties to add a tab (the first one)
  11. * with the preview of the document
  12. */]]></comment><![CDATA[ public function DisplayBareProperties(WebPage $oPage, $bEditMode = false, $sPrefix = '', $aExtraParams = array())
  13. {
  14. if (!$bEditMode)
  15. {
  16. $oPage->SetCurrentTab(Dict::S('Class:Document:PreviewTab'));
  17. $oPage->add($this->DisplayDocumentInline($oPage, 'contents'));
  18. $oPage->SetCurrentTab(Dict::S('UI:PropertiesTab'));
  19. }
  20. parent::DisplayBareProperties($oPage, $bEditMode, $sPrefix, $aExtraParams);
  21. }]]></method></methods><presentation><details><items><item>name</item><item>org_id</item><item>description</item><item>type</item><item>status</item><item>contract_list</item><item>service_list</item><item>ticket_list</item><item>ci_list</item><item>contents</item></items></details><search><items><item>name</item><item>org_id</item><item>description</item><item>type</item><item>status</item></items></search><list><items><item>org_id</item><item>type</item><item>status</item><item>contents</item></items></list></presentation></class><class name="Licence" category="bizmodel,searchable,configmgmt" parent="cmdbAbstractObject" abstract="false" key_type="autoincrement" db_table="licence" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/licence.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="org_id"/><attribute name="org_name"/></attributes></reconciliation></properties><fields><field name="provider" type="String" sql="provider" default_value="" is_null_allowed="false"/><field name="org_id" type="ExternalKey" target_class="Organization" jointype="" sql="org_id" is_null_allowed="false" on_target_delete="DEL_MANUAL"/><field name="org_name" type="ExternalField" extkey_attcode="org_id" target_attcode="name" is_null_allowed="true"/><field name="product" type="String" sql="product" default_value="" is_null_allowed="false"/><field name="name" type="String" sql="name" default_value="" is_null_allowed="false"/><field name="start" type="Date" sql="start" default_value="" is_null_allowed="true"/><field name="end" type="Date" sql="end" default_value="" is_null_allowed="true"/><field name="licence_key" type="String" sql="licence_key" default_value="" is_null_allowed="true"/><field name="scope" type="Text" sql="scope" default_value="" is_null_allowed="true"/><field name="usage_limit" type="Integer" sql="usage_limit" default_value="" is_null_allowed="true"/><field name="usage_list" type="LinkedSet" linked_class="SoftwareInstance" ext_key_to_me="licence_id" count_min="0" count_max="0"/></fields><methods/><presentation><details><items><item>name</item><item>org_id</item><item>provider</item><item>product</item><item>start</item><item>end</item><item>licence_key</item><item>scope</item><item>usage_limit</item><item>usage_list</item></items></details><search><items><item>org_id</item><item>provider</item><item>product</item><item>name</item><item>start</item><item>end</item><item>licence_key</item><item>scope</item></items></search><list><items><item>org_id</item><item>provider</item><item>product</item><item>start</item><item>end</item></items></list></presentation></class><class name="Subnet" category="bizmodel,searchable,configmgmt" parent="cmdbAbstractObject" abstract="false" key_type="autoincrement" db_table="subnet" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s / %2$s"><attributes><attribute name="ip"/><attribute name="ip_mask"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/subnet.png</icon><reconciliation><attributes><attribute name="ip"/><attribute name="ip_mask"/><attribute name="org_id"/><attribute name="org_name"/></attributes></reconciliation></properties><fields><field name="description" type="Text" sql="description" default_value="" is_null_allowed="true"/><field name="org_id" type="ExternalKey" target_class="Organization" jointype="" sql="org_id" is_null_allowed="false" on_target_delete="DEL_MANUAL"/><field name="org_name" type="ExternalField" extkey_attcode="org_id" target_attcode="name" is_null_allowed="true"/><field name="ip" type="IPAddress" sql="ip" default_value="" is_null_allowed="false"/><field name="ip_mask" type="IPAddress" sql="ip_mask" default_value="" is_null_allowed="false"/></fields><methods><method name="DisplayBareRelations" static="false" access="public" type="Overload-cmdbAbstractObject"><![CDATA[ function DisplayBareRelations(WebPage $oPage, $bEditMode = false)
  22. {
  23. parent::DisplayBareRelations($oPage, $bEditMode);
  24. if (!$bEditMode)
  25. {
  26. $oPage->SetCurrentTab(Dict::S('Class:Subnet/Tab:IPUsage'));
  27. $bit_ip = ip2long($this->Get('ip'));
  28. $bit_mask = ip2long($this->Get('ip_mask'));
  29. $iIPMin = sprintf('%u', ($bit_ip & $bit_mask) | 1); // exclude the first one: identifies the subnet itself
  30. $iIPMax = sprintf('%u', (($bit_ip | (~$bit_mask))) & 0xfffffffe); // exclude the last one : broadcast address
  31. $sIPMin = long2ip($iIPMin);
  32. $sIPMax = long2ip($iIPMax);
  33. $oPage->p(Dict::Format('Class:Subnet/Tab:IPUsage-explain', $sIPMin, $sIPMax));
  34. $oIfFilter = DBObjectSearch::FromOQL("SELECT NetworkInterface AS if WHERE INET_ATON(if.ip_address) >= INET_ATON('$sIPMin') AND INET_ATON(if.ip_address) <= INET_ATON('$sIPMax')");
  35. $oIfSet = new CMDBObjectSet($oIfFilter);
  36. $oBlock = new DisplayBlock($oIfFilter, 'list', false);
  37. $oBlock->Display($oPage, 'nwif', array('menu' => false));
  38. $iCountUsed = $oIfSet->Count();
  39. $iCountRange = $iIPMax - $iIPMin; // On 32-bit systems the substraction will be computed using floats for values greater than PHP_MAX_INT;
  40. $iFreeCount = $iCountRange - $iCountUsed;
  41. $oPage->SetCurrentTab(Dict::S('Class:Subnet/Tab:FreeIPs'));
  42. $oPage->p(Dict::Format('Class:Subnet/Tab:FreeIPs-count', $iFreeCount));
  43. $oPage->p(Dict::S('Class:Subnet/Tab:FreeIPs-explain'));
  44. $aUsedIPs = $oIfSet->GetColumnAsArray('ip_address', false);
  45. $iAnIP = $iIPMin;
  46. $iFound = 0;
  47. while (($iFound < min($iFreeCount, 10)) && ($iAnIP <= $iIPMax))
  48. {
  49. $sAnIP = long2ip($iAnIP);
  50. if (!in_array($sAnIP, $aUsedIPs))
  51. {
  52. $iFound++;
  53. $oPage->p($sAnIP);
  54. }
  55. else
  56. {
  57. }
  58. $iAnIP++;
  59. }
  60. }
  61. }]]></method></methods><presentation><details><items><item>ip</item><item>ip_mask</item><item>org_id</item><item>description</item></items></details><search><items><item>ip</item><item>ip_mask</item><item>org_id</item><item>description</item></items></search><list><items><item>ip</item><item>ip_mask</item><item>org_id</item></items></list></presentation></class><class name="Patch" category="bizmodel,searchable,configmgmt" parent="cmdbAbstractObject" abstract="false" key_type="autoincrement" db_table="patch" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/patch.png</icon><reconciliation><attributes><attribute name="name"/></attributes></reconciliation></properties><fields><field name="name" type="String" sql="name" default_value="" is_null_allowed="false"/><field name="description" type="Text" sql="description" default_value="" is_null_allowed="true"/><field name="target_sw" type="String" sql="target_sw" default_value="" is_null_allowed="true"/><field name="version" type="String" sql="version" default_value="" is_null_allowed="true"/><field name="type" type="Enum" sql="type" default_value="security" is_null_allowed="false"><values><value>application</value><value>os</value><value>security</value><value>servicepack</value></values></field><field name="ci_list" type="LinkedSetIndirect" linked_class="lnkPatchToCI" ext_key_to_me="patch_id" ext_key_to_remote="ci_id" count_min="0" count_max="0"/></fields><methods/><presentation><details><items><item>name</item><item>description</item><item>target_sw</item><item>version</item><item>type</item><item>ci_list</item></items></details><search><items><item>name</item><item>target_sw</item><item>version</item><item>type</item><item>description</item></items></search><list><items><item>target_sw</item><item>version</item><item>type</item></items></list></presentation></class><class name="Software" category="bizmodel,searchable,configmgmt" parent="cmdbAbstractObject" abstract="true" key_type="autoincrement" db_table="software" db_key_field="id" db_final_class_field="finalclass"><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/software.png</icon><reconciliation><attributes><attribute name="name"/></attributes></reconciliation></properties><fields><field name="name" type="String" sql="name" default_value="" is_null_allowed="false"/><field name="description" type="Text" sql="description" default_value="" is_null_allowed="true"/></fields><methods/><presentation><details><items><item>name</item><item>description</item></items></details><search><items><item>name</item><item>description</item></items></search><list><items><item>description</item></items></list></presentation></class><class name="Application" category="bizmodel,searchable,configmgmt" parent="Software" abstract="false" key_type="autoincrement" db_table="software_app" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/software.png</icon><reconciliation><attributes><attribute name="name"/></attributes></reconciliation></properties><fields><field name="instance_list" type="LinkedSet" linked_class="ApplicationInstance" ext_key_to_me="software_id" count_min="0" count_max="0"/></fields><methods/><presentation><details><items><item>name</item><item>description</item><item>instance_list</item></items></details><search><items><item>name</item><item>description</item></items></search><list><items><item>description</item></items></list></presentation></class><class name="DBServer" category="bizmodel,searchable,configmgmt" parent="Software" abstract="false" key_type="autoincrement" db_table="software_db" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/software.png</icon><reconciliation><attributes><attribute name="name"/></attributes></reconciliation></properties><fields><field name="instance_list" type="LinkedSet" linked_class="DBServerInstance" ext_key_to_me="software_id" count_min="0" count_max="0"/></fields><methods/><presentation><details><items><item>name</item><item>description</item><item>instance_list</item></items></details><search><items><item>name</item><item>description</item></items></search><list><items><item>description</item></items></list></presentation></class><class name="lnkPatchToCI" category="bizmodel,configmgmt" parent="cmdbAbstractObject" abstract="false" key_type="autoincrement" is_link="1" db_table="lnkpatchtoci" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="patch_id"/></attributes></naming><display_template></display_template><icon></icon><reconciliation><attributes><attribute name="patch_id"/><attribute name="ci_id"/></attributes></reconciliation></properties><fields><field name="patch_id" type="ExternalKey" target_class="Patch" jointype="" sql="patch_id" is_null_allowed="false" on_target_delete="DEL_AUTO"/><field name="patch_name" type="ExternalField" extkey_attcode="patch_id" target_attcode="name" is_null_allowed="true"/><field name="ci_id" type="ExternalKey" target_class="Device" jointype="" sql="ci_id" is_null_allowed="false" on_target_delete="DEL_AUTO"/><field name="ci_name" type="ExternalField" extkey_attcode="ci_id" target_attcode="name" is_null_allowed="true"/><field name="ci_status" type="ExternalField" extkey_attcode="ci_id" target_attcode="status" is_null_allowed="true"/></fields><methods/><presentation><details><items><item>patch_id</item><item>ci_id</item><item>ci_status</item></items></details><search><items><item>patch_id</item><item>ci_id</item></items></search><list><items><item>patch_id</item><item>ci_id_finalclass_recall</item><item>ci_id</item><item>ci_status</item></items></list></presentation></class><class name="FunctionalCI" category="bizmodel,searchable,configmgmt" parent="cmdbAbstractObject" abstract="true" key_type="autoincrement" db_table="functionalci" db_key_field="id" db_final_class_field="finalclass"><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/server.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="org_id"/><attribute name="owner_name"/></attributes></reconciliation></properties><fields><field name="name" type="String" sql="name" default_value="" is_null_allowed="false"/><field name="status" type="Enum" sql="status" default_value="implementation" is_null_allowed="false"><values><value>implementation</value><value>production</value><value>obsolete</value></values></field><field name="org_id" type="ExternalKey" target_class="Organization" jointype="" sql="org_id" is_null_allowed="false" on_target_delete="DEL_MANUAL"/><field name="owner_name" type="ExternalField" extkey_attcode="org_id" target_attcode="name" is_null_allowed="true"/><field name="importance" type="Enum" sql="importance" default_value="medium" is_null_allowed="false"><values><value>low</value><value>medium</value><value>high</value></values></field><field name="contact_list" type="LinkedSetIndirect" linked_class="lnkCIToContact" ext_key_to_me="ci_id" ext_key_to_remote="contact_id" count_min="0" count_max="0"/><field name="document_list" type="LinkedSetIndirect" linked_class="lnkCIToDoc" ext_key_to_me="ci_id" ext_key_to_remote="document_id" count_min="0" count_max="0"/><field name="solution_list" type="LinkedSetIndirect" linked_class="lnkSolutionToCI" ext_key_to_me="ci_id" ext_key_to_remote="solution_id" count_min="0" count_max="0"/><field name="contract_list" type="LinkedSetIndirect" linked_class="lnkContractToCI" ext_key_to_me="ci_id" ext_key_to_remote="contract_id" count_min="0" count_max="0"/><field name="ticket_list" type="LinkedSetIndirect" linked_class="lnkTicketToCI" ext_key_to_me="ci_id" ext_key_to_remote="ticket_id" count_min="0" count_max="0"/></fields><methods><method name="GetRelationQueries" static="true" access="public" type="Overload-DBObject"><![CDATA[ public static function GetRelationQueries($sRelCode)
  62. {
  63. switch ($sRelCode)
  64. {
  65. case "impacts":
  66. $aRels = array(
  67. "contact" => array("sQuery"=>"SELECT Contact AS c JOIN lnkCIToContact AS l1 ON l1.contact_id = c.id WHERE l1.ci_id = :this->id", "bPropagate"=>true, "iDistance"=>3),
  68. "solution" => array("sQuery"=>"SELECT ApplicationSolution AS s JOIN lnkSolutionToCI AS l1 ON l1.solution_id = s.id WHERE l1.ci_id = :this->id", "bPropagate"=>true, "iDistance"=>2),
  69. );
  70. return array_merge($aRels, parent::GetRelationQueries($sRelCode));
  71. break;
  72. default:
  73. return parent::GetRelationQueries($sRelCode);
  74. }
  75. }]]></method></methods><presentation><details><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>contact_list</item><item>document_list</item><item>solution_list</item><item>contract_list</item><item>ticket_list</item></items></details><search><items><item>name</item><item>status</item><item>org_id</item><item>importance</item></items></search><list><items><item>finalclass</item><item>status</item><item>org_id</item><item>importance</item></items></list></presentation></class><class name="SoftwareInstance" category="bizmodel,searchable,configmgmt" parent="FunctionalCI" abstract="true" key_type="autoincrement" db_table="softwareinstance" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s - %2$s"><attributes><attribute name="name"/><attribute name="device_id_friendlyname"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/application.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="device_id"/><attribute name="device_name"/><attribute name="org_id"/><attribute name="owner_name"/></attributes></reconciliation></properties><fields><field name="device_id" type="ExternalKey" target_class="Device" jointype="" filter="SELECT Device WHERE org_id = :this-&gt;org_id" sql="device_id" is_null_allowed="false" on_target_delete="DEL_MANUAL"><dependencies><attribute name="org_id"/></dependencies></field><field name="device_name" type="ExternalField" extkey_attcode="device_id" target_attcode="name" is_null_allowed="true"/><field name="licence_id" type="ExternalKey" target_class="Licence" jointype="" filter="SELECT Licence WHERE org_id = :this-&gt;org_id" sql="licence_id" is_null_allowed="true" on_target_delete="DEL_MANUAL"><dependencies><attribute name="org_id"/></dependencies></field><field name="licence_name" type="ExternalField" extkey_attcode="licence_id" target_attcode="name" is_null_allowed="true"/><field name="version" type="String" sql="version" default_value="" is_null_allowed="true"/><field name="description" type="Text" sql="description" default_value="" is_null_allowed="true"/></fields><methods><method name="ComputeValues" static="false" access="public" type="Overload-DBObject"><![CDATA[ public function ComputeValues()
  76. {
  77. }]]></method><method name="GetRelationQueries" static="true" access="public" type="Overload-DBObject"><![CDATA[ public static function GetRelationQueries($sRelCode)
  78. {
  79. switch ($sRelCode)
  80. {
  81. case "impacts":
  82. $aRels = array(
  83. // Actually this should be limited to the Software instances based on a DBServer Application type...
  84. "db_instances" => array("sQuery"=>"SELECT DatabaseInstance AS db WHERE db.db_server_instance_id = :this->id", "bPropagate"=>true, "iDistance"=>5),
  85. );
  86. return array_merge($aRels, parent::GetRelationQueries($sRelCode));
  87. break;
  88. case 'depends on':
  89. $aRels = array(
  90. "applications" => array("sQuery"=>"SELECT Device JOIN SoftwareInstance AS app ON app.device_id = Device.id WHERE app.id = :this->id", "bPropagate"=>true, "iDistance"=>5),
  91. );
  92. return array_merge($aRels, parent::GetRelationQueries($sRelCode));
  93. break;
  94. default:
  95. return parent::GetRelationQueries($sRelCode);
  96. }
  97. }]]></method></methods><presentation><details><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>device_id</item><item>licence_id</item><item>version</item><item>description</item><item>contact_list</item><item>document_list</item><item>solution_list</item><item>contract_list</item><item>ticket_list</item></items></details><search><items><item>status</item><item>org_id</item><item>importance</item><item>device_id</item><item>licence_id</item><item>version</item></items></search><list><items><item>finalclass</item><item>status</item><item>org_id</item><item>importance</item><item>device_id_finalclass_recall</item><item>device_id</item><item>version</item></items></list></presentation></class><class name="DBServerInstance" category="bizmodel,searchable,configmgmt" parent="SoftwareInstance" abstract="false" key_type="autoincrement" db_table="softwareinstance_dbserver" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s - %2$s"><attributes><attribute name="name"/><attribute name="device_id_friendlyname"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/database.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="software_id"/><attribute name="software_name"/><attribute name="device_id"/><attribute name="device_name"/><attribute name="org_id"/><attribute name="owner_name"/></attributes></reconciliation></properties><fields><field name="software_id" type="ExternalKey" target_class="DBServer" jointype="" sql="software_id" is_null_allowed="false" on_target_delete="DEL_MANUAL"/><field name="software_name" type="ExternalField" extkey_attcode="software_id" target_attcode="name" is_null_allowed="true"/><field name="dbinstance_list" type="LinkedSet" linked_class="DatabaseInstance" ext_key_to_me="db_server_instance_id" count_min="0" count_max="0"/></fields><methods/><presentation><details><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>device_id</item><item>licence_id</item><item>software_id</item><item>version</item><item>description</item><item>contact_list</item><item>document_list</item><item>solution_list</item><item>contract_list</item><item>ticket_list</item><item>dbinstance_list</item></items></details><search><items><item>status</item><item>org_id</item><item>importance</item><item>device_id</item><item>licence_id</item><item>software_id</item><item>version</item></items></search><list><items><item>status</item><item>org_id</item><item>importance</item><item>device_id_finalclass_recall</item><item>device_id</item><item>software_id</item><item>version</item></items></list></presentation></class><class name="ApplicationInstance" category="bizmodel,searchable,configmgmt" parent="SoftwareInstance" abstract="false" key_type="autoincrement" db_table="softwareinstance_application" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s - %2$s"><attributes><attribute name="name"/><attribute name="device_id_friendlyname"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/application.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="software_id"/><attribute name="software_name"/><attribute name="device_id"/><attribute name="device_name"/><attribute name="org_id"/><attribute name="owner_name"/></attributes></reconciliation></properties><fields><field name="software_id" type="ExternalKey" target_class="Application" jointype="" sql="software_id" is_null_allowed="false" on_target_delete="DEL_MANUAL"/><field name="software_name" type="ExternalField" extkey_attcode="software_id" target_attcode="name" is_null_allowed="true"/></fields><methods/><presentation><details><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>device_id</item><item>licence_id</item><item>software_id</item><item>version</item><item>description</item><item>contact_list</item><item>document_list</item><item>solution_list</item><item>contract_list</item><item>ticket_list</item></items></details><search><items><item>status</item><item>org_id</item><item>importance</item><item>device_id</item><item>licence_id</item><item>software_id</item><item>version</item></items></search><list><items><item>status</item><item>org_id</item><item>importance</item><item>device_id_finalclass_recall</item><item>device_id</item><item>software_id</item><item>version</item></items></list></presentation></class><class name="DatabaseInstance" category="bizmodel,searchable,configmgmt" parent="FunctionalCI" abstract="false" key_type="autoincrement" db_table="databaseinstance" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s - %2$s"><attributes><attribute name="name"/><attribute name="db_server_instance_id_friendlyname"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/database-instance.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="org_id"/><attribute name="owner_name"/><attribute name="db_server_instance_id"/><attribute name="db_server_instance_name"/></attributes></reconciliation></properties><fields><field name="db_server_instance_id" type="ExternalKey" target_class="DBServerInstance" jointype="" filter="SELECT DBServerInstance WHERE org_id = :this-&gt;org_id" sql="db_server_instance_id" is_null_allowed="false" on_target_delete="DEL_MANUAL"><dependencies><attribute name="org_id"/></dependencies></field><field name="db_server_instance_name" type="ExternalField" extkey_attcode="db_server_instance_id" target_attcode="name" is_null_allowed="true"/><field name="db_server_instance_version" type="ExternalField" extkey_attcode="db_server_instance_id" target_attcode="version" is_null_allowed="true"/><field name="description" type="Text" sql="description" default_value="" is_null_allowed="true"/></fields><methods><method name="GetRelationQueries" static="true" access="public" type="Overload-DBObject"><![CDATA[ public static function GetRelationQueries($sRelCode)
  98. {
  99. switch ($sRelCode)
  100. {
  101. case "depends on":
  102. $aRels = array(
  103. "db_instances" => array("sQuery"=>"SELECT DBServerInstance AS db_server_inst JOIN DatabaseInstance AS db ON db.db_server_instance_id = db_server_inst.id WHERE db.id = :this->id", "bPropagate"=>true, "iDistance"=>5),
  104. );
  105. return array_merge($aRels, parent::GetRelationQueries($sRelCode));
  106. break;
  107. default:
  108. return parent::GetRelationQueries($sRelCode);
  109. }
  110. }]]></method></methods><presentation><details><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>db_server_instance_id</item><item>db_server_instance_version</item><item>description</item><item>contact_list</item><item>document_list</item><item>solution_list</item><item>contract_list</item><item>ticket_list</item></items></details><search><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>db_server_instance_id</item><item>db_server_instance_version</item></items></search><list><items><item>status</item><item>org_id</item><item>importance</item><item>db_server_instance_id</item><item>db_server_instance_version</item></items></list></presentation></class><class name="Group" category="bizmodel,searchable,configmgmt" parent="cmdbAbstractObject" abstract="false" key_type="autoincrement" db_table="group" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/group.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="org_id"/><attribute name="owner_name"/></attributes></reconciliation></properties><fields><field name="name" type="String" sql="name" default_value="" is_null_allowed="false"/><field name="status" type="Enum" sql="status" default_value="implementation" is_null_allowed="false"><values><value>production</value><value>implementation</value><value>obsolete</value></values></field><field name="org_id" type="ExternalKey" target_class="Organization" jointype="" sql="org_id" is_null_allowed="false" on_target_delete="DEL_MANUAL"/><field name="owner_name" type="ExternalField" extkey_attcode="org_id" target_attcode="name" is_null_allowed="true"/><field name="description" type="Text" sql="description" default_value="" is_null_allowed="true"/><field name="type" type="String" sql="type" default_value="" is_null_allowed="true"/><field name="parent_id" type="HierarchicalKey" sql="parent_id" is_null_allowed="true" on_target_delete="DEL_MANUAL"><dependencies><attribute name="org_id"/></dependencies></field><field name="parent_name" type="ExternalField" extkey_attcode="parent_id" target_attcode="name" is_null_allowed="true"/><field name="ci_list" type="LinkedSetIndirect" linked_class="lnkGroupToCI" ext_key_to_me="group_id" ext_key_to_remote="ci_id" count_min="0" count_max="0"/></fields><methods/><presentation><details><items><item>name</item><item>status</item><item>org_id</item><item>type</item><item>description</item><item>parent_id</item><item>ci_list</item></items></details><search><items><item>name</item><item>status</item><item>org_id</item><item>type</item></items></search><list><items><item>status</item><item>org_id</item><item>type</item><item>parent_id</item></items></list></presentation></class><class name="lnkGroupToCI" category="bizmodel,configmgmt" parent="cmdbAbstractObject" abstract="false" key_type="autoincrement" is_link="1" db_table="lnkgrouptoci" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="group_id"/></attributes></naming><display_template></display_template><icon></icon><reconciliation><attributes><attribute name="group_id"/><attribute name="ci_id"/></attributes></reconciliation></properties><fields><field name="group_id" type="ExternalKey" target_class="Group" jointype="" sql="group_id" is_null_allowed="false" on_target_delete="DEL_MANUAL"/><field name="group_name" type="ExternalField" extkey_attcode="group_id" target_attcode="name" is_null_allowed="true"/><field name="ci_id" type="ExternalKey" target_class="FunctionalCI" jointype="" sql="ci_id" is_null_allowed="false" on_target_delete="DEL_MANUAL"/><field name="ci_name" type="ExternalField" extkey_attcode="ci_id" target_attcode="name" is_null_allowed="true"/><field name="ci_status" type="ExternalField" extkey_attcode="ci_id" target_attcode="status" is_null_allowed="true"/><field name="reason" type="String" sql="reason" default_value="" is_null_allowed="true"/></fields><methods/><presentation><details><items><item>group_id</item><item>ci_id</item><item>ci_status</item><item>reason</item></items></details><search><items><item>group_id</item><item>ci_id</item><item>reason</item></items></search><list><items><item>group_id</item><item>ci_id_finalclass_recall</item><item>ci_id</item><item>ci_status</item><item>reason</item></items></list></presentation></class><class name="ApplicationSolution" category="bizmodel,searchable,configmgmt" parent="FunctionalCI" abstract="false" key_type="autoincrement" db_table="applicationsolution" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/solution.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="org_id"/><attribute name="owner_name"/></attributes></reconciliation></properties><fields><field name="description" type="Text" sql="description" default_value="" is_null_allowed="true"/><field name="ci_list" type="LinkedSetIndirect" linked_class="lnkSolutionToCI" ext_key_to_me="solution_id" ext_key_to_remote="ci_id" count_min="0" count_max="0"/><field name="process_list" type="LinkedSetIndirect" linked_class="lnkProcessToSolution" ext_key_to_me="solution_id" ext_key_to_remote="process_id" count_min="0" count_max="0"/></fields><methods><method name="GetRelationQueries" static="true" access="public" type="Overload-DBObject"><![CDATA[ public static function GetRelationQueries($sRelCode)
  111. {
  112. switch ($sRelCode)
  113. {
  114. case "impacts":
  115. $aRels = array(
  116. "process" => array("sQuery"=>"SELECT BusinessProcess AS p JOIN lnkProcessToSolution AS l1 ON l1.process_id = p.id WHERE l1.solution_id = :this->id", "bPropagate"=>true, "iDistance"=>3),
  117. );
  118. return array_merge($aRels, parent::GetRelationQueries($sRelCode));
  119. break;
  120. case "depends on":
  121. $aRels = array(
  122. "solution" => array("sQuery"=>"SELECT FunctionalCI AS ci JOIN lnkSolutionToCI AS l1 ON l1.ci_id = ci.id WHERE l1.solution_id = :this->id", "bPropagate"=>true, "iDistance"=>2),
  123. );
  124. return array_merge($aRels, parent::GetRelationQueries($sRelCode));
  125. break;
  126. default:
  127. return parent::GetRelationQueries($sRelCode);
  128. }
  129. }]]></method></methods><presentation><details><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>description</item><item>contact_list</item><item>document_list</item><item>solution_list</item><item>contract_list</item><item>ticket_list</item><item>ci_list</item><item>process_list</item></items></details><search><items><item>name</item><item>status</item><item>org_id</item><item>importance</item></items></search><list><items><item>status</item><item>org_id</item><item>importance</item></items></list></presentation></class><class name="BusinessProcess" category="bizmodel,searchable,configmgmt" parent="FunctionalCI" abstract="false" key_type="autoincrement" db_table="businessprocess" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/business-process.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="org_id"/><attribute name="owner_name"/></attributes></reconciliation></properties><fields><field name="description" type="Text" sql="description" default_value="" is_null_allowed="true"/><field name="used_solution_list" type="LinkedSetIndirect" linked_class="lnkProcessToSolution" ext_key_to_me="process_id" ext_key_to_remote="solution_id" count_min="0" count_max="0"/></fields><methods><method name="GetRelationQueries" static="true" access="public" type="Overload-DBObject"><![CDATA[ public static function GetRelationQueries($sRelCode)
  130. {
  131. switch ($sRelCode)
  132. {
  133. case "depends on":
  134. $aRels = array(
  135. "solution" => array("sQuery"=>"SELECT ApplicationSolution AS app JOIN lnkProcessToSolution AS l1 ON l1.solution_id = app.id WHERE l1.process_id = :this->id", "bPropagate"=>true, "iDistance"=>3),
  136. );
  137. return array_merge($aRels, parent::GetRelationQueries($sRelCode));
  138. break;
  139. default:
  140. return parent::GetRelationQueries($sRelCode);
  141. }
  142. }]]></method></methods><presentation><details><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>description</item><item>contact_list</item><item>document_list</item><item>contract_list</item><item>ticket_list</item><item>used_solution_list</item></items></details><search><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>description</item></items></search><list><items><item>status</item><item>org_id</item><item>importance</item></items></list></presentation></class><class name="ConnectableCI" category="bizmodel,searchable,configmgmt" parent="FunctionalCI" abstract="true" key_type="autoincrement" db_table="connectableci" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/server.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="org_id"/><attribute name="owner_name"/></attributes></reconciliation></properties><fields><field name="brand" type="String" sql="brand" default_value="" is_null_allowed="true"/><field name="model" type="String" sql="model" default_value="" is_null_allowed="true"/><field name="serial_number" type="String" sql="serial_number" default_value="" is_null_allowed="true"/><field name="asset_ref" type="String" sql="asset_ref" default_value="" is_null_allowed="true"/></fields><methods/><presentation><details><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>serial_number</item><item>asset_ref</item><item>contact_list</item><item>document_list</item><item>solution_list</item><item>contract_list</item><item>ticket_list</item></items></details><search><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>serial_number</item><item>asset_ref</item></items></search><list><items><item>finalclass</item><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>serial_number</item><item>asset_ref</item></items></list></presentation></class><class name="NetworkInterface" category="bizmodel,searchable,configmgmt" parent="ConnectableCI" abstract="false" key_type="autoincrement" db_table="networkinterface" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s - %2$s"><attributes><attribute name="device_id_friendlyname"/><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/interface.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="device_id"/><attribute name="device_name"/><attribute name="org_id"/></attributes></reconciliation></properties><fields><field name="device_id" type="ExternalKey" target_class="Device" jointype="" filter="SELECT Device WHERE org_id = :this-&gt;org_id" sql="device_id" is_null_allowed="false" on_target_delete="DEL_AUTO"><dependencies><attribute name="org_id"/></dependencies></field><field name="device_name" type="ExternalField" extkey_attcode="device_id" target_attcode="name" is_null_allowed="true"/><field name="logical_type" type="Enum" sql="logical_type" default_value="primary" is_null_allowed="false"><values><value>backup</value><value>logical</value><value>port</value><value>primary</value><value>secondary</value></values></field><field name="physical_type" type="Enum" sql="physical_type" default_value="ethernet" is_null_allowed="false"><values><value>atm</value><value>ethernet</value><value>framerelay</value><value>vlan</value></values></field><field name="ip_address" type="IPAddress" sql="ip_address" default_value="" is_null_allowed="true"/><field name="ip_mask" type="IPAddress" sql="ip_mask" default_value="" is_null_allowed="true"/><field name="mac_address" type="String" sql="mac_address" default_value="" is_null_allowed="true" validation_pattern=""/><field name="speed" type="Integer" sql="speed" default_value="" is_null_allowed="true"/><field name="duplex" type="Enum" sql="duplex" default_value="full" is_null_allowed="true"><values><value>full</value><value>half</value><value>auto</value><value>unknown</value></values></field><field name="connected_if" type="ExternalKey" target_class="NetworkInterface" jointype="" filter="SELECT NetworkInterface WHERE org_id = :this-&gt;org_id" sql="connected_if" is_null_allowed="true" on_target_delete="DEL_AUTO"><dependencies><attribute name="org_id"/></dependencies></field><field name="connected_name" type="ExternalField" extkey_attcode="connected_if" target_attcode="name" is_null_allowed="true"/><field name="connected_if_device_id" type="ExternalField" extkey_attcode="connected_if" target_attcode="device_id" is_null_allowed="true"/><field name="connected_if_device_id_name" type="ExternalField" extkey_attcode="connected_if" target_attcode="device_name" is_null_allowed="true"/><field name="link_type" type="Enum" sql="link_type" default_value="uplink" is_null_allowed="false"><values><value>uplink</value><value>downlink</value></values></field><field name="connected_if_device_id_friendlyname" type="ExternalField" extkey_attcode="connected_if" target_attcode="device_id_friendlyname" is_null_allowed="true"/></fields><methods><method name="GetRelationQueries" static="true" access="public" type="Overload-DBObject"><![CDATA[ public static function GetRelationQueries($sRelCode)
  143. {
  144. switch ($sRelCode)
  145. {
  146. case "impacts":
  147. $aRels = array(
  148. "connected_devices" => array("sQuery"=>"SELECT Device AS dev JOIN NetworkInterface AS if1 ON if1.device_id = dev.id JOIN NetworkInterface AS if2 ON if2.connected_if = if1.id WHERE if2.id = :this->id AND if2.link_type='downlink'", "bPropagate"=>true, "iDistance"=>5),
  149. );
  150. return array_merge($aRels, parent::GetRelationQueries($sRelCode));
  151. break;
  152. default:
  153. return parent::GetRelationQueries($sRelCode);
  154. }
  155. }]]></method><method name="UpdateConnectedInterface" static="false" access="protected" type="Overload-DBObject"><![CDATA[ protected function UpdateConnectedInterface()
  156. {
  157. $iPrevTargetIf = $this->m_aOrigValues['connected_if']; // The interface this interface was connected to
  158. if ($iPrevTargetIf != 0)
  159. {
  160. // The interface was previosuly connected to another interface. Make sure that we reset this 'previously connected interface'
  161. $oPrevConnectedIf = MetaModel::GetObject('NetworkInterface', $iPrevTargetIf, false);
  162. if (!is_null($oPrevConnectedIf))
  163. {
  164. $oPrevConnectedIf->Set('connected_if', 0);
  165. // Need to backup the current change, because it is reset when DBUpdateTracked is complete
  166. $oCurrChange = self::$m_oCurrChange;
  167. $oPrevConnectedIf->DBUpdateTracked($oCurrChange);
  168. self::$m_oCurrChange = $oCurrChange;
  169. }
  170. }
  171. $oConnIf = MetaModel::GetObject('NetworkInterface', $this->Get('connected_if'), false /* no exception if not found */);
  172. if (!is_null($oConnIf))
  173. {
  174. $sLink = $this->Get('link_type');
  175. $sConnLink = ($sLink == 'uplink') ? 'downlink' : 'uplink';
  176. if (($oConnIf->Get('connected_if') != $this->GetKey()) || ($sConnLink != $oConnIf->Get('link_type')))
  177. {
  178. // Something has to be changed on the connected interface...
  179. if ($oConnIf->Get('connected_if') != $this->GetKey())
  180. {
  181. // It is connected to another interface: reset that third one...
  182. $oThirdIf = MetaModel::GetObject('NetworkInterface', $oConnIf->Get('connected_if'), false);
  183. if (!is_null($oThirdIf))
  184. {
  185. $oThirdIf->Set('connected_if', 0);
  186. // Need to backup the current change, because it is reset when DBUpdateTracked is complete
  187. $oCurrChange = self::$m_oCurrChange;
  188. $oThirdIf->DBUpdateTracked($oCurrChange);
  189. self::$m_oCurrChange = $oCurrChange;
  190. }
  191. }
  192. // Connect the remote interface to the current one
  193. $oConnIf->Set('connected_if', $this->GetKey());
  194. $oConnIf->Set('link_type', $sConnLink);
  195. // Need to backup the current change, because it is reset when DBUpdateTracked is complete
  196. $oCurrChange = self::$m_oCurrChange;
  197. $oConnIf->DBUpdateTracked($oCurrChange);
  198. self::$m_oCurrChange = $oCurrChange;
  199. }
  200. }
  201. }]]></method><method name="AfterInsert" static="false" access="protected" type="Overload-DBObject"><![CDATA[ protected function AfterInsert()
  202. {
  203. $this->UpdateConnectedInterface();
  204. parent::AfterInsert();
  205. }]]></method><method name="AfterUpdate" static="false" access="protected" type="Overload-DBObject"><![CDATA[ protected function AfterUpdate()
  206. {
  207. $this->UpdateConnectedInterface();
  208. parent::AfterUpdate();
  209. }]]></method></methods><presentation><details><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>serial_number</item><item>asset_ref</item><item>device_id</item><item>logical_type</item><item>physical_type</item><item>ip_address</item><item>ip_mask</item><item>mac_address</item><item>speed</item><item>duplex</item><item>link_type</item><item>connected_if</item><item>connected_if_device_id</item><item>contact_list</item><item>document_list</item><item>solution_list</item><item>contract_list</item><item>ticket_list</item></items></details><search><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>device_id</item><item>logical_type</item><item>physical_type</item><item>ip_address</item><item>ip_mask</item><item>mac_address</item><item>connected_if_device_id</item></items></search><list><items><item>status</item><item>ip_address</item><item>importance</item><item>device_id_finalclass_recall</item><item>device_id</item><item>logical_type</item><item>physical_type</item><item>link_type</item><item>connected_if_device_id</item></items></list></presentation></class><class name="Device" category="bizmodel,searchable,configmgmt" parent="ConnectableCI" abstract="true" key_type="autoincrement" db_table="device" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/server.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="org_id"/><attribute name="owner_name"/></attributes></reconciliation></properties><fields><field name="nwinterface_list" type="LinkedSet" linked_class="NetworkInterface" ext_key_to_me="device_id" count_min="0" count_max="0"/></fields><methods><method name="GetRelationQueries" static="true" access="public" type="Overload-DBObject"><![CDATA[ public static function GetRelationQueries($sRelCode)
  210. {
  211. switch ($sRelCode)
  212. {
  213. case "impacts":
  214. $aRels = array(
  215. "applications" => array("sQuery"=>"SELECT SoftwareInstance AS app WHERE app.device_id = :this->id", "bPropagate"=>true, "iDistance"=>5),
  216. "connected_devices" => array("sQuery"=>"SELECT Device AS dev JOIN NetworkInterface AS if1 ON if1.device_id = dev.id JOIN NetworkInterface AS if2 ON if2.connected_if = if1.id WHERE if2.device_id = :this->id AND if2.link_type='downlink'", "bPropagate"=>true, "iDistance"=>5),
  217. );
  218. return array_merge($aRels, parent::GetRelationQueries($sRelCode));
  219. break;
  220. case "depends on":
  221. $aRels = array(
  222. "connected_devices" => array("sQuery"=>"SELECT Device AS dev JOIN NetworkInterface AS if1 ON if1.device_id = dev.id JOIN NetworkInterface AS if2 ON if2.connected_if = if1.id WHERE if2.device_id = :this->id AND if2.link_type='uplink'", "bPropagate"=>true, "iDistance"=>5),
  223. );
  224. return array_merge($aRels, parent::GetRelationQueries($sRelCode));
  225. break;
  226. default:
  227. return parent::GetRelationQueries($sRelCode);
  228. }
  229. }]]></method></methods><presentation><details><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>serial_number</item><item>asset_ref</item><item>contact_list</item><item>document_list</item><item>solution_list</item><item>contract_list</item><item>ticket_list</item><item>nwinterface_list</item></items></details><search><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>serial_number</item><item>asset_ref</item></items></search><list><items><item>finalclass</item><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>serial_number</item><item>asset_ref</item></items></list></presentation></class><class name="PC" category="bizmodel,searchable,configmgmt" parent="Device" abstract="false" key_type="autoincrement" db_table="pc" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/laptop.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="org_id"/><attribute name="owner_name"/></attributes></reconciliation></properties><fields><field name="cpu" type="String" sql="cpu" default_value="" is_null_allowed="true"/><field name="ram" type="String" sql="ram" default_value="" is_null_allowed="true"/><field name="hdd" type="String" sql="hdd" default_value="" is_null_allowed="true"/><field name="os_family" type="String" sql="os_family" default_value="" is_null_allowed="true"/><field name="os_version" type="String" sql="os_version" default_value="" is_null_allowed="true"/><field name="application_list" type="LinkedSet" linked_class="SoftwareInstance" ext_key_to_me="device_id" count_min="0" count_max="0"/><field name="patch_list" type="LinkedSetIndirect" linked_class="lnkPatchToCI" ext_key_to_me="ci_id" ext_key_to_remote="patch_id" count_min="0" count_max="0"/></fields><methods/><presentation><details><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>serial_number</item><item>asset_ref</item><item>cpu</item><item>ram</item><item>hdd</item><item>os_family</item><item>os_version</item><item>contact_list</item><item>document_list</item><item>solution_list</item><item>contract_list</item><item>ticket_list</item><item>nwinterface_list</item><item>application_list</item><item>patch_list</item></items></details><search><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>serial_number</item><item>asset_ref</item><item>os_family</item><item>os_version</item></items></search><list><items><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>os_family</item></items></list></presentation></class><class name="MobileCI" category="bizmodel,searchable,configmgmt" parent="Device" abstract="true" key_type="autoincrement" db_table="mobileci" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/mobile-phone.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="org_id"/><attribute name="owner_name"/></attributes></reconciliation></properties><fields/><methods/><presentation><details><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>serial_number</item><item>asset_ref</item><item>contact_list</item><item>document_list</item><item>solution_list</item><item>contract_list</item><item>ticket_list</item><item>nwinterface_list</item></items></details><search><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>serial_number</item><item>asset_ref</item></items></search><list><items><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item></items></list></presentation></class><class name="MobilePhone" category="bizmodel,searchable,configmgmt" parent="MobileCI" abstract="false" key_type="autoincrement" db_table="mobilephone" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/mobile-phone.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="org_id"/><attribute name="owner_name"/></attributes></reconciliation></properties><fields><field name="number" type="String" sql="number" default_value="" is_null_allowed="true"/><field name="imei" type="String" sql="IMIE" default_value="" is_null_allowed="true"/><field name="hw_pin" type="String" sql="hw_pin" default_value="" is_null_allowed="true"/></fields><methods/><presentation><details><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>serial_number</item><item>asset_ref</item><item>number</item><item>imei</item><item>hw_pin</item><item>contact_list</item><item>document_list</item><item>solution_list</item><item>contract_list</item><item>ticket_list</item><item>nwinterface_list</item></items></details><search><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>serial_number</item><item>asset_ref</item><item>number</item><item>imei</item></items></search><list><items><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item></items></list></presentation></class><class name="InfrastructureCI" category="bizmodel,searchable,configmgmt" parent="Device" abstract="true" key_type="autoincrement" db_table="infrastructureci" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/server.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="org_id"/><attribute name="owner_name"/><attribute name="location_id"/><attribute name="location_name"/></attributes></reconciliation></properties><fields><field name="description" type="Text" sql="description" default_value="" is_null_allowed="true"/><field name="location_id" type="ExternalKey" target_class="Location" jointype="" filter="SELECT Location AS l WHERE l.org_id = :this-&gt;org_id" sql="location_id" is_null_allowed="true" on_target_delete="DEL_MANUAL"><dependencies><attribute name="org_id"/></dependencies></field><field name="location_name" type="ExternalField" extkey_attcode="location_id" target_attcode="name" is_null_allowed="true"/><field name="location_details" type="Text" sql="location_details" default_value="" is_null_allowed="true"/><field name="management_ip" type="IPAddress" sql="management_ip" default_value="" is_null_allowed="true"/><field name="default_gateway" type="String" sql="default_gateway" default_value="" is_null_allowed="true"/></fields><methods/><presentation><details><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>serial_number</item><item>asset_ref</item><item>description</item><item>location_id</item><item>location_details</item><item>management_ip</item><item>default_gateway</item><item>contact_list</item><item>document_list</item><item>solution_list</item><item>contract_list</item><item>ticket_list</item><item>nwinterface_list</item></items></details><search><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>serial_number</item><item>asset_ref</item><item>location_id</item><item>management_ip</item><item>default_gateway</item></items></search><list><items><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>location_id</item></items></list></presentation></class><class name="NetworkDevice" category="bizmodel,searchable,configmgmt" parent="InfrastructureCI" abstract="false" key_type="autoincrement" db_table="networkdevice" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/switch.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="org_id"/><attribute name="owner_name"/><attribute name="location_id"/><attribute name="location_name"/></attributes></reconciliation></properties><fields><field name="type" type="Enum" sql="type" default_value="switch" is_null_allowed="true"><values><value>wanaccelerator</value><value>firewall</value><value>hub</value><value>loadbalancer</value><value>router</value><value>switch</value></values></field><field name="ios_version" type="String" sql="ios_version" default_value="" is_null_allowed="true"/><field name="ram" type="String" sql="ram" default_value="" is_null_allowed="true"/><field name="snmp_read" type="String" sql="snmp_read" default_value="" is_null_allowed="true"/><field name="snmp_write" type="String" sql="snmp_write" default_value="" is_null_allowed="true"/></fields><methods/><presentation><details><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>serial_number</item><item>asset_ref</item><item>description</item><item>location_id</item><item>location_details</item><item>management_ip</item><item>default_gateway</item><item>type</item><item>ios_version</item><item>ram</item><item>snmp_read</item><item>snmp_write</item><item>contact_list</item><item>document_list</item><item>solution_list</item><item>contract_list</item><item>ticket_list</item><item>nwinterface_list</item></items></details><search><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>serial_number</item><item>asset_ref</item><item>location_id</item><item>management_ip</item><item>default_gateway</item><item>type</item><item>ios_version</item></items></search><list><items><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>location_id</item><item>type</item></items></list></presentation></class><class name="Server" category="bizmodel,searchable,configmgmt" parent="InfrastructureCI" abstract="false" key_type="autoincrement" db_table="server" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/server.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="org_id"/><attribute name="owner_name"/><attribute name="location_id"/><attribute name="location_name"/></attributes></reconciliation></properties><fields><field name="cpu" type="String" sql="cpu" default_value="" is_null_allowed="true"/><field name="ram" type="String" sql="ram" default_value="" is_null_allowed="true"/><field name="hdd" type="String" sql="hdd" default_value="" is_null_allowed="true"/><field name="os_family" type="String" sql="os_family" default_value="" is_null_allowed="true"/><field name="os_version" type="String" sql="os_version" default_value="" is_null_allowed="true"/><field name="application_list" type="LinkedSet" linked_class="SoftwareInstance" ext_key_to_me="device_id" count_min="0" count_max="0"/><field name="patch_list" type="LinkedSetIndirect" linked_class="lnkPatchToCI" ext_key_to_me="ci_id" ext_key_to_remote="patch_id" count_min="0" count_max="0"/></fields><methods/><presentation><details><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>serial_number</item><item>asset_ref</item><item>description</item><item>location_id</item><item>location_details</item><item>management_ip</item><item>default_gateway</item><item>cpu</item><item>ram</item><item>hdd</item><item>os_family</item><item>os_version</item><item>contact_list</item><item>document_list</item><item>solution_list</item><item>contract_list</item><item>ticket_list</item><item>nwinterface_list</item><item>application_list</item><item>patch_list</item></items></details><search><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>serial_number</item><item>asset_ref</item><item>location_id</item><item>management_ip</item><item>default_gateway</item><item>os_family</item><item>os_version</item></items></search><list><items><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>location_id</item><item>os_family</item></items></list></presentation></class><class name="Printer" category="bizmodel,searchable,configmgmt" parent="InfrastructureCI" abstract="false" key_type="autoincrement" db_table="printer" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="name"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/printer.png</icon><reconciliation><attributes><attribute name="name"/><attribute name="org_id"/><attribute name="owner_name"/><attribute name="location_id"/><attribute name="location_name"/></attributes></reconciliation></properties><fields><field name="type" type="Enum" sql="type" default_value="printer" is_null_allowed="true"><values><value>mopier</value><value>printer</value></values></field><field name="technology" type="Enum" sql="technology" default_value="laser" is_null_allowed="true"><values><value>laser</value><value>inkjet</value><value>tracer</value></values></field></fields><methods/><presentation><details><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>serial_number</item><item>asset_ref</item><item>description</item><item>location_id</item><item>location_details</item><item>management_ip</item><item>default_gateway</item><item>type</item><item>technology</item><item>contact_list</item><item>document_list</item><item>solution_list</item><item>contract_list</item><item>ticket_list</item><item>nwinterface_list</item></items></details><search><items><item>name</item><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>serial_number</item><item>asset_ref</item><item>description</item><item>location_id</item><item>location_details</item><item>management_ip</item><item>default_gateway</item><item>type</item><item>technology</item></items></search><list><items><item>status</item><item>org_id</item><item>importance</item><item>brand</item><item>model</item><item>serial_number</item><item>asset_ref</item><item>location_id</item><item>management_ip</item><item>default_gateway</item><item>type</item><item>technology</item></items></list></presentation></class><class name="lnkCIToDoc" category="bizmodel,configmgmt" parent="cmdbAbstractObject" abstract="false" key_type="autoincrement" is_link="1" db_table="lnkcitodoc" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="ci_id"/></attributes></naming><display_template></display_template><icon></icon><reconciliation><attributes><attribute name="ci_id"/><attribute name="document_id"/></attributes></reconciliation></properties><fields><field name="ci_id" type="ExternalKey" target_class="FunctionalCI" jointype="" sql="ci_id" is_null_allowed="false" on_target_delete="DEL_AUTO"/><field name="ci_name" type="ExternalField" extkey_attcode="ci_id" target_attcode="name" is_null_allowed="true"/><field name="ci_status" type="ExternalField" extkey_attcode="ci_id" target_attcode="status" is_null_allowed="true"/><field name="document_id" type="ExternalKey" target_class="Document" jointype="" sql="document_id" is_null_allowed="false" on_target_delete="DEL_AUTO"/><field name="document_name" type="ExternalField" extkey_attcode="document_id" target_attcode="name" is_null_allowed="true"/><field name="document_type" type="ExternalField" extkey_attcode="document_id" target_attcode="type" is_null_allowed="true"/><field name="document_status" type="ExternalField" extkey_attcode="document_id" target_attcode="status" is_null_allowed="true"/></fields><methods/><presentation><details><items><item>ci_id</item><item>ci_status</item><item>document_id</item><item>document_type</item><item>document_status</item></items></details><search><items><item>ci_id</item><item>document_id</item></items></search><list><items><item>ci_id_finalclass_recall</item><item>ci_id</item><item>ci_status</item><item>document_id_finalclass_recall</item><item>document_id</item><item>document_type</item><item>document_status</item></items></list></presentation></class><class name="lnkCIToContact" category="bizmodel,configmgmt" parent="cmdbAbstractObject" abstract="false" key_type="autoincrement" is_link="1" db_table="lnkcitocontact" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="ci_id"/></attributes></naming><display_template></display_template><icon>../modules/itop-config-mgmt-1.0.0/images/contact.png</icon><reconciliation><attributes><attribute name="ci_id"/><attribute name="contact_id"/></attributes></reconciliation></properties><fields><field name="ci_id" type="ExternalKey" target_class="FunctionalCI" jointype="" sql="ci_id" is_null_allowed="false" on_target_delete="DEL_AUTO"/><field name="ci_name" type="ExternalField" extkey_attcode="ci_id" target_attcode="name" is_null_allowed="true"/><field name="ci_status" type="ExternalField" extkey_attcode="ci_id" target_attcode="status" is_null_allowed="true"/><field name="contact_id" type="ExternalKey" target_class="Contact" jointype="" sql="contact_id" is_null_allowed="false" on_target_delete="DEL_AUTO"/><field name="contact_name" type="ExternalField" extkey_attcode="contact_id" target_attcode="name" is_null_allowed="true"/><field name="contact_email" type="ExternalField" extkey_attcode="contact_id" target_attcode="email" is_null_allowed="true"/><field name="role" type="String" sql="role" default_value="" is_null_allowed="true"/></fields><methods/><presentation><details><items><item>ci_id</item><item>ci_status</item><item>contact_id</item><item>contact_email</item><item>role</item></items></details><search><items><item>ci_id</item><item>contact_id</item><item>role</item></items></search><list><items><item>ci_id_finalclass_recall</item><item>ci_id</item><item>ci_status</item><item>contact_id_finalclass_recall</item><item>contact_id</item><item>contact_email</item><item>role</item></items></list></presentation></class><class name="lnkSolutionToCI" category="bizmodel,configmgmt" parent="cmdbAbstractObject" abstract="false" key_type="autoincrement" is_link="1" db_table="lnksolutiontoci" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="solution_id"/></attributes></naming><display_template></display_template><icon></icon><reconciliation><attributes><attribute name="solution_id"/><attribute name="ci_id"/></attributes></reconciliation></properties><fields><field name="solution_id" type="ExternalKey" target_class="ApplicationSolution" jointype="" sql="solution_id" is_null_allowed="false" on_target_delete="DEL_AUTO"/><field name="solution_name" type="ExternalField" extkey_attcode="solution_id" target_attcode="name" is_null_allowed="true"/><field name="ci_id" type="ExternalKey" target_class="FunctionalCI" jointype="" sql="ci_id" is_null_allowed="false" on_target_delete="DEL_AUTO"/><field name="ci_name" type="ExternalField" extkey_attcode="ci_id" target_attcode="name" is_null_allowed="true"/><field name="ci_status" type="ExternalField" extkey_attcode="ci_id" target_attcode="status" is_null_allowed="true"/><field name="utility" type="String" sql="utility" default_value="" is_null_allowed="true"/></fields><methods/><presentation><details><items><item>solution_id</item><item>ci_id</item><item>ci_status</item><item>utility</item></items></details><search><items><item>solution_id</item><item>ci_id</item><item>utility</item></items></search><list><items><item>solution_id</item><item>ci_id_finalclass_recall</item><item>ci_id</item><item>ci_status</item><item>utility</item></items></list></presentation></class><class name="lnkProcessToSolution" category="bizmodel,configmgmt" parent="cmdbAbstractObject" abstract="false" key_type="autoincrement" is_link="1" db_table="lnkprocesstosolution" db_key_field="id" db_final_class_field=""><properties><naming format="%1$s"><attributes><attribute name="solution_id"/></attributes></naming><display_template></display_template><icon></icon><reconciliation><attributes><attribute name="solution_id"/><attribute name="process_id"/></attributes></reconciliation></properties><fields><field name="solution_id" type="ExternalKey" target_class="ApplicationSolution" jointype="" sql="solution_id" is_null_allowed="false" on_target_delete="DEL_AUTO"/><field name="solution_name" type="ExternalField" extkey_attcode="solution_id" target_attcode="name" is_null_allowed="true"/><field name="process_id" type="ExternalKey" target_class="BusinessProcess" jointype="" sql="process_id" is_null_allowed="false" on_target_delete="DEL_AUTO"/><field name="process_name" type="ExternalField" extkey_attcode="process_id" target_attcode="name" is_null_allowed="true"/><field name="reason" type="String" sql="reason" default_value="" is_null_allowed="true"/></fields><methods/><presentation><details><items><item>solution_id</item><item>process_id</item><item>reason</item></items></details><search><items><item>solution_id</item><item>process_id</item><item>reason</item></items></search><list><items><item>solution_id</item><item>process_id</item><item>reason</item></items></list></presentation></class></classes>