XML数据模型引用

本文档是引用文档,用于iTop模块内部的datamodel.xxxx.xml文件中使用的XML格式。 XML数据模型文件可用于定义:

类-使用安装程序或工具包“编译”时将生成实际的PHP类

  • 菜单-插入iTop页面左侧的应用菜单中
  • 简档(角色)-管理对iTop对象的权利访问
  • 品牌化

原则

XML数据模型包含在其他XML文件中进行的声明的初始声明和附加更改。

iTop编译器分两个步骤工作:

加载已安装模块的XML数据模型文件。 XML被组合为一个XML定义。对于图片而言,重要的是,从一个空的定义开始,iTop将一个一个地合并每个XML,

解释最终的组合定义。

下文描述的XML格式引用适用于组合定义。因此,XML可能不包含所有强制性节点,而仅包含标识变更路径所需的那些以及(重新)定义项目所需的那些。

默认情况下,给定XML的内容将合并到组合定义中。

更改节点内容

您可以使用属性_delta定义更改。属性指定必须如何考虑给定节点,包括其子节点。

_delta可以采用以下值:

_delta含义
merge (default)如果该节点尚不存在,请创建它。然后检查其子节点中的增量。这与结构节点最相关
must_exist确保该节点已经存在。然后检查其子节点中的增量。
if_exists2.3.0的新功能-检查此节点是否已存在。如果是这样,请检查其子节点中的增量。否则,请忽略此节点。它类似于must_exist,但是它跳过当前节点而不是停止整个流程。
define这是此节点的第一个定义。不应在其子节点中找到任何标志。
define_if_not_exists如果该节点尚不存在,则对其进行定义。否则忽略它。
redefine该节点的内容必须替换为增量节点的内容。
delete删除该节点。如果节点不存在,则停止处理。不要在此节点下提供任何子节点
delete_if_exists删除该节点。不要在具有此增量的节点下提供任何子节点
force2.4.0中的新增功能-强制定义此节点(无论是否存在)

节点由其标签名称和属性id标识。如果没有给出id,则该节点被标识为具有相同标签名称的FIRST节点。

当编译器遇到define/redefine时,它将认为子树是纯内容定义。因此,该子树中的任何属性_delta或_rename_from发现将被忽略。

重命名节点

另一个属性是_rename_from。使用它来指定该项目(例如类字段)实际上是从_rename_from重命名为id的现有项目。

XML的一般结构

使用项目左侧的三角形箭头展开以折叠其定义。

标签用法描述
<itop_designxmlns:xsi =“ http ::: www.w3.orgg20011XMLSchema-instance”版本=“ 1.2”>强制性的结构节点。由于iTop 2.4.0中轻度的更改,版本已增加到1.4
<classes>强制性的宣告班
<clasśid=“ name”>零或更多上课声明
<arent> cmdbAbstractObject <<arent>强制性的父类
<properties>强制性的 
<is_link>1]<is_link>可选的用于将其他类链接在一起的区分类。设置为1进行链接。
<comment>强制性的在类声明之前,将PHP注释添加到编译文件中
<category>bizmodel,searchable,structure</category>可选的此类的用法。
<abstract>false</abstract>强制性的抽象类无法实例化。
<key_type>autoincrement</key_type>强制性的始终设置为“自动增量”
<db_table>name</db_table>强制性的用于此类的MySQL表的名称。此处给出的名称将自动在安装时提供的后缀之前。
<db_key_field>id=<db_key_field>强制性的始终将标识符字段设置为“ id”就可以了
<db_final_class_field>class<db_final_class_field>强制性的如果该类位于分层类的顶部,则必须定义将使用哪个MySQL列来跟踪对象实例的实际类。将此设置为“ finalclass”就可以了。
<naming>可选的定义用于组成对象友好名称的属性。默认情况下,友好名称将呈现为给定属性的串联,并用空格分隔。您可以通过添加字典条目“ Class:<myClass >> Name”来指定任何其他格式。该格式以类似于prin的格式表达式给出(仅支持$ s。例如'%1 $ s of%2 $ s')。由于这种格式位于词典中,因此可以进行翻译,并且友好名称取决于终端用户的语言。请注意,在iTop 2.0.3中,iTop随附的XML文件中存在标签<format>,但未使用它,这具有误导性。
<attributes>强制性的用于组成友好名称的属性列表。请注意,顺序很重要。
<attribute id="name>最后一个 
<complement_for_select>可选的定义类的默认排序顺序,如果省略,则按友好名称对类进行排序
<attributes>强制性的 
<attribute id="name>最后一个在此属性上升序或降序。属性的顺序很重要。
<order>可选的定义类的默认排序顺序,如果省略,则类在友好名称上排序
<columns>强制性     
<column id="name" ascending="true|false">最后一个对此属性进行排序升序或降序。属性的顺序很重要。
<icon>可选的为您的班级指定一个图标
<reconciliation>强制性的定义数据导入的默认对帐方案。
<attributes>强制性的用于对帐的属性列表。
<attribute id="name”>最后一个 
<indexes>可选的定义表索引
<index id="name”>零或更多要显式强制使用声明的顺序使用所有指定的属性创建数据库索引。
<attributes>强制性的索引使用的属性列表。顺序很重要。
<attribute id="name">最后一个 
<archive>可选的档案配置。
<enabled>true</enabled>强制性的仅适用于根类。设置为true以使此类及其所有后代均可归档(添加两个魔术属性:归档_flag和归档_date)。当任何归档已启用= true时尝试将其设置为false将在运行时导致父
<obsolescence>可选的废弃配置。一旦为类定义了废弃,就添加了两个魔术属性(废弃_flag和废弃_date),分层中的所有类都具有该标志(默认为“否”)。
<condition><![CDATA[status='closed' AND closed_date < DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 3 MONTH),'%Y-%m-%d 00:00:00')]]></condition>强制性的定义对象是否作废的OQL表达式。除非重新定义,否则子类将继承此条件。
<uniqueness_rules>可选的保存对象以检查其唯一性时将使用的规则
<rule id="name">最后一个 
<attributes>强制性的唯一的属性值列表。
<attribute id="name">最后一个 
<filter><![CDATA[status = 'active']]></filter>可选的OQL条件限制检查对象的数量
<disabled>可选的可用于临时禁用规则。在现有规则上覆盖此属性时,只能定义此规则。
<is_blocking>可选的如果规则未能通过验证,则如果此价值为true,则不会保存对象,否则将保存。默认为true。
<fields>强制性的属性声明(累加从父类继承的属性,如果有的话)
<field>最后一个属性的声明。请参阅部分中的各种类型的属性领域
<lifecycle>可选的生命周期:状态和过渡
<highlight_scale>可选的定义对象显示的突出显示代码列表(列表中的后台颜色和图标)
<item id="warning">最后一个新的高光代码的定义
<rank>1</rank>强制性的此突出显示代码的等级(或权重)
<color>HIGHLIGHT_WARNING</color>强制性的此代码的配色方案:HIGHLIGHT_NONE(透明),HIGHLIGHT_WARNING(橙色),HIGHLIGHT_CRITICAL(红色)或HIGHLIGHT_OK(绿色)
<icon>强制性的对象的图标在此状态下
<attribute>name</attribute>强制性的用于状态的属性(必须声明为AttributeEnum,可以从父类继承)
<stimuli>强制性的对象将敏感的事件列表
<stimulus>最后一个宣布刺激措施。在本节中查看各种类型的刺激刺激物
<states>强制性的可能的状态。状态列表必须是为“状态”属性定义的值的子集。
<state id="name">最后一个状态的完整定义:名称,属性标志并转换到其他状态
<initial_state_path>可选的对象在创建时将经过的状态的有序列表
<state_ref>new</state_ref>强制性的一个状态
<inherit_flags_from>*another_state*</inherit_flags_from>可选的要从中继承标志的状态的名称。注意:must_变更和must_prompt标志永远不会被继承
<highlight>可选的突出显示此状态的定义
<code>name</code>强制性的高亮代码
<flags>强制性的在此定义给定状态下如何在GUI中显示属性
<attribute id="name">最后一个GUI组合的标志组合
<hidden>可选的属性在此状态下处于隐藏状态
<read_only>可选的属性已显示,无法修改
<must_prompt>可选的对象进入状态时,GUI必须提示用户
<must_change>可选的当对象进入状态时,必须由用户更改属性。
<mandatory>可选的进入此状态时必须定义属性。这将覆盖属性的定义(属性“ is_null_allowed”)
<transitions>强制性的从此状态到另一状态的可能转换列表
<transition id="name">最后一个对于给定的刺激,定义目标状态和要执行的操作活动。如果省略标识符,将使用刺激的名称。
<stimulus>name</stimulus>强制性的事态触发此转换
<target>name</target>强制性的转换之后达到的状态
<flags>强制性的在此定义该转换的属性如何在GUI中显示
<attribute id="name">最后一个GUI组合的标志组合
<mandatory>可选的必须定义属性才能完成转换。这将覆盖属性的定义(标签“ is_null_allowed”)
<must_change>可选的用户必须更改属性才能完成转换
<must_prompt>可选的转换期间属性以编辑模式显示
<read_only>可选的属性已显示,但无法修改
<actions>强制性的操作活动在转换期间执行的订购清单
<action>最后一个单个性能或绩效
<verb>name</verb>强制性的将被调用的方法的名称(请参阅下文的标签“方法”)
<params>强制性的方法参数列表
<parameter xsi:type="string|int|float|reference">零或更多参数的价值
<methods>强制性的其他职能声明。职能将在该类内声明。这是重载DBObject或cmdbAbstractObject的某些功能的意思。小心使用。
<method id="name">零或更多A职能
<comment>可选的PHP注释。将类的声明放到生成的(编译的)PHP代码中。
<static>false</static>强制性的如果需要声明静态职能,则设置为true,否则设置为false。
<access>public</access>强制性的设置为公众,受保护或私有(请参阅PHP文档)
<type>Overload-DBObject</type>强制性的使用以下值之一:LifecycleAction,Overload-cmdbAbstractObject,Overload-iDisplay,Overload-DBObject,Overload-ExNihilo,自定义
<arguments>可选的对于生命周期操作活动,此标签是必需的,即使该方法没有参数也是如此
<argument>current_stimulus_code</argument>零或更多参数的类型。使用以下值之一:attcode,class,current_stimulus_code,int,引用,字符串
<code>强制性的PHP代码。必须包含职能原型。强烈建议将其放在CDATA中,以避免在代码中转义xml实体的需要。
<relations>可选的当前类的对象与其他类的对象之间的关系。仅从iTop 2.2.0开始受支持。
<relation id="impacts">零或更多给定的关系。今天,“影响”是iTop支持的唯一价值,但是模块可以使用其他值
<neighbours>强制性的邻居班
<neighbour id="name">零或更多名称通常是邻居类名称。必须指定属性或一对查询(向下和向上)
<query_down>SELECT SoftwareInstance AS s WHERE s.system_id = :this->id</query_down>可选的按照关系流动(下游)定义相关对象的OQL查询
<query_up>SELECT System AS s JOIN SoftwareInstance AS si ON si.system_id = s.id WHERE si.id = :this->id</query_up>可选的定义相关对象的OQL查询,在关系流动中向后移动(上游)
<attribute>something_list</attribute>可选的OQL查询的替代方法是指定属性(外部密钥或链接集)
<direction>both</direction>可选的设置为“向下”以限制浏览。默认为“两者”
<presentation>强制性的 
<details>强制性的定义了可视化和对象版本表单的表示形式。可以被生命周期标志“隐藏”覆盖
<items>最后一个参考演示(详细信息)
<search>强制性的搜索屏幕的“添加新的准则”菜单的“最受欢迎”部分中显示的属性的有序列表
<items>最后一个参考演示(搜索,默认搜索或列表)
<default_search>可选的搜索屏幕中显示的默认搜索准则的订购列表。如果保留为空或不存在,则此参数继承自搜索类。
<items>最后一个参考演示(搜索,默认搜索或列表)
<list>强制性的默认情况下在结果列表中显示的属性的有序列表
<items>最后一个参考演示(搜索,默认搜索或列表)
<menus>强制性的声明主GUI中显示的菜单(左窗格)
<menu>最后一个声明菜单。请参阅部分中的各种菜单选单
<user_rights>强制性的用户权利策略的实施:用户将拥有一个或多个简档(角色),委派,他们可以访问权利。
<groups>强制性的组是一组类。授予基于此分组-参见“简档(角色)”
<group id="name">最后一个一组类。
<classes>强制性的组中找到的类的列表
<class id="name">零或更多 
<profiles>强制性的简档(角色)将在应用中列出。用户可以具有一个或多个简档(角色)。简档“管理员”始终存在,无法重新定义。
<profile id="123">最后一个用法简档。
<name>Configuration Manager</name>强制性的简档的名称,如应用中所示。无法翻译。
<description>Person in charge of the documentation of the managed CIs</description>强制性的简档的说明(一行),将在应用中显示。无法翻译。
<groups>强制性的与简档相关的补助
<group>最后一个必须为其定义赠款的组
<actions>强制性的允许操作活动用于profileegroup
<action>最后一个请参阅部分中的各种补助金性能或绩效资助
<files>可选的用于在XML中嵌入二进制文件(如图标)。仅从iTop 2.0.1开始受支持
<file>最后一个文件声明,请参阅本节中的详细信息档案
<dictionaries>可选的用于将本地化添加到XML。仅从iTop 2.0.1开始受支持
<dictionary>最后一个声明给定语言的字典,请参阅本节中的详细信息辞典
<branding>可选的GUI的外观。
<main_logo>可选的主GUI的徽标(左上角)。定义为PNG文件(相对于模块根目录的路径= env-production)或fileref标签(请参阅本节中的详细信息档案)。尺寸:最大宽度260像素(div#header-logo-img页边距右),最大高度70像素。
<main_logo_compact>可选的登录名页面的徽标。定义为PNG文件(相对于模块根目录的路径= env-production)或fileref标签(请参阅本节中的详细信息档案)。尺寸:最大宽度300像素,最大高度54像素(div#登录名-logo)
<login_logo>可选的客户门户的徽标(左上角)。定义为PNG文件(相对于模块根目录的路径= env-production)或fileref标签(请参阅本节中的详细信息档案)。尺寸:最大宽度192像素(.col-sm-3宽度26%,媒体查询768像素),最大高度50像素(img标签)。
<portal_logo>强制性的主题自定义iTop外观的主节点。从iTop 2.7.0开始
<themes>最后一个为iTop定义一个具有唯一ID的主题。
<theme id="light-grey">可选的要重新定义的变量集(请参阅导入文件以了解可以重新定义哪些变量)
<variables>可选的重新定义变量及其新的价值
<variable id="combodo-orange">purple</variable>最后一个导入的变量集。
<imports>最后一个到导入的scss变量文件的路径。该路径相对于env-**
<import id="css-variables">../css/css-variables.scss</import>最后一个样式表集进行编译。声明顺序很重要。
<stylesheets>最后一个导入的scss样式表的路径。路径相对于env-**
<stylesheet id="jqueryui">../css/ui-lightness/jqueryui.scss</stylesheet>最后一个导入的scss样式表的路径。路径相对于env-**
<stylesheet id="main">../css/light-grey.scss</stylesheet>

最后一个


要导入的 scs 样式表路径。路径与 env-*/ 相对
<precompiled_stylesheet>itop-structure/precompiled-themes/light-grey/main.css</precompiled_stylesheet>可选的
预编译的 CSS 样式表的路径。路径是相对于数据模型/2.x/
<constants>可选的将按照PHP定义的常量进行编译。
<constant id="name" xsi:type="string|integer|bool|float">最后一个不变。将其放在CDATA中,以避免需要转义xml实体。布尔类型“ true”和“ false”。
<portals>可选的用户界面的入口点的定义。仅从iTop 2.2.0开始受支持。
<portal id="Unique identifier of this portal">最后一个A门户:即用户界面的入口点。
<rank>强制性的初始路由的优先顺序。较小的数字将首先尝试。
<url>强制性的门户条目页面的(相对)URL。
<handler>可选的从PortalDispatcher派生的类的名称,它将处理不同可能的门户之间的分派。未指定默认为PortalDispatcher。
<allow>可选的用户必须具有的简档(角色)列表才能被允许访问此门户
<profile id="Name of the profile for allowing access">零或更多 
<deny>可选的拒绝访问此门户的简档(角色)的列表。如果用户具有这些简档(角色)中的至少一个,则该门户将被禁止
<profile id="Name of the profile for denying access">零或更多 
<module_parameters>可选的定义模块特定参数。仅从iTop 2.2.0开始受支持。
<parameters id="module_unique_id">最后一个包含模块特定的参数,例如,存储为子标签的默认配置值。见本节模块参数.
<module_designs>可选的特定于模块的设计数据。仅从iTop 2.3.0开始受支持。
<module_design id="??">最后一个一组设计数据的容器节点。标识符必须是唯一的。它可以匹配模块的名称,但是任何字符串都可以,只要它不包含斜杠或反斜杠即可
<snippets>可选的将在PHP模型文件中注入PHP代码片段。仅从iTop 2.2.0开始受支持。
<snippet id="unique identifier for this snippet">最后一个PHP代码片段
<placement>强制性的PHP代码的位置:“模块”或“核心”。
<module>可选的如果placement == module,则为模块的标识符。
<rank>强制性的代码段的顺序(如果要在给定模块中注入几个代码段)。较低的数字将首先注入。在编译的模型之前注入负等级,在之后注入正等级。
<content>强制性的实际要注入的PHP代码。
<meta>可选的用于存储有关XML定义的元信息的根,被编译器忽略。本节中的更多详细信息元

唯一性规则

唯一性检查在 DBObject:emoticon_grin oCheckUniquey 中完成,通过验证在DBObject::获取统一重复查询中内置的查询的结果。

所有标量和非加密属性类型都可用于 /itop_design/类/类/属性/uniqueness_rules/规则/属性/属性节点。这包括例如 :

  • 属性字符串
  • 属性
  • 属性电子邮件地址
  • 属性电话编号
  • 属性外部键
  • 属性类型
  • 属性日期时间

错误消息是字典条目,遵循此约定:

  • 类:<Class_name>/唯一性规则:<rule_id>
  • 类:<Class_name>/唯一性规则:<rule_id>+了解更多信息

在此错误消息中,您可以使用占位符,$this->attribute_code$

条件应小心使用,因为它不在当前对象上检查,而只检查数据库中已有的对象

每当插入新对象或更新现有对象时,都会检查唯一性规则,但出于性能原因,不会使用锁 (iTopMutex)。因此,可能会有具有并发访问权限的用例,其中不会触发规则。

领域

字段(也称为属性)是对象的实际数据成员。字段通常对应于数据库的一个表中的一(或多个)列。下表列出了不同类型的字段:

使用项目左侧的三角形箭头展开以折叠其定义。

标签用法描述
<field id="name" xsi:type="AttributeBlob">零或更多Blob,即二进制字符串(限制为4Gb)。属性的名称用作前缀,以命名用于存储数据的列。
<is_null_allowed>true<is_null_allowed>可选的设置为“ true”以使用户离开此价值未定义(默认),否则为false
<tracking_level>none<< tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<always_load_in_tables>true<always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributeCaseLog">零或更多案例日志是一个讨论线程。每条消息均标有讲话者的姓名和当前时间
<sql>name</sql>强制性的用于将数据存储到MySQL数据库中的列(2)的前缀
<is_null_allowed>true</is_null_allowed>强制性的设置为“ true”以使用户离开此价值未定义,否则为false
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributeCustomFields">零或更多由定制模块处理的定制字段,是专门开发的。仅从iTop 2.3.0开始受支持。
<handler_class>MyHandler</handler_class>强制性的从CustomFieldsHandler派生的PHP类的名称
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<field id="name" xsi:type="AttributeDashboard">零或更多仪表板字段仅用于显示信息。仅从iTop 2.6.0开始受支持。
<is_user_editable>true</is_user_editable>可选的设置为“ true”以允许用户编辑仪表板。默认为'true'
<definition_file>name</definition_file>可选的仪表板定义文件。该路径是相对于在其中声明该类的模块的。
<definition>name</definition>可选的仪表板定义内容。如果已提供标签definition_file并且不为空,则将忽略此标签。
<field id="name" xsi:type="AttributeDate">零或更多日期(无时间)
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<default_value>name</default_value>强制性的默认的价值(可以指定为空字符串)
<is_null_allowed>true</is_null_allowed>强制性的设置为“ true”以使用户离开此价值未定义,否则为false
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributeDateTime">零或更多日期和时间
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<default_value>name</default_value>强制性的默认的价值(可以指定为空字符串)
<is_null_allowed>true</is_null_allowed>强制性的设置为“ true”以使用户离开此价值未定义,否则为false
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributeDecimal">零或更多十进制价值
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<default_value>name</default_value>强制性的默认的价值
<is_null_allowed>true</is_null_allowed>强制性的设置为“ true”以使用户离开此价值未定义,否则为false
<digits>6</digits>强制性的总位数
<decimals>2</decimals>强制性的小数位数
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributeDuration">零或更多以秒为单位存储的持续时间,以天小时小时分钟分钟秒为单位显示
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<default_value>name</default_value>强制性的默认的价值
<is_null_allowed>true</is_null_allowed>强制性的设置为“ true”以使用户离开此价值未定义,否则为false
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributeEmailAddress">零或更多发送邮件地址
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<default_value>name</default_value>强制性的默认的价值(可以指定为空字符串)
<is_null_allowed>true</is_null_allowed>强制性的设置为“ true”以使用户离开此价值未定义,否则为false
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<validation_pattern>[a-z]+@[a-z]+</validation_pattern>可选的强制基于常规表达式的格式。默认为全局设置'发送邮件_验证_pattern'
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributeEncryptedString">零或更多一个字符串(仅限于255个字符的一行)以加密方式存储在数据库中。有关更多信息,请参见加密的数据。
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<default_value>name</default_value>强制性的默认的价值(可以指定为空字符串)
<is_null_allowed>true</is_null_allowed>强制性的设置为“ true”以使用户离开此价值未定义,否则为false
<validation_pattern>^[a-z]*\d+$</validation_pattern>可选的强制基于常规表达式的格式
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributeEnum">零或更多可以将其价值从一组固定的可能值中取出的字符串
<values>强制性的可能值清单
<value id="name">name</value>最后一个价值。必须由字母数字字符组成。请勿使用“ 0”,因为它被视为未定义。其他授权字符:“ _”,“-”。 id仅用于标识XML节点
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<default_value>name</default_value>强制性的默认的价值(必须在可能值的列表中)
<is_null_allowed>true</is_null_allowed>强制性的设置为“ true”以使用户离开此价值未定义,否则为false
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<display_style>list</display_style>可选的编辑此字段时的显示样式:“列表”,“选择”(与列表相同),radio_horizo​​ntal,“ radio_vertical”或“ radio”(与radio_vertical相同)
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributeEnumSet">零或更多一个字符串,它是一组固定的可能值中的一组值
<values>强制性的可能值清单
<value id="name">name</value>最后一个价值。字母数字字符,破折号和下划线经专用。如果价值少于3个字符,则其前缀为'_'或'__'以达到3。该ID仅标识XML节点
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<is_null_allowed>true</is_null_allowed>强制性的设置为“ true”以使用户离开此价值未定义,否则为false
<tracking_level>all</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributeExternalField">零或更多属性的别名由另一个对象保存(请参阅“ ExternalKey”)
<extkey_attcode>name</extkey_attcode>强制性的指向远程类的外键。此属性必须在当前类中定义。
<target_attcode>name</target_attcode>强制性的远程类的属性。仅支持某些属性类型。不支持CaseLog,LinkedSet,LinkedSetIndirect等。
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributeExternalKey">零或更多外部密钥:指向给定类的对象的指针
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<is_null_allowed>true</is_null_allowed>强制性的设置为“ true”以使用户离开此价值未定义,否则为false
<on_target_delete>DEL_AUTO</on_target_delete>强制性的定义删除目标对象如何将影响度当前对象。允许值为'DEL_对象'和'DEL_AUTO'
<target_class>name</target_class>强制性的外键指向的对象的类
<filter>SELECT Location AS L WHERE L.org_id = :this->org_id</filter>可选的OQL查询,以定义一组对象,外部密钥可以指向该组。使用:this-> * name *来引用当前对象中的价值
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<max_combo_length>50</max_combo_length>可选的下拉列表中的最大元素数。如果更多,则将使用自动完成功能。默认为配置文件中提供的价值。
<min_autocomplete_chars>3</min_autocomplete_chars>可选的为了使触发器具有“自动完成”行为,键入的最小字符数。默认为配置文件中提供的价值。
<allow_target_creation>true</allow_target_creation>可选的在外部键上显示+按钮以创建目标对象。默认为配置文件中提供的价值。
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<display_style>list</display_style>可选的编辑此字段时的显示样式:“列表”,“选择”(与列表相同),radio_horizo​​ntal,“ radio_vertical”或“ radio”(与radio_vertical相同)
<field id="name" xsi:type="AttributeHierarchicalKey">零或更多指向同一类的外部键,以对对象的构建层次结构。该属性的实施使用https ::: en.wikipedia.orggwikiiNested_set_模型
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<is_null_allowed>true</is_null_allowed>强制性的设置为“ true”以使用户离开此价值未定义,否则为false
<on_target_delete>DEL_AUTO</on_target_delete>强制性的定义删除目标对象如何将影响度当前对象。允许的值为'DEL_对象','DEL_AUTO'和'DEL_MOVEUP'
<filter>SELECT Location AS L WHERE L.org_id = :this->org_id</filter>可选的OQL查询,以定义密钥可以指向的一组对象。使用:this-> * name *来引用当前对象中的价值
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<max_combo_length>50</max_combo_length>可选的下拉列表中的最大元素数。如果更多,则将使用自动完成功能。默认为配置文件中提供的价值。
<min_autocomplete_chars>3</min_autocomplete_chars>可选的为了使触发器具有“自动完成”行为,键入的最小字符数。默认为配置文件中提供的价值。
<allow_target_creation>true</allow_target_creation>可选的在外部键上显示+按钮以创建目标对象。默认为配置文件中提供的价值。
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<field id="name" xsi:type="AttributeHTML">零或更多HTML文本(限制为4 Gb)
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<default_value>name</default_value>强制性的默认的价值(可以指定为空字符串)
<is_null_allowed>true</is_null_allowed>强制性的设置为“ true”以使用户离开此价值未定义,否则为false
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<width>800px</width>可选的** 2.2.0中的新增内容**版本区域的宽度。可能的值:200px,70em。默认为''
<height>200px</height>可选的** 2.2.0中的新增功能**版本区域的高度。可能的值:100px,30em。默认为''
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributeImage">零或更多图像(限制为4Gb)。属性的名称用作前缀,以命名用于存储数据的列。
<display_max_width>128</display_max_width>可选的当显示宽度超过此限制(以像素为单位,默认为128)的图像时,图像将在浏览器中调整大小(保留宽高比)
<display_max_height>128</display_max_height>可选的当显示的图像高度宽度超过此限制(以像素为单位,默认为128)时,图像将在浏览器中调整大小(保留宽高比)
<storage_max_width>256</storage_max_width>可选的当上传宽度超过此限制(以像素为单位,默认为256)的图像时,图像将调整大小(保留宽高比)。必须安装PHP GD。
<storage_max_height>256</storage_max_height>可选的当上传高度超过此限制(以像素为单位,默认为256)的图像时,图像将调整大小(保留宽高比)。必须安装PHP GD。
<default_image>images/nobody.png</default_image>可选的没有上载图像时显示的图像的相对路径。
<is_null_allowed>true</is_null_allowed>可选的设置为“ true”以使用户离开此价值未定义(默认),否则为false
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributeInteger">零或更多整数价值
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<default_value>name</default_value>强制性的默认的价值
<is_null_allowed>true</is_null_allowed>强制性的设置为“ true”以使用户离开此价值未定义,否则为false
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributeIPAddress">零或更多IP地址
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<default_value>name</default_value>强制性的默认的价值(可以指定为空字符串)
<is_null_allowed>true</is_null_allowed>强制性的设置为“ true”以使用户离开此价值未定义,否则为false
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributeLinkedSet">零或更多指向当前对象的一组对象
<linked_class>name</linked_class>强制性的类的对象具有一个指向当前对象的外部键
<filter>SELECT Person AS P WHERE P.category = :this->category</filter>可选的iTop暂时不使用! OQL查询定义可以将当前对象链接到的对象。它是对应的ExternalKey上filterrr的对应项。
<ext_key_to_me>name</ext_key_to_me>强制性的在链接类上定义的外部密钥属性
<tracking_level>list</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,列表(跟踪添加和删除的项目),详细信息(跟踪修改的项目),全部。如果是全新安装,则默认为'none',否则为'list'-在从低于2.0.3的版本升级时,可以保持向后兼容性。可以在配置文件中用'tracking_level_linked_set_default'参数覆盖。
<edit_mode>actions</edit_mode>可选的定义用于编辑此链接集的GUI类型。可能的值:none,add_only,add_remove,操作活动,in_place。默认为'操作活动'
<count_min>0</count_min>可选的尚未使用
<count_max>0</count_max>可选的尚未使用
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributeLinkedSetIndirect">零或更多通过“链接类”的方式与当前对象相关的一组对象
<linked_class>name</linked_class>强制性的类的对象具有一个指向当前对象的外部键
<ext_key_to_me>name</ext_key_to_me>强制性的在链接类上定义的外部密钥属性
<ext_key_to_remote>name</ext_key_to_remote>强制性的在链接的类上定义的外部密钥属性,它指向远程对象
<tracking_level>list</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,列表(跟踪添加和删除的项目),详细信息(跟踪修改的项目),全部。默认为“全部”。可以在配置文件中用'tracking_level_linked_set_indirect_default'参数覆盖。
<duplicates>true</duplicates>可选的设置为“ true”以允许重复。默认为'false'
<count_min>0</count_min>可选的尚未使用
<count_max>0</count_max>可选的尚未使用
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributeMetaEnum">零或更多在可以在子类中定义的其他枚举字段之后计算的字符串。仅从iTop 2.3.0开始受支持
<values>强制性的可能值清单
<value id="name">name</value>最后一个价值。必须由字母数字字符组成。其他授权字符:“ _”,“-”。 id仅用于标识XML节点
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<default_value>name</default_value>强制性的默认的价值(必须在可能值的列表中)。
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<mappings>强制性的计算AttributeMetaEnum的价值的规则。每个子类最多定义一个。对象类上的依赖,将使用最佳匹配规则类。如果没有类别与对象类别匹配,则元价值默认为<default_价值>。
<mapping id="name">最后一个适用以下映射的规则类名称。
<attcode>name</attcode>强制性的源AttributeEnum,将从中读取原始价值。必须是规则类的有效属性
<metavalues>强制性的数据映射表。如果未找到原始价值,则元价值默认为<default_价值>
<metavalue id="name">最后一个Meta价值,将用于下面定义的所有原始值。
<values>强制性的原始值将映射到元价值。
<value id="name">最后一个指定为标签ID的原始价值。
<field id="name" xsi:type="AttributeObjectKey">零或更多灵活的外部密钥:指向任何类的对象的指针。主要的用例将实现通用的扩展,与任何类型的对象一起使用。因此,它旨在以编程方式使用,并且尚未为对象开发GUI来选择对象。仅从iTop 2.2.0开始提供实验和支持。
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<is_null_allowed>true</is_null_allowed>强制性的设置为“ true”以使用户离开此价值未定义,否则为false
<class_attcode>name</class_attcode>强制性的价值为当前记录给出了密钥指向的对象的类的属性。如果属性的表示形式是字符串(AttributeString,AttributeEnum,AttributeClass),则它可以是任何类型的属性
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributePercentage">零或更多百分比(0到100之间的整数),显示为条形
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<default_value>name</default_value>强制性的默认的价值
<is_null_allowed>true</is_null_allowed>强制性的设置为“ true”以使用户离开此价值未定义,否则为false
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributePhoneNumber">零或更多电话号码
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<default_value>name</default_value>强制性的默认的价值(可以指定为空字符串)
<is_null_allowed>true</is_null_allowed>强制性的设置为“ true”以使用户离开此价值未定义,否则为false
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<validation_pattern>[0-9.\-\ \+\(\)]+</validation_pattern>可选的强制基于常规表达式的格式。默认为全局设置'phone_number_验证_pattern'
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributeRedundancySettings">零或更多关系上的冗余的设置。仅从iTop 2.2.0开始受支持。
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<relation_code>impacts</relation_code>强制性的IdentifierrPart 1:关系的ID
<from_class>name</from_class>强制性的IdentifierrPart 2:源类
<neighbour_id>name</neighbour_id>强制性的IdentifierrPart 3:ID
<enabled>true</enabled>强制性的设置为“ true”以启用冗余
<enabled_mode>name</enabled_mode>强制性的设置为“用户”可以让终端用户决定是否启用冗余,或者“固定”以保留价值,如<enabled>所给
<min_up>1</min_up>强制性的必须上载的最小计数(百分比)上游项
<min_up_type>name</min_up_type>强制性的如何解释<min_up>:“计数”或“ percent”
<min_up_mode>user</min_up_mode>强制性的设置为“用户”以使终端用户变更具有该值,或者设置为“ fixed”以强制由<min_up>和<min_up_type>给出的值
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<field id="name" xsi:type="AttributeStopWatch">零或更多累积在某些州花费的时间
<states>强制性的秒表将在其中运行的州
<state id="name">零或更多状态(在类的生命周期中声明)
<goal>name</goal>可选的处理时间限制的类的名称。默认为'DefaultMetricComputer'
<working_time>name</working_time>可选的处理活动时间计算的类的名称。默认为'DefaultWorkingTimeComputer',表示24x7
<thresholds>强制性的中间里程碑,定义为总体时间目标的一部分。
<threshold id="*integer*">零或更多一个里程碑。 id是总持续时间限制的百分比(例如80)
<actions>强制性的通过里程碑时必须执行的操作。
<action>零或更多里程碑
<verb>DoThis</verb>强制性的职能(当前的PHP类)
<params>强制性的传递给职能的参数
<param xsi:type="string">ev_close</param>零或更多标量参数(整数,浮点数,布尔值,字符串,引用)
<highlight>可选的达到此阈值时设置的突出显示代码(如果有)
<code>critical</code>强制性的高光代码的名称(突出显示比例)
<persistent>true</persistent>强制性的“ true”或“ false”秒表不再活动时高亮代码是否仍然适用
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<field id="name" xsi:type="AttributeString">零或更多一个字符串,限制为255个字符的一行
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<default_value>name</default_value>强制性的默认的价值(可以指定为空字符串)
<is_null_allowed>true</is_null_allowed>强制性的设置为“ true”以使用户离开此价值未定义,否则为false
<validation_pattern>^[a-z]*\d+$</validation_pattern>可选的强制基于常规表达式的格式
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributeSubitem">零或更多秒表中存在的状态信息之一。两者必须在同一类中定义!
<target_attcode>name</target_attcode>强制性的秒表(属性代码)
<item_code>100_passed</item_code>强制性的该信息:耗时,已启动,最后启动,已停止,_时限,_已通过,_已触发,_超限
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributeTagSet">零或更多与对象关联的标签列表。仅从iTop 2.6.0开始受支持
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<is_null_allowed>true</is_null_allowed>强制性的设置为“ true”以使用户离开此价值未定义,否则为false
<max_items>12</max_items>可选的对象上允许的最大标签数。默认值12.最大价值255。
<tag_code_max_len>20</tag_code_max_len>可选的该字段的标签代码的最大长度。默认值20.最大价值255。
<tracking_level>all</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<field id="name" xsi:type="AttributeText">零或更多多行文字(限制为64 Kb)
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<default_value>name</default_value>强制性的默认的价值(可以指定为空字符串)
<is_null_allowed>true</is_null_allowed>强制性的设置为“ true”以使用户离开此价值未定义,否则为false
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<width>800px</width>可选的** 2.2.0中的新增内容**版本区域的宽度。可能的值:200px,70em。默认为''
<height>200px</height>可选的** 2.2.0中的新增功能**版本区域的高度。可能的值:100px,30em。默认为''
<format>text</format>可选的**新的文本格式(纯文本或HTML)为2.3.0 **。默认为“文本”。可能的值为“ text”,“ html”。
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributeLongText">零或更多大量文字(限制为4 Gb)
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<default_value>name</default_value>强制性的默认的价值(可以指定为空字符串)
<is_null_allowed>true</is_null_allowed>强制性的设置为“ true”以使用户离开此价值未定义,否则为false
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<width>800px</width>可选的** 2.2.0中的新增内容**版本区域的宽度。可能的值:200px,70em。默认为''
<height>200px</height>可选的** 2.2.0中的新增功能**版本区域的高度。可能的值:100px,30em。默认为''
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<field id="name" xsi:type="AttributeURL">零或更多网址(http ...)
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<default_value>name</default_value>强制性的默认的价值(可以指定为空字符串)
<is_null_allowed>true</is_null_allowed>强制性的设置为“ true”以使用户离开此价值未定义,否则为false
<target>_blank</target>强制性的目标属性,因为它将设置在A标签中(请参见HTML规范)
<validation_pattern>^[a-z]*\d+$</validation_pattern>可选的强制基于常规表达式的格式。默认为全局设置'url_验证_pattern'
<tracking_level>none</tracking_level>可选的调整更改记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”
<always_load_in_tables>true</always_load_in_tables>可选的高级:对于插件始终使用的属性,请将其设置为true。可能的值:true,false。默认为'false'
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码

属性外部密钥:编辑模式

编辑模式在编辑当前对象时定义应用行为
<empty>如果XML中未提供价值,则iTop使用其默认的操作活动,有关其行为,请参见下文
add_remove许添加现有对象==用当前对象的ID覆盖其ExternalKey。它提出了一个``删除''选项,除非必须使用外部密钥,否则将清空外部密钥。
in_place您可以在模式弹出窗口中创建新的对象。您也可以删除子对象,前提是没有其他关系可以阻止它
actions添加操作活动菜单,该菜单在当前窗口中允许大量编辑(修改或删除)相关对象以及创建新的相关对象
add_only仅允许在单独的窗口中创建一个新的相关对象,独立于当前的对象版本,该版本可以取消或完成而不影响创建。
none无法从当前对象编辑(1:n)关系,它处于只读模式

标签:始终在表中加载

仅在列表或详细信息中显示的字段:设置为否

用于计算其他属性或方法内部使用的字段:设置为是

由于iTop检索对象时依赖于延迟加载,因此它仅加载所需的属性以最小化数据库和内存影响度。但是,如果某个方法尝试访问未加载的属性,则它将从数据库检索完整的对象。显示列表时,如果某个方法尝试访问未加载的属性,则iTop将为每个对象创建一个DB属性,这可能会非常耗时。

通常,当显示工单的列表时,即使未显示状况和tto也始终会加载,因为它们用于计算高光比例(无,橙色,红色)。

介绍

细节

演示“详细信息”定义了用于输入对象并显示其“详细信息”的表单的结构。它可以是一个简单的列表(在这种情况下,字段显示在一列中),但也可以定义列和字段集以将相关字段分组在一起。某些类型的属性,例如Caselog,LinkedSet,LinkedSetIndirect会自动显示在单独的选项卡中或显示为全角表格。

标签用法描述
<item>强制性的 
<item>最后一个一个项目可以是:属性(id =属性代码),列(id = col:number)或字段集(id = fieldset:dictionary entry)
<rank>123]<rank>强制性的显示等级。项目从上到下,从左到右排序。这必须是整数价值。
<item>可选的如果上面定义的项目是一列或字段集,则必须将此标签定义为包含项目(递归,尽管此递归受到限制)。

控制领域

定义字段的简单排序列表,以控制应用的默认行为,以列出和搜索此类的对象:

default_search:如果未在下面重新定义该列表,则搜索此类或它的子类的对象时用作默认搜索准则。

清单:显示对象的列表时用作默认列

搜索:用作此类的最受欢迎的搜索准则

标签用法描述
<items>强制性的属性的有序列表
<itemid =“ name”>最后一个属性
<rank>123]<rank>强制性的属性在列表中的排名(整数)

刺激物

当对象收到刺激时,将从一个状态到另一状态(对于具有生命周期的对象)的每个转换触发。下表列出了不同类型的刺激:

标签用法描述
<stimulusid =“ name” xsi:type =“ StimulusUserAction”>最后一个由终端用户决定的性能或绩效。刺激显示在操作活动菜单中(如果对象处于将该刺激纳入账号的状态
<stimulusid =“ name” xsi:type =“ StimulusInternal”>最后一个可以通过编程方式触发的性能或绩效。

选单

下表列出了不同类型的菜单:

使用项目左侧的三角形箭头展开以折叠其定义。

标签用法描述
<menu id="name" xsi:type="MenuGroup">可选的顶层菜单。此菜单将始终保持可见。它是其他菜单的容器。
<rank>123.45</rank>强制性的显示等级。这是一个浮点数。菜单按升序排列:最小的排在最前面。
<enable_admin_only>1</enable_admin_only>可选的如果设置为“ 1”,那么只有管理员会看到此菜单项
<enable_class>name</enable_class>可选的菜单将绑定到的类。对于不具备下文所述的enable_性能或绩效指定的所有权利的用户,该菜单将被隐藏。
<enable_action>UR_ACTION_MODIFY</enable_action>可选的以下标志之一:UR_性能或绩效_READ,UR_性能或绩效_MODIFY,UR_性能或绩效_DELETE,UR_性能或绩效_BULK_READ,UR_性能或绩效_BULK_MODIFY,UR_性能或绩效_BULK_DELETE。如果未提供enable_class,则将其忽略。
<enable_permission>UR_ALLOWED_YES</enable_permission>可选的通过将此价值设置为UR_ALLOWED_NO来反转规则。默认为UR_ALLOWED_YES。如果未提供enable_class,则将其忽略。

<enable_stimulus>ev_assign</enable_stimulus>

可选的绑定到权利以应用给定的刺激。如果未提供enable_class,则将其忽略。
<style>可选的 
<decoration_classes>fas fa-home</decoration_classes>可选的用于显示菜单组图标的 CSS 类。您可以使用任何fontawesome.com/icons自己的 CSS 类。如果缺少,将使用菜单组标题的第一个字母。
<menu id="name" xsi:type="DashboardMenuNode">可选的仪表 板。内容可以通过"导出"函数的均值生成。仪表板的内容可以在文件(或definition_file)或直接在这里找到(定义)
<rank>123.45</rank>强制性的显示等级。这是一个浮点数。菜单按升序排列:最小的排在最前面。
<enable_admin_only>1</enable_admin_only>可选的如果设置为“ 1”,那么只有管理员会看到此菜单项
<parent>name</parent>强制性的父菜单节点,顶级节点或中间节点
<definition_file>name</definition_file>可选的仪表板定义文件。该路径是相对于在其中声明菜单的模块的。
<definition>name</definition>可选的仪表板定义内容。如果已提供标签definition_file并且不为空,则将忽略此标签。
<enable_class>name</enable_class>可选的菜单将绑定到的类。对于不具备下文所述的enable_性能或绩效指定的所有权利的用户,该菜单将被隐藏。
<enable_action>UR_ACTION_MODIFY</enable_action>可选的以下标志之一:UR_性能或绩效_READ,UR_性能或绩效_MODIFY,UR_性能或绩效_DELETE,UR_性能或绩效_BULK_READ,UR_性能或绩效_BULK_MODIFY,UR_性能或绩效_BULK_DELETE。如果未提供enable_class,则将其忽略。
<enable_permission>UR_ALLOWED_YES</enable_permission>可选的通过将此价值设置为UR_ALLOWED_NO来反转规则。默认为UR_ALLOWED_YES。如果未提供enable_class,则将其忽略。
<enable_stimulus>ev_assign</enable_stimulus>可选的绑定到权利以应用给定的刺激。如果未提供enable_class,则将其忽略。
<menu id="name" xsi:type="NewObjectMenuNode">可选的快捷方式创建一个新的对象。
<rank>123.45</rank>强制性的显示等级。这是一个浮点数。菜单按升序排列:最小的排在最前面。
<enable_admin_only>1</enable_admin_only>可选的如果设置为“ 1”,那么只有管理员会看到此菜单项
<parent>name</parent>强制性的父菜单节点,顶级节点或中间节点
<class>name</class>强制性的对象的类来创建
<enable_class>name</enable_class>可选的菜单将绑定到的类。对于不具备下文所述的enable_性能或绩效指定的所有权利的用户,该菜单将被隐藏。
<enable_action>UR_ACTION_MODIFY</enable_action>可选的以下标志之一:UR_性能或绩效_READ,UR_性能或绩效_MODIFY,UR_性能或绩效_DELETE,UR_性能或绩效_BULK_READ,UR_性能或绩效_BULK_MODIFY,UR_性能或绩效_BULK_DELETE。如果未提供enable_class,则将其忽略。
<enable_permission>UR_ALLOWED_YES</enable_permission>可选的通过将此价值设置为UR_ALLOWED_NO来反转规则。默认为UR_ALLOWED_YES。如果未提供enable_class,则将其忽略。
<enable_stimulus>ev_assign</enable_stimulus>可选的绑定到权利以应用给定的刺激。如果未提供enable_class,则将其忽略。
<menu id="name" xsi:type="SearchMenuNode">可选的快捷方式至搜索用于对象。
<rank>123.45</rank>强制性的显示等级。这是一个浮点数。菜单按升序排列:最小的排在最前面。
<enable_admin_only>1</enable_admin_only>可选的如果设置为“ 1”,那么只有管理员会看到此菜单项
<parent>name</parent>强制性的父菜单节点,顶级节点或中间节点
<class>name</class>强制性的适用于搜索的对象类。
<enable_class>name</enable_class>可选的菜单将绑定到的类。对于不具备下文所述的enable_性能或绩效指定的所有权利的用户,该菜单将被隐藏。
<enable_action>UR_ACTION_MODIFY</enable_action>可选的以下标志之一:UR_性能或绩效_READ,UR_性能或绩效_MODIFY,UR_性能或绩效_DELETE,UR_性能或绩效_BULK_READ,UR_性能或绩效_BULK_MODIFY,UR_性能或绩效_BULK_DELETE。如果未提供enable_class,则将其忽略。
<enable_permission>UR_ALLOWED_YES</enable_permission>可选的通过将此价值设置为UR_ALLOWED_NO来反转规则。默认为UR_ALLOWED_YES。如果未提供enable_class,则将其忽略。
<enable_stimulus>ev_assign</enable_stimulus>可选的绑定到权利以应用给定的刺激。如果未提供enable_class,则将其忽略。
<menu id="name" xsi:type="TemplateMenuNode">可选的不推荐使用。保持向后兼容性。
<rank>123.45</rank>强制性的显示等级。这是一个浮点数。菜单按升序排列:最小的排在最前面。
<enable_admin_only>1</enable_admin_only>可选的如果设置为“ 1”,那么只有管理员会看到此菜单项
<parent>name</parent>强制性的父菜单节点,顶级节点或中间节点
<template_file>name</template_file>可选的仪表板定义文件。该路径是相对于在其中声明菜单的模块的。
<enable_class>name</enable_class>可选的菜单将绑定到的类。对于不具备下文所述的enable_性能或绩效指定的所有权利的用户,该菜单将被隐藏。
<enable_action>UR_ACTION_MODIFY</enable_action>可选的以下标志之一:UR_性能或绩效_READ,UR_性能或绩效_MODIFY,UR_性能或绩效_DELETE,UR_性能或绩效_BULK_READ,UR_性能或绩效_BULK_MODIFY,UR_性能或绩效_BULK_DELETE。如果未提供enable_class,则将其忽略。
<enable_permission>UR_ALLOWED_YES</enable_permission>可选的通过将此价值设置为UR_ALLOWED_NO来反转规则。默认为UR_ALLOWED_YES。如果未提供enable_class,则将其忽略。
<enable_stimulus>ev_assign</enable_stimulus>可选的绑定到权利以应用给定的刺激。如果未提供enable_class,则将其忽略。
<menu id="name" xsi:type="OQLMenuNode">可选的给定OQL查询,快捷方式显示搜索结果。
<rank>123.45</rank>强制性的显示等级。这是一个浮点数。菜单按升序排列:最小的排在最前面。
<auto_reload>standard</auto_reload>可选的确定如何刷新显示:“ none”禁用此特性(默认值),“标准”或“ fast”根据相应的配置设置定期刷新,或“ 123”每123秒刷新一次。
<enable_admin_only>1</enable_admin_only>可选的如果设置为“ 1”,那么只有管理员会看到此菜单项
<parent>name</parent>强制性的父菜单节点,顶级节点或中间节点
<oql>SELECT UserRequest WHERE agent_id = :current_contact_id AND status NOT IN ("closed","resolved")</oql>强制性的对象查询。唯一可用的上下文参数是“ current_联系人_id”。
<do_search>1</do_search>可选的如果设置为1,则在页面顶部搜索结果上方显示搜索表单。
<search_form_open>1</search_form_open>可选的如果设置为1-并且do_搜索也设置为1,则搜索表单在页面顶部完全打开,否则搜索窗格折叠。自iTop 2.3.0起可用。默认搜索取决于iTop搜索(从2.3.0到2.4:折叠,因为2.5.0开始:打开)
<enable_class>name</enable_class>可选的菜单将绑定到的类。对于不具备下文所述的enable_性能或绩效指定的所有权利的用户,该菜单将被隐藏。
<enable_action>UR_ACTION_MODIFY</enable_action>可选的以下标志之一:UR_性能或绩效_READ,UR_性能或绩效_MODIFY,UR_性能或绩效_DELETE,UR_性能或绩效_BULK_READ,UR_性能或绩效_BULK_MODIFY,UR_性能或绩效_BULK_DELETE。如果未提供enable_class,则将其忽略。
<enable_permission>UR_ALLOWED_YES</enable_permission>可选的通过将此价值设置为UR_ALLOWED_NO来反转规则。默认为UR_ALLOWED_YES。如果未提供enable_class,则将其忽略。
<enable_stimulus>ev_assign</enable_stimulus>可选的绑定到权利以应用给定的刺激。如果未提供enable_class,则将其忽略。
<menu id="name" xsi:type="WebPageMenuNode">可选的指向iTop内部或外部页面的超链接。
<rank>123.45</rank>强制性的显示等级。这是一个浮点数。菜单按升序排列:最小的排在最前面。
<enable_admin_only>1</enable_admin_only>可选的如果设置为“ 1”,那么只有管理员会看到此菜单项
<parent>name</parent>强制性的父菜单节点,顶级节点或中间节点
<url>$$https://www.openitop.com/</url>可选的模块中页面的URL。以$$开头以指定绝对URL。在$之前加上前缀,以指定相对于iTop根URL的URL。无前缀:相对于模块目录
<in_new_window>false</in_new_window>可选的设置为“ true”以在新窗口中打开链接。如果省略标签,则默认为“ false”
<enable_class>name</enable_class>可选的菜单将绑定到的类。对于不具备下文所述的enable_性能或绩效指定的所有权利的用户,该菜单将被隐藏。
<enable_action>UR_ACTION_MODIFY</enable_action>可选的以下标志之一:UR_性能或绩效_READ,UR_性能或绩效_MODIFY,UR_性能或绩效_DELETE,UR_性能或绩效_BULK_READ,UR_性能或绩效_BULK_MODIFY,UR_性能或绩效_BULK_DELETE。如果未提供enable_class,则将其忽略。
<enable_permission>UR_ALLOWED_YES</enable_permission>可选的通过将此价值设置为UR_ALLOWED_NO来反转规则。默认为UR_ALLOWED_YES。如果未提供enable_class,则将其忽略。
<enable_stimulus>ev_assign</enable_stimulus>可选的绑定到权利以应用给定的刺激。如果未提供enable_class,则将其忽略。
<menu id="name" xsi:type="ShortcutContainerMenuNode">可选的快捷方式的容器。只能定义一个容器。效果是无法预料的,​​因为已定义了此类菜单!
<rank>123.45</rank>强制性的显示等级。这是一个浮点数。菜单按升序排列:最小的排在最前面。
<enable_admin_only>1</enable_admin_only>可选的如果设置为“ 1”,那么只有管理员会看到此菜单项
<parent>name</parent>强制性的父菜单节点,顶级节点或中间节点
<enable_class>name</enable_class>可选的菜单将绑定到的类。对于不具备下文所述的enable_性能或绩效指定的所有权利的用户,该菜单将被隐藏。
<enable_action>UR_ACTION_MODIFY</enable_action>可选的以下标志之一:UR_性能或绩效_READ,UR_性能或绩效_MODIFY,UR_性能或绩效_DELETE,UR_性能或绩效_BULK_READ,UR_性能或绩效_BULK_MODIFY,UR_性能或绩效_BULK_DELETE。如果未提供enable_class,则将其忽略。
<enable_permission>UR_ALLOWED_YES</enable_permission>可选的通过将此价值设置为UR_ALLOWED_NO来反转规则。默认为UR_ALLOWED_YES。如果未提供enable_class,则将其忽略。
<enable_stimulus>ev_assign</enable_stimulus>可选的绑定到权利以应用给定的刺激。如果未提供enable_class,则将其忽略。

WebMenu示例

使用相对网址:

<menus>
  <menu id="Ongoing approval" xsi:type="WebPageMenuNode">
    <rank>6</rank>
      <parent>RequestManagement</parent>
      <url>$pages/exec.php?exec_module=approval-base&amp;exec_page=report.php&amp;class=UserRequest&amp;do_filter_my_approvals=on</url>
  </menu>
</menus>

性能或绩效资助

Grant是定义与给定简档的特定性能或绩效关联的权利的基本元素。下表列出了可以“授予”的不同操作活动:

标签用法描述
<action id="action:read">allow</action>可选的读:设置为“允许”或“拒绝”
<action id="action:write">allow</action>可选的写:设置为“允许”或“拒绝”
<action id="action:delete">allow</action>可选的删除:设置为“允许”或“拒绝”
<action id="action:bulk read">allow</action>可选的导出数据:设置为“允许”或“拒绝”
<action id="action:bulk write">allow</action>可选的执行大量更改:设置为“允许”或“拒绝”
<action id="action:bulk delete">allow</action>可选的执行批量删除:设置为“允许”或“拒绝”
<action id="stimulus:name">allow</action>可选的应用给定的刺激:设置为“允许”或“拒绝”

档案

2.0.1的新功能

“文件”结构允许将二进制文件(例如,用于对象图标的图像文件)直接嵌入XML增量定义文件中。

使用项目左侧的三角形箭头展开以折叠其定义。

标签用法描述
<file id="??">零或更多每个二进制文件一个条目。
<name>server.png</name>强制性的文件名。
<mimeType>image/png</mimeType>强制性的文件的MIME类型。
<data>iVBORw0KGgoAAAANSUhEUgAAADAAA...</data>强制性的该文件的二进制内容,以base64编码。

辞典

2.0.1的新功能

“字典”结构允许将字典条目添加到XML增量中,以定义(或更改)数据模型的本地化。

使用项目左侧的三角形箭头展开以折叠其定义。

标签用法描述
<dictionaryid = language_code“>最后一个每种语言一个条目。 id是语言代码:“ EN US”,“ FR FR”等。
<entries>强制性的 
<entryid =“ string_code”> <![CDATA [Server Name]]> << entry>最后一个字典中的条目。 string_code是要翻译的字符串的标识符。例如Class:Server/Attribute:name

模块参数

2.2.0中的新功能

“模块参数”结构允许直接在XML中定义默认的参数配置。这些参数将由编译器转换为PHP结构,并由方法MetaModel :: GetModuleSetting读取为默认值。

可以作为参数存储的价值的可能类型为:字符串,布尔值(或布尔),整数(或int),浮点数,哈希或数组。

语法的参数如下:

使用项目左侧的三角形箭头展开以折叠其定义。

标签用法描述
<module_parameters>可选的字符串模块特定参数的位置
<parameters>强制性的 
<parameter_name type="string|int|bool|float|hash|array">最后一个由参数定义。标签的名称就是参数的名称

字符串,整数,布尔值和浮点类型是简单的标量类型。参数的价值是纯文本格式的标签的内容。哈希和数组类型是由子元素组成的复杂类型。每个子元素在XML中均表示为子标签。哈希和数组之间的主要区别在于ahash包含命名值(基于标签名称),而数组则包含未命名但有序值的列表。在哈希中,标签名称必须唯一。在数组中,所有项目必须具有相同的标签名称。

数组项可以根据其ID进行排序(按升序排列,视为浮点数)

例:

<parameters id="itop-object-copier" _delta="define">
  <rules>
    <rule id="0" type="hash">
      <source_scope>SELECT UserRequest WHERE status IN ("assigned", "pending")</source_scope>
      <allowed_profiles>Administrator,Support Agent</allowed_profiles>
      <menu_label>Issue a change ticket...</menu_label>
      <form_label>Issue a change from request %1$s. Please review the description before create the change ticket. After creation of the change ticket, the request ticket will be automatically updated. </form_label>
      <report_label>Issued from the request %1$s. The request has been updated.</report_label>
      <dest_class>Change</dest_class>
      <preset type="array">
        <action id="0"> clone(contacts_list,functionalcis_list,org_id,title,caller_id)</action>
        <action id="1">set(description,Original description:\n$this->description$)</action>
      </preset>
      <retrofit type="array">
        <action id="0">copy(id, parent_change_id)'</action>
        <action id="1">set(private_log,Issued change $this->ref$)'</action>
      </retrofit>
    </rule>
  </rules>
</parameters>

假设字符串是不带子子标签的标签的默认类型,而哈希是带子子标签的标签的默认类型。

其他模块

模块名称有关配置此模块的参数的详细信息
itop-ticket&itop-config-mgmt配置影响度分析
itop-attachments配置附件

模块设计

2.3.0的新功能

“模块设计”结构允许定义自定义模块的行为。该行为被编码为具有与其他itop_设计XML结构相同的形式约束的XML结构。该XML结构称为模块设计,该模块通过classModuleDesign对其进行访问。

用于模块设计的语法如下:

使用项目左侧的三角形箭头展开以折叠其定义。

标签用法描述
<module_designs>可选的 
[module_designid]?"\">最后一个一组设计数据的容器节点。标识符必须是唯一的。它可以匹配模块的名称,但是任何字符串都可以,只要它不包含斜杠或反斜杠即可

可以通过fileref节点的平均值来指定文件(请参见文件部分),或相对于模块根目录的路径(env-production)。

该能力是为定制化以及iTop随附的增强客户门户而引入的。见客户门户XML引用.

该标签的用法是受限制的Combodo推动ITSM Designer行为。
它用于以XML内容声明PHP程序中需要由ITSM设计器了解和操纵的东西。

变更记录

iTop版本对XML结构进行了轻度更改,以简化iTop的自定义。 iTop始终支持较旧的格式(向后兼容)。

XML格式的版本号在根节点上设置。<itop_设计版本=“…”> iTop将此版本号转换为最新格式,然后再将版本编译为PHP文件。

版本1.0

通过2012年夏季发布的iTop 2.0,数据模型变得可编辑

版本号未在XML文件中定义,因此,现在不存在版本的情况被解释为“ 1.0”。

尽管引入了一些新功能,但版本保持不变。这是发行版和新节点的列表:

iTop 2.0.1版

  • itop_design/files

  • itop_design/dictionaries

iTop 2.0.2版

  • itop_design/branding

  • itop_design/constants

  • itop_design/classes/class/properties/indexes

  • itop_design/classes/class/fields/field/always_load_in_tables

iTop 2.0.3版

  • itop_design/classes/class/fields/field[@xsi:type=“AttributeExternalKey”]/display_style

版本1.1

该版本随2014年11月发布的iTop 2.1.0一起发布。

粒度更细

id属性已添加到多个节点中,从而可以更精细地执行更改。

  • /classes/class/fields/field[@xsi:type=“AttributeEnum”]/values/value:为节点添加了一个ID。<价值id =“…”>
  • /classes/class/lifecycle/states/state/transitions/transition: 删除刺激子节点,改为使用节点上的id <转换id =“…”>
  • /classes/class/fields/field[@xsi:type=“AttributeStopWatch”]/thresholds/threshold:已删除子节点的百分比,以便在节点node上使用id <threshold id=“…”>
  • /user_rights/profiles/profile/groups/group/actions/action: 现在,“ id”直接表示“已授予”性能或绩效的类型和名称,属性“ xsi:type”已被删除。

简易版

编辑票证的生命周期是一件很麻烦的事情,因为状态标志的属性是完整的矩阵型(例如,要维护的6 x 15 = 90个定义)。尽管这仍然可行,但是现在有一种替代方法:定义一个从另一个继承的状态a,以便所有标志都将被继承,并且仅必须明确定义差异。

标记``必须提示''和``必须变更''从未从一种状态继承到另一种状态。

突出显示

票证或任何具有生命周期的物品可以在其状态或秒表状态(SLA计数器,如拥有时间)上以依赖突出显示。

查看节点:

  • classes/class/lifecycle/highlight_scale

  • classes/class/lifecycle/states/state/highlight

  • classes/class/fields/field[xsi:type=AttributeStopWatch]/thresholds/threshold/highlight

版本1.2

该版本随2015年9月发布的iTop 2.2.0一起发布。

添加了新的字段类型:itop_design/classes/classsfields/field [@xsi:type =“ AttributeObjectKey”]。

现在可以使用XML对关系进行建模(用于依赖重载GetRelationQueries方法):itop_design/classes/class/relations。关系上的冗余是通过新型属性的平均值定义的:itop_design/classes/class/fields/field [@xsi:type =“ AttributeRedundancySettings”]

现在以XML定义了对门户用户界面的访问。这还允许定义多个门户(针对终端用户的不同简档(角色)),并用模块提供的特定用户界面替换现有的门户。请参阅itop_design/portals。

使用新部分itop_design/modules_parameters为参数配置指定默认的价值。

可以使用新的标签itop_design/snippets将小型PHP代码段注入model.xxx.php文件中。

可以在AttributeText,AttributeLongText和AttributeHTML类型的Attributes上设置宽度和高度。

版本1.3

该版本随2016年5月发布的iTop 2.3.0 beta一起发布。

为_delta引入了新的价值:if_exists。

添加了模块设计,使模块可以受益于XML增量机制(与定义为参数或配置文件的行为相反):modules_designs/module_design[id=xxxxxxx]/…

添加了属性类型:

  • 属性:属性::聚合其他枚举的值(通常在派生类中找到)。示例:工单的状况。
  • 属性自定义场:启用负责存储gfetching自定义属性的模块的开发(是的,需要PHP开发技能)。
  • 属性图像:(实验性!)增强了现有的AttributeBlob。局限性:如果没有提供默认图像怎么办?如果用户上传不是图像的文件怎么办?在IE9/IE10上更改图像时,图像不会预览(那些浏览器不支持FileReader API)

OQL菜单节点的新选项:

  • 已添加选项搜索_表单_open以在页面顶部显示搜索表单。

AttributeText的新选项:

  • 添加了选项格式以支持迁入从纯文本到HTML的票证描述。

版本1.4

该版本随2017年7月发布的iTop 2.4 beta一起发布。

为_delta引入了新的价值:

添加了2个类属性:已启用存档和过时的条件

在转换上添加了标志

在上添加了多个更改poral/XML

版本1.5

该版本随2018年5月发布的iTop 2.5 beta一起发布。

  • 为所有菜单节点添加了4个菜单属性: enable_class, enable_action, enable_permission and enable_stimulus
  • 将search_form_open 的默认价值更改为1
  • 在演示文稿中添加了default_搜索部分(在类中),以便在搜索屏幕上显示默认搜索准则。
  • 标准类的默认标准

版本1.6

该版本随2018年10月发布的iTop 2.6 beta一起发布。

版本1.7

该版本随2019年10月发布的iTop 2.7 beta一起发布。

  • 为WebPageMenuNode添加了in_new_window属性
  • 在品牌中添加主题
  • 新字段类型:AttributeEnumSet这是一种TagSet,具有以XML而不是数据库定义的允许值

原贴链接:https://www.itophub.io/wiki/page?id=2_6_0%3Acustomization%3Axml_reference


XML Data Model Reference

This document is the reference documentation for the format of the XML used in the datamodel.xxxx.xml files inside iTop modules. An XML data model file can be used to define:

  • classes - that will generate the actual PHP classes when “compiled” using either the setup program or the toolkit

  • menus - to be inserted in the application's menu on the left of the iTop pages

  • profiles - to manage the access rights to the iTop objects

  • branding

The versions 2.1, 2.2, 2.3 and 2.4 of iTop introduce a number of minor changes to the XML structure in order to ease the customization of iTop. iTop always supports older format (backward compatibility). The complete list of modifications introduced by the new formats are described in chapter Changes history.

In order to clarify the reference data model, a few parts have been changed in iTop 2.1.0. For more information, please read the 2.0.3 to 2.1.0 Migration Notes

Principles

An XML data model contains both initial declarations and/or alterations of declarations made in other XML files.

The iTop compiler works in two steps:

  1. Load the XML data model files of the installed modules. The XML are combined into one single XML definition. It is important to figure out that, starting from an empty definition, iTop will merge each XML one by one,

  2. Interpret the final combined definition.

The XML format reference described hereafter applies to the combined definition. Thus an XML may not contain all the mandatory nodes, but only those required to identify the path of an alteration and those required to (re)define items.

By default, the contents of a given XML are merged into the combined definition.

Alter node contents

You can define alterations using the attribute _delta. This attribute specifies how a given node must be considered, including its subnodes.

_delta can take the following values:

_deltaMeaning
merge (default)Create this node if it does not exist already. Then examine the delta in its child nodes. This is mostly relevant for the structure nodes
must_existEnsure that this node already exists. Then examine the delta in its child nodes.
if_existsNew in 2.3.0 - Check if this node already exists. If so, examine the delta in its child nodes. Otherwise ignore this node. It is similar to must_exist, but it skips the current node instead of stopping the whole process.
defineThis is the first definition of this node. No flag should be found into its child nodes.
define_if_not_existsIf the node does not already exist then define it. Ignore it otherwise.
redefineThe contents of this node must be replaced by the contents of the delta node.
deleteDelete this node. This node should not have child nodes (no contents)
forceNew in 2.4.0 - Force the definition of this node, whether it exists or not

A node is identified by its tag name and the attribute id. If no id is given, then the node is identified as being the FIRST node being found having the same tag name.

When the compiler encounters define/redefine, it considers that the subtree is pure content definition. As a consequence, any attribute _delta or _rename_fromfound in that subtree will be ignored.

Rename a node

Another attribute is _rename_from. Use it to specify that the item (e.g. a class field) is in fact an existing item renamed from _rename_from to id.

XML general structure

Use the triangle arrow on the left of an item to expand/collapse its definition.

TagUsageDescription
<itop_designxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2">mandatoryStructural node. The version has been incremented to 1.4 due to minor changes in iTop 2.4.0
<classes>mandatoryDeclared classes
<class id="name">zero or moreDeclaration of class
<parent>cmdbAbstractObject</parent>mandatoryParent class
<properties>mandatory 
<is_link>1</is_link>optionalDifferentiate classes used for linking other classes together. Set to 1 for a linking class.
<comment>mandatoryPHP comments added into the compile file, before the declaration of the class
<category>bizmodel,searchable,structure</category>optionalUsages that will be made of this class.
<abstract>false</abstract>mandatoryAbstract classes can not be instantiated.
<key_type>autoincrement</key_type>mandatoryAlways set to "autoincrement"
<db_table>name</db_table>mandatoryName of the MySQL table used for this class. The name given here will be automatically predended with the suffix provided at installation if any.
<db_key_field>id</db_key_field>mandatoryAlways setting the identifier field to "id" is fine
<db_final_class_field>finalclass</db_final_class_field>mandatoryIf the class is on top of a hierarchy of classes, then you must define which MySQL column will be used for keeping track of the real class of object instances. Setting this to "finalclass" is fine.
<naming>optionalDefine the attributes used to compose the friendly name of an object. By default, the friendly name will be rendered as a concatenation of the given attributes, separated by a white space. You can specify any other format by adding a dictionary entry 'Class:<myClass>/Name'. This format is given as a printf-like formatting expression (Only $s is supported. e.g. '%1$s of %2$s'). As such a format is located in the dictionary, it may be translated, and the friendly name would depend on the language of the end-user. Note that in iTop 2.0.3, a tag <format> was present in the XML files provided with iTop but it was not used, and that was misleading.
<attributes>mandatoryList of attributes used to compose the friendly name. Note that the order matters.
<attribute id="name">at least one 
<order>optionalDefines the default sort order for the class, if omitted the class is sorted on the friendly name
<columns>mandatory 
<column id="name" ascending="true|false">at least oneEither sort ascending or descending on this attribute. The order of the attributes is important.
<display_template>optional 
<icon>optionalSpecify an icon for your class
<reconciliation>mandatoryDefine the default reconciliation scheme for data import.
<attributes>mandatoryList of attributes used for the reconciliation.
<attribute id="name">at least one 
<indexes>optionalDefine table indexes
<index id="name">zero or moreTo explicitly force a database index to be created with all specified attributes in the declared order.
<attributes>mandatoryList of attributes used for the index. The order matters.
<attribute id="name">at least one 
<archive>optionalArchival configuration.
<enabled>true</enabled>mandatoryApplicable on root classes only. Set to true to make this class and all its descendant archivable (adds two magic attributes: archive_flag and archive_date). Attempting to set false when any of the parent has enabled=true will lead to an error at runtime
<obsolescence>optionalObsolescence configuration. As soon as the obsolescence is defined for a class, two magic attributes are added (obsolescence_flag and obsolescence_date), all classes in the hierarchy have the flag (defaulting to "No")
<condition><![CDATA[status='closed' AND closed_date < DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 3 MONTH),'%Y-%m-%d 00:00:00')]]></condition>mandatoryOQL expression that defines wether an object is obsolete or not. This condition will be inherited by child classes, unless it is redefined.
<uniqueness_rules>optionalRules that will be used when saving an object to check for its uniqueness
<rule id="name">at least one 
<attributes>mandatoryList of attributes values that should be unique.
<attribute id="name">at least one 
<filter><![CDATA[status = 'active']]></filter>optionalOQL condition to restrict the amount of checked objects
<disabled>optionalCan be used to temporarly disable the rule. When overriding this attribute on an existing rule, only this can be defined.
<is_blocking>optionalIf the rule fails to verify, then if this value is true the object won't be saved, otherwise it will. Default to true.
<fields>mandatoryDeclaration of attributes (cumulated with attributes inherited from a parent class, if any)
<field>at least oneDeclaration of an attribute. See the various types of attributes in section Fields
<lifecycle>optionalLifecycle: states and transitions
<highlight_scale>optionalA list of highlight codes defining the display of the object (background color in lists and icon)
<item id="warning">at least oneDefinition of a new higlight code
<rank>1</rank>mandatoryThe rank (or weight) of this highlight code
<color>HIGHLIGHT_WARNING</color>mandatoryThe color scheme for this code: HIGHLIGHT_NONE (tranparent), HIGHLIGHT_WARNING (orange), HIGHLIGHT_CRITICAL (red) or HIGHLIGHT_OK (green)
<icon>mandatoryThe icon for the object in this state
<attribute>name</attribute>mandatoryAttribute used for the state (must be declared as AttributeEnum, can be inherited from a parent class)
<stimuli>mandatoryList of events to which the object will be sensitive
<stimulus>at least oneDeclaration of a stimulus. See the various types of stimuli in section Stimuli
<states>mandatoryPossible states. The list of states must be a subset of the values defined for the "state" attribute.
<state id="name">at least oneThe complete definition of a state: name, attribute flags and transitions to other states
<initial_state_path>optionalAn ordered list of states through which the object will go when it is created
<state_ref>new</state_ref>mandatoryA state
<inherit_flags_from>*another_state*</inherit_flags_from>optionalThe name of a state to inherit the flags from. Note: must_change and must_prompt flags are never inherited
<highlight>optionalHighlight definition for this state
<code>name</code>mandatoryThe highlight code
<flags>mandatoryDefine here how the attributes will be shown in the GUI, for the given state
<attribute id="name">at least oneCombination of flags interpreted by the GUI
<hidden>optionalThe attribute is hidden in this state
<read_only>optionalThe attribute is shown and cannot be modified
<must_prompt>optionalThe GUI must prompt the user when the object is entering the state
<must_change>optionalThe attribute must be changed by the user when the object is entering the state
<mandatory>optionalThe attribute must be defined when entering this state. This overrides the definition of the attribute (tag "is_null_allowed")
<transitions>mandatoryList of possible transitions from this state to another
<transition id="name">at least oneFor a given stimulus, defines the target state and the actions to perform. If the identifier is omitted the name of the stimulus will be used.
<stimulus>name</stimulus>mandatoryEvent triggering this transition
<target>name</target>mandatoryState reached after the transition
<flags>mandatoryDefine here how the attributes will be shown in the GUI, for that transition
<attribute id="name">at least oneCombination of flags interpreted by the GUI
<mandatory>optionalThe attribute must be defined to complete the transition. This overrides the definition of the attribute (tag "is_null_allowed")
<must_change>optionalThe attribute must be changed by the user to complete the transition
<must_prompt>optionalThe attribute is displayed in edit mode during the transition
<read_only>optionalThe attribute is shown, but cannot be modified
<actions>mandatoryOrdered list of actions to perform during the transition
<action>at least oneA single action
<verb>name</verb>mandatoryName of the method that will be called (see the tag "methods" hereafter)
<params>mandatoryList of the method parameters
<parameter xsi:type="string|int|float|reference">zero or moreThe value of the parameter
<methods>mandatoryAdditional function declarations. The function will be declared within the class. This is the mean to overload some functions of DBObject or cmdbAbstractObject. Use with care.
<method id="name">zero or moreA function
<comment>optionalPHP comment. Will be predended to the declaration of the class into the generated (compiled) PHP code.
<static>false</static>mandatorySet to true if you need to declare a static function, false otherwise.
<access>public</access>mandatorySet to public, protected or private (See the documentation of PHP)
<type>Overload-DBObject</type>mandatoryUse one of the following values: LifecycleAction, Overload-cmdbAbstractObject, Overload-iDisplay, Overload-DBObject, Overload-ExNihilo, Custom
<arguments>optionalDeclare the type of the arguments for lifecycle actions
<argument>current_stimulus_code</argument>zero or moreThe type of an argument. Use one of the following values: attcode, class, current_stimulus_code, int, reference, string
<code>mandatoryPHP code. Must include the function prototype. It is higly recommended to put it within a CDATA to avoid the need for escaping xml entities within your code.
<relations>optionalRelations between the object of the current class and objects of other classes. Supported only since iTop 2.2.0.
<relation id="impacts">zero or moreA given relation. Today "impacts" is the only value supported by iTop, but a module could use other values
<neighbours>mandatoryNeighbour classes
<neighbour id="name">zero or moreName is usually the neighbour class name. Either an attribute must be specified, or a pair of queries (downward and upward)
<query_down>SELECT SoftwareInstance AS s WHERE s.system_id = :this->id</query_down>optionalThe OQL query that defines the related objects, following the relation flow (downstream)
<query_up>SELECT SoftwareInstance AS s WHERE s.system_id = :this->id</query_up>optionalThe OQL query that defines the related objects, going backward in the relation flow (upstream)
<attribute>something_list</attribute>optionalAn alternative to the OQL query is to specify an attribute (an external key or a link set)
<direction>both</direction>optionalSet to "down" to restrict the browsing. Defaults to "both"
<presentation>mandatory 
<details>mandatoryDefines the presentation for both the vizualisation and the edition form of an object. Can be overriden by the lifecycle flag "hidden"
<items>at least oneRefer to Presentation (details)
<search>mandatoryOrdered list of attributes shown in the 'Most popular' section of the 'Add new criteria' menu of search screens
<items>at least oneRefer to Presentation (search, default-search or list)
<default_search>optionalOrdered list of default search criteria shown in search screens. This parameter is inherited from parent class if left empty or not existing.
<items>at least oneRefer to Presentation (search, default-search or list)
<list>mandatoryOrdered list of attributes shown by default in result lists
<items>at least oneRefer to Presentation (search, default-search or list)
<menus>mandatoryDeclaration of the menus shown in the main GUI (left pane)
<menu>at least oneDeclaration of a menu. See the various types of menus in section Menus
<user_rights>mandatoryImplementation of the user rights policy: users will have one or more profiles, granting them access rights.
<groups>mandatoryGroups are sets of classes. Grants are given based on this grouping - see "profiles"
<group id="name">at least oneA set of classes.
<classes>mandatoryList of classes found in the group
<class id="name">zero or more 
<profiles>mandatoryProfiles that will be listed in the application. A user can have one or more profiles. The profile "administrator" is always present and cannot be redefined.
<profile id="123">at least oneA usage profile.
<name>Configuration Manager</name>mandatoryName of the profile as it will be shown in the application. No translation is possible.
<description>Person in charge of the documentation of the managed CIs</description>mandatoryDescription of the profile (one line) as it will be shown in the application. No translation is possible.
<groups>mandatoryGrants associated to the profile
<group>at least oneGroup for which grants must be defined
<actions>mandatoryAllowed actions for the profile/group
<action>at least oneSee the various types of grant in section Action grants
<files>optionalFor embedding binary files (like icons) in the XML. Supported only since iTop 2.0.1
<file>at least oneDeclaration of file, see details in the section Files
<dictionaries>optionalFor adding localizations into the XML. Supported only since iTop 2.0.1
<dictionary>at least oneDeclaration of dictionary for a given language, see details in the section Dictionaries
<branding>optionalAppearance of the GUI.
<main_logo>optionalLogo for the main GUI (top left corner). Defined as a PNG file (path relative to the modules root directory = env-production), or fileref tag
<login_logo>optionalLogo for the login page. Defined as a PNG file (path relative to the modules root directory = env-production), or fileref tag
<portal_logo>optionalLogo for the customer portal (top left corner). Defined as a PNG file (path relative to the modules root directory = env-production), or fileref tag
<constants>optionalConstants to be compiled as PHP defines.
<constant id="name" xsi:type="string|integer|bool|float">at least oneConstant. Put it within a CDATA to avoid the need for escaping xml entities. Boolean type 'true' and 'false'.
<portals>optionalDefinition of entry points for the user interface. Supported only since iTop 2.2.0.
<portal id="Unique identifier of this portal">at least oneA portal: i.e. an entry point for the user interface.
<rank>mandatoryThe order of precedence for the initial routing. Lower numbers are tried first.
<url>mandatoryThe (relative) URL to the portal entry page.
<handler>optionalThe name of a class derived from PortalDispatcher that will handle the dispatching between the different possible portals. Defaults to PortalDispatcher is not specified.
<allow>optionalA list of profiles that the user must have in order to be allowed to access this portal
<profile id="Name of the profile for allowing access">zero or more 
<deny>optionalA list of profiles that deny access this portal. If the user has at least one of these profiles she/he will be banned from this portal
<profile id="Name of the profile for denying access">zero or more 
<module_parameters>optionalDefinition of module specific parameters. Supported only since iTop 2.2.0.
<parameters id="module_unique_id">at least oneContains the module specific parameters, for example default configuration values, stored as subtags. See the section Modules parameters.
<module_designs>optionalModule specific design data. Supported only since iTop 2.3.0.
<module_design id="??">at least oneContainer node for a set of design data. The identifier must be unique. It can match the name of the module, but any string is allowed provided that it does not contain slashes or backslashes
<snippets>optionalSnippets of PHP code to be injected in the PHP model files. Supported only since iTop 2.2.0.
<snippet id="unique identifier for this snippet">at least oneA snippet of PHP code
<placement>mandatoryThe placement of the PHP code: either 'module' or 'core'.
<module>optionalif placement == module, the identifier of the module.
<rank>mandatoryThe order of the snippet (if there are several snippets to be injected in a given module). The lower numbers are injected first. Negative ranks are injected before the compiled model, positive ranks are injected after.
<content>mandatoryThe actual PHP code to inject.
<meta>optionalRoot for storing meta information about the XML definition, ignored by the compiler. More details in section Meta

Uniqueness rules

Uniqueness check is done in \DBObject::DoCheckUniqueness, by verifying the result of a query built in \DBObject::GetUniquenessDuplicatesQuery.

All scalar and non encrypted attribute types can be used in the /itop_design/classes/class/properties/uniqueness_rules/rule/attributes/attribute nodes. That includes for example :

  • AttributeString

  • AttributeEnum

  • AttributeEmailAddress

  • AttributePhoneNumber

  • AttributeExternalKey

  • AttributeInteger

  • AttributeDateTime

Error message is a dictionary entry, following this convention:

  • Class:<Class_name>/UniquenessRule:<rule_id>

  • Class:<Class_name>/UniquenessRule:<rule_id>+ for more information

Within this error message you can use placeholders like $this→attribute_code$

Condition is to be use with care as it is not checked on the current object but only on objects already existing in database

Fields

The fields (also called attributes) are the actual data members of the objects. A field generally corresponds to one (or more) columns(s) in one table in the database. The different types of fields are listed in the table below:

Use the triangle arrow on the left of an item to expand/collapse its definition.

TagUsageDescription
<field id="name" xsi:type="AttributeBlob">zero or moreA blob, i.e. a binary string (limited to 4Gb). The name of the attribute is used as the prefix to name the columns used for storing the data.
<is_null_allowed>true</is_null_allowed>optionalSet to "true" to let users leave this value undefined (default), false otherwise
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<field id="name" xsi:type="AttributeCaseLog">zero or moreA case log is a discussion thread. Each message is labelled with the name of the talker and the current time
<sql>name</sql>mandatoryPrefix of the columns (2) used to store the data into the MySQL database
<is_null_allowed>true</is_null_allowed>mandatorySet to "true" to let users leave this value undefined, false otherwise
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<field id="name" xsi:type="AttributeCustomFields">zero or moreCustom fields handled by a custom module, developped on purpose. Supported only since iTop 2.3.0.
<handler_class>MyHandler</handler_class>mandatoryName of a PHP class derived from CustomFieldsHandler
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<field id="name" xsi:type="AttributeDashboard">zero or moreDashboard field used to display information only. Supported only since iTop 2.6.0.
<is_user_editable>true</is_user_editable>optionalSet to "true" to let users edit the dashboard. Defaults to 'true'
<definition_file>name</definition_file>optionalDashboard definition file. The path is relative to the module in which the class is declared.
<definition>name</definition>optionalDashboard definition contents. This tag will be ignored if the tag definition_file has been given and is not empty.
<field id="name" xsi:type="AttributeDate">zero or moreA date (no time)
<sql>name</sql>mandatoryThe column used to store the value into the MySQL database
<default_value>name</default_value>mandatoryThe default value (can be specified as an empty string)
<is_null_allowed>true</is_null_allowed>mandatorySet to "true" to let users leave this value undefined, false otherwise
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<field id="name" xsi:type="AttributeDateTime">zero or moreA date and time
<sql>name</sql>mandatoryThe column used to store the value into the MySQL database
<default_value>name</default_value>mandatoryThe default value (can be specified as an empty string)
<is_null_allowed>true</is_null_allowed>mandatorySet to "true" to let users leave this value undefined, false otherwise
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<field id="name" xsi:type="AttributeDecimal">zero or moreA decimal value
<sql>name</sql>mandatoryThe column used to store the value into the MySQL database
<default_value>name</default_value>mandatoryThe default value
<is_null_allowed>true</is_null_allowed>mandatorySet to "true" to let users leave this value undefined, false otherwise
<digits>6</digits>mandatoryTotal number of digits
<decimals>2</decimals>mandatoryNumber of decimal digits
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<field id="name" xsi:type="AttributeDuration">zero or moreA duration, stored in seconds, displayed in days/hours/minutes/seconds
<sql>name</sql>mandatoryThe column used to store the value into the MySQL database
<default_value>name</default_value>mandatoryThe default value
<is_null_allowed>true</is_null_allowed>mandatorySet to "true" to let users leave this value undefined, false otherwise
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<field id="name" xsi:type="AttributeEmailAddress">zero or moreAn email address
<sql>name</sql>mandatoryThe column used to store the value into the MySQL database
<default_value>name</default_value>mandatoryThe default value (can be specified as an empty string)
<is_null_allowed>true</is_null_allowed>mandatorySet to "true" to let users leave this value undefined, false otherwise
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<validation_pattern>[a-z]+@[a-z]+</validation_pattern>optionalEnforce a format based on a regular expression. Defaults to the global setting 'email_validation_pattern'
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<field id="name" xsi:type="AttributeEncryptedString">zero or moreA string, limited to one line of 255 characters, stored encrypted in the database. See Encrypted Data for more informations
<sql>name</sql>mandatoryThe column used to store the value into the MySQL database
<default_value>name</default_value>mandatoryThe default value (can be specified as an empty string)
<is_null_allowed>true</is_null_allowed>mandatorySet to "true" to let users leave this value undefined, false otherwise
<validation_pattern>^[a-z]*\d+$</validation_pattern>optionalEnforce a format based on a regular expression
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<field id="name" xsi:type="AttributeEnum">zero or moreA string that can take its value out of a fixed set of possible values
<values>mandatoryList of possible values
<value id="name">name</value>at least oneValue. Must be made of alphanumeric characters. Other authorized characters: '_', '-'. The id is used solely for identifying the XML node
<sql>name</sql>mandatoryThe column used to store the value into the MySQL database
<default_value>name</default_value>mandatoryThe default value (must be in the list of possible values)
<is_null_allowed>true</is_null_allowed>mandatorySet to "true" to let users leave this value undefined, false otherwise
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<display_style>list</display_style>optionalStyle of display when editing this field: 'list', 'select' (same as list), radio_horizontal', 'radio_vertical' or 'radio' (same as radio_vertical)
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<field id="name" xsi:type="AttributeExternalField">zero or moreAn alias to an attribute hold by another object (see "ExternalKey")
<extkey_attcode>name</extkey_attcode>mandatoryExternal key pointing to the remote class. This attribute must be defined in the current class.
<target_attcode>name</target_attcode>mandatoryThe attribute of the remote class. Only some attribute types are supported. CaseLog, LinkedSet, LinkedSetIndirect amougst others aren't supported.
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<field id="name" xsi:type="AttributeExternalKey">zero or moreAn external key: a pointer to an object of the given class
<sql>name</sql>mandatoryThe column used to store the value into the MySQL database
<is_null_allowed>true</is_null_allowed>mandatorySet to "true" to let users leave this value undefined, false otherwise
<on_target_delete>DEL_AUTO</on_target_delete>mandatoryDefine how the deletion of the target object will impact the current object. Allowed values are 'DEL_MANUAL' and 'DEL_AUTO'
<target_class>name</target_class>mandatoryThe class of the objects to which the external key is pointing
<filter>SELECT Location AS L WHERE L.org_id = :this->org_id</filter>optionalOQL query to define a set of object to which the external key can point to. Use :this->*name* to refer to a value in the current object
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<max_combo_length>50</max_combo_length>optionalThe maximum number of elements in a drop-down list. If more then an autocomplete will be used. Defaults to the value given in the configuration file.
<min_autocomplete_chars>3</min_autocomplete_chars>optionalThe minimum number of characters to type in order to trigger the "autocomplete" behavior. Defaults to the value given in the configuration file.
<allow_target_creation>true</allow_target_creation>optionalDisplays the + button on external keys to create target objects. Defaults to the value given in the configuration file.
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<display_style>list</display_style>optionalStyle of display when editing this field: 'list', 'select' (same as list), radio_horizontal', 'radio_vertical' or 'radio' (same as radio_vertical)
<field id="name" xsi:type="AttributeHierarchicalKey">zero or moreAn external key pointing to the same class, in order to build hierarchies of objects
<sql>name</sql>mandatoryThe column used to store the value into the MySQL database
<is_null_allowed>true</is_null_allowed>mandatorySet to "true" to let users leave this value undefined, false otherwise
<on_target_delete>DEL_AUTO</on_target_delete>mandatoryDefine how the deletion of the target object will impact the current object. Allowed values are 'DEL_MANUAL' and 'DEL_AUTO'
<filter>SELECT Location AS L WHERE L.org_id = :this->org_id</filter>optionalOQL query to define a set of object to which the key can point to. Use :this->*name* to refer to a value in the current object
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<max_combo_length>50</max_combo_length>optionalThe maximum number of elements in a drop-down list. If more then an autocomplete will be used. Defaults to the value given in the configuration file.
<min_autocomplete_chars>3</min_autocomplete_chars>optionalThe minimum number of characters to type in order to trigger the "autocomplete" behavior. Defaults to the value given in the configuration file.
<allow_target_creation>true</allow_target_creation>optionalDisplays the + button on external keys to create target objects. Defaults to the value given in the configuration file.
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<field id="name" xsi:type="AttributeHTML">zero or moreAn HTML text (limited to 4 Gb)
<sql>name</sql>mandatoryThe column used to store the value into the MySQL database
<default_value>name</default_value>mandatoryThe default value (can be specified as an empty string)
<is_null_allowed>true</is_null_allowed>mandatorySet to "true" to let users leave this value undefined, false otherwise
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<width>800px</width>optional**New in 2.2.0** Width of the edition area. Possible values: 200px, 70em. Defaults to ''
<height>200px</height>optional**New in 2.2.0** Height of the edition area. Possible values: 100px, 30em. Defaults to ''
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<field id="name" xsi:type="AttributeImage">zero or moreExperimental! An image (limited to 4Gb). Supported only since iTop 2.3.0. The name of the attribute is used as the prefix to name the columns used for storing the data.
<display_max_width>128</display_max_width>optionalWhen displaying an image which width exceeds this limit (given in pixels, defaulting to 128), the image gets resized in the browser (preserves the aspect ratio)
<display_max_height>128</display_max_height>optionalWhen displaying an image height width exceeds this limit (given in pixels, defaulting to 128), the image gets resized in the browser (preserves the aspect ratio)
<storage_max_width>256</storage_max_width>optionalWhen uploading an image which width exceeds this limit (given in pixels, defaulting to 256), the image gets resized (preserving the aspect ratio). PHP GD must be installed.
<storage_max_height>256</storage_max_height>optionalWhen uploading an image which height exceeds this limit (given in pixels, defaulting to 256), the image gets resized (preserving the aspect ratio). PHP GD must be installed.
<default_image>images/nobody.png</default_image>optionalRelative path to an image displayed when no image has been uploaded.
<is_null_allowed>true</is_null_allowed>optionalSet to "true" to let users leave this value undefined (default), false otherwise
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<field id="name" xsi:type="AttributeInteger">zero or moreAn integer value
<sql>name</sql>mandatoryThe column used to store the value into the MySQL database
<default_value>name</default_value>mandatoryThe default value
<is_null_allowed>true</is_null_allowed>mandatorySet to "true" to let users leave this value undefined, false otherwise
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<field id="name" xsi:type="AttributeIPAddress">zero or moreAn IP address
<sql>name</sql>mandatoryThe column used to store the value into the MySQL database
<default_value>name</default_value>mandatoryThe default value (can be specified as an empty string)
<is_null_allowed>true</is_null_allowed>mandatorySet to "true" to let users leave this value undefined, false otherwise
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<field id="name" xsi:type="AttributeLinkedSet">zero or moreA set of objects pointing to the current object
<linked_class>name</linked_class>mandatoryA class of objects having an external key pointing to the current object
<filter>SELECT Person AS P WHERE P.category = :this->category</filter>optionalNot used by iTop for now! OQL query to define objects to which the current object can be linked. It's the counterpart of the //filter// on the corresponding ExternalKey.
<ext_key_to_me>name</ext_key_to_me>mandatoryAn external key attribute, defined on the linked class
<tracking_level>list</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, list (track added and removed items), details (track modified items), all. Defaults to 'list'
<edit_mode>actions</edit_mode>optionalDefine the type of GUI for editing this link set. Possible values: none, add_only, add_remove, actions, in_place. Defaults to 'actions'
<count_min>0</count_min>optionalunused yet
<count_max>0</count_max>optionalunused yet
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<field id="name" xsi:type="AttributeLinkedSetIndirect">zero or moreA set of objects related to the current object by the mean of a "link class"
<linked_class>name</linked_class>mandatoryA class of objects having an external key pointing to the current object
<ext_key_to_me>name</ext_key_to_me>mandatoryAn external key attribute, defined on the linked class
<ext_key_to_remote>name</ext_key_to_remote>mandatoryAn external key attribute, defined on the linked class, and pointing to the remote object
<tracking_level>list</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, list (track added and removed items), details (track modified items), all. Defaults to 'all'
<duplicates>true</duplicates>optionalSet to 'true' to allow duplicates. Defaults to 'false'
<count_min>0</count_min>optionalunused yet
<count_max>0</count_max>optionalunused yet
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<field id="name" xsi:type="AttributeMetaEnum">zero or moreA string computed after other enumeration fields that can be defined in subclasses. Supported only since iTop 2.3.0
<values>mandatoryList of possible values
<value id="name">name</value>at least oneValue. Must be made of alphanumeric characters. Other authorized characters: '_', '-'. The id is used solely for identifying the XML node
<sql>name</sql>mandatoryThe column used to store the value into the MySQL database
<default_value>name</default_value>mandatoryThe default value (must be in the list of possible values).
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<mappings>mandatoryRules to compute the value of the AttributeMetaEnum. Define maximum one per sub-class. Depending on the object class, the best matching rule class will be used. The meta value defaults to <default_value> if no class matches the object class.
<mapping id="name">at least oneRule class name for which the following mapping applies.
<attcode>name</attcode>mandatoryThe source AttributeEnum, from which the raw value will be read. Must be a valid attribute of the rule class
<metavalues>mandatoryData mapping table. If the raw value is not found, then the meta value defaults to <default_value>
<metavalue id="name">at least oneMeta value, which will be used for all raw values defined below.
<values>mandatoryRaw values that will map to the meta value.
<value id="name">at least oneA raw value specified as the tag id.
<field id="name" xsi:type="AttributeObjectKey">zero or moreA flexible external key: a pointer to an object of any class. The main use case is to implement generic extensions, working with any type of object. As a consequence, it is aimed at being used programmaticaly, and no GUI has been developped for the end-user to select an object. Experimental and supported only since iTop 2.2.0.
<sql>name</sql>mandatoryThe column used to store the value into the MySQL database
<is_null_allowed>true</is_null_allowed>mandatorySet to "true" to let users leave this value undefined, false otherwise
<class_attcode>name</class_attcode>mandatoryThe attribute which value gives the class of the objects to which the key is pointing for the current record. That attribute can be any type of attribute provided that its representation is a string (AttributeString, AttributeEnum, AttributeClass)
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<field id="name" xsi:type="AttributePercentage">zero or moreA percentage (integer between 0 and 100), displayed as a bar
<sql>name</sql>mandatoryThe column used to store the value into the MySQL database
<default_value>name</default_value>mandatoryThe default value
<is_null_allowed>true</is_null_allowed>mandatorySet to "true" to let users leave this value undefined, false otherwise
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<field id="name" xsi:type="AttributePhoneNumber">zero or moreA phone number
<sql>name</sql>mandatoryThe column used to store the value into the MySQL database
<default_value>name</default_value>mandatoryThe default value (can be specified as an empty string)
<is_null_allowed>true</is_null_allowed>mandatorySet to "true" to let users leave this value undefined, false otherwise
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<validation_pattern>[0-9.\-\ \+\(\)]+</validation_pattern>optionalEnforce a format based on a regular expression. Defaults to the global setting 'phone_number_validation_pattern'
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<field id="name" xsi:type="AttributeRedundancySettings">zero or moreSettings for the redundancy on a relation. Supported only since iTop 2.2.0.
<sql>name</sql>mandatoryThe column used to store the value into the MySQL database
<relation_code>impacts</relation_code>mandatoryIdentifier/Part 1: the id of the relation
<from_class>name</from_class>mandatoryIdentifier/Part 2: the source class
<neighbour_id>name</neighbour_id>mandatoryIdentifier/Part 3: the id of the
<enabled>true</enabled>mandatorySet to "true" to enable the redundancy
<enabled_mode>name</enabled_mode>mandatorySet to "user" to let the end-user decide wether the redundancy can be enabled or not, or 'fixed' to keep the value as given by <enabled>
<min_up>1</min_up>mandatoryMinimum count (resp. percentage) of upstream items that must be up
<min_up_type>name</min_up_type>mandatoryHow to interpret <min_up>: either "count" or "percent"
<min_up_mode>user</min_up_mode>mandatorySet to "user" to let the end-user change the values, or "fixed" to enforce the values given by <min_up> and <min_up_type>
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<field id="name" xsi:type="AttributeStopWatch">zero or moreCumulate the time spent in some states
<states>mandatoryStates in which the stop-watch will be running
<state id="name">zero or moreA state (as declared in the life-cycle of the class)
<goal>name</goal>optionalName of the class handling the computation of the time limit. Defaults to 'DefaultMetricComputer'
<working_time>name</working_time>optionalName of the class handling the computation of active times. Defaults to 'DefaultWorkingTimeComputer', which means 24x7
<thresholds>mandatoryIntermediate milestones, defined as a portion of the overall time goal.
<threshold id="*integer*">zero or moreA milestone. The id is a percentage of the overall duration limit (e.g. 80)
<actions>mandatoryWhat must be done when the milestone is being passed.
<action>zero or moreA milestone
<verb>DoThis</verb>mandatoryFunction (of the current PHP class)
<params>mandatoryArguments to be passed to the function
<paramxsi:type="bool|int|float|string|reference">ev_close</param>zero or moreA scalar argument (integer, float, boolean, string)
<highlight>optionalThe highlight code set when this threshold is reached, if any
<code>critical</code>mandatoryThe name of the higlight code (within the highlight scale)
<persistent>true</persistent>mandatory"true" or "false" Whether the highlight code remains applicable when the stopwatch is no longer active
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<field id="name" xsi:type="AttributeString">zero or moreA string, limited to one line of 255 characters
<sql>name</sql>mandatoryThe column used to store the value into the MySQL database
<default_value>name</default_value>mandatoryThe default value (can be specified as an empty string)
<is_null_allowed>true</is_null_allowed>mandatorySet to "true" to let users leave this value undefined, false otherwise
<validation_pattern>^[a-z]*\d+$</validation_pattern>optionalEnforce a format based on a regular expression
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<field id="name" xsi:type="AttributeSubitem">zero or moreOne of the state information present in a stopwatch. Both must be defined in the same Class!
<target_attcode>name</target_attcode>mandatoryThe stopwatch (attribute code)
<item_code>100_passed</item_code>mandatoryThe information: timespent, started, laststart, stopped, _deadline, _passed, _triggered, _overrun
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<field id="name" xsi:type="AttributeTagSet">zero or moreList of tags to associate to an object. Supported only since iTop 2.6.0
<sql>name</sql>mandatoryThe column used to store the value into the MySQL database
<is_null_allowed>true</is_null_allowed>mandatorySet to "true" to let users leave this value undefined, false otherwise
<max_items>12</max_items>optionalMaximum number of tags allowed on an object. Default 12. Max value 255.
<tag_code_max_len>20</tag_code_max_len>optionalMax length of tag code for this field. Default 20. Max value 255.
<tracking_level>all</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<field id="name" xsi:type="AttributeText">zero or moreA multi-line text (limited to 64 Kb)
<sql>name</sql>mandatoryThe column used to store the value into the MySQL database
<default_value>name</default_value>mandatoryThe default value (can be specified as an empty string)
<is_null_allowed>true</is_null_allowed>mandatorySet to "true" to let users leave this value undefined, false otherwise
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<width>800px</width>optional**New in 2.2.0** Width of the edition area. Possible values: 200px, 70em. Defaults to ''
<height>200px</height>optional**New in 2.2.0** Height of the edition area. Possible values: 100px, 30em. Defaults to ''
<format>text</format>optional**New in 2.3.0** format of the text, either plain text or HTML. Defaults to 'text'. Possible values 'text', 'html'.
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<field id="name" xsi:type="AttributeLongText">zero or moreA huge text (limited to 4 Gb)
<sql>name</sql>mandatoryThe column used to store the value into the MySQL database
<default_value>name</default_value>mandatoryThe default value (can be specified as an empty string)
<is_null_allowed>true</is_null_allowed>mandatorySet to "true" to let users leave this value undefined, false otherwise
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<width>800px</width>optional**New in 2.2.0** Width of the edition area. Possible values: 200px, 70em. Defaults to ''
<height>200px</height>optional**New in 2.2.0** Height of the edition area. Possible values: 100px, 30em. Defaults to ''
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code
<field id="name" xsi:type="AttributeURL">zero or moreAn URL (http...)
<sql>name</sql>mandatoryThe column used to store the value into the MySQL database
<default_value>name</default_value>mandatoryThe default value (can be specified as an empty string)
<is_null_allowed>true</is_null_allowed>mandatorySet to "true" to let users leave this value undefined, false otherwise
<target>_blank</target>mandatoryTarget attribute as it will be set into the A tag (see HTML specs)
<validation_pattern>^[a-z]*\d+$</validation_pattern>optionalEnforce a format based on a regular expression. Defaults to the global setting 'url_validation_pattern'
<tracking_level>none</tracking_level>optionalAdjust the recording of changes (history tab). Possible values: none, all. Defaults to 'all'
<always_load_in_tables>true</always_load_in_tables>optionalAdvanced: set to true for attributes that are always used by a plugin. Possible values: true, false. Defaults to 'false'
<dependencies>optionalAttributes on which the current attribute depends. This will be taken into account in the forms.
<attribute id="name">mandatoryAn attribute code

Attribute ExternalKey: edit mode

Edit modedefine the application behavior when editing the current object
<empty>When no value is provided in the XML, iTop uses its default actions, see below for its behavior
add_removeAllow to add existing objects = overwrite their ExternalKey with the id of the current object. It proposes a remove option which empty the ExternalKeyunless the ExternalKey is  mandatory.
in_placeYou can create a new object in a modal pop-up window. You can also delete child objects assuming no other relationships prevents it
actionsAdd Actions menus which in current window, allow to massively edit (modify or delete) the related objects, as well as create a new related object
add_onlyOnly allow to create a new related object in a separate window, independently of the current object edition, which can be cancelled or completed without effect on the creation.
noneThat (1:n) relationship cannot be edited from the current object, it's in read-only mode

Presentation

Details

The presentation “details” defines the structure of the form used to enter an object and to display its “details”. It can be a simple list (in which case the fields are displayed in one column), but can also define columns and fieldset to group related fields together. Some type of attributes such as Caselog, LinkedSet, LinkedSetIndirect are automatically displayed either in a separate tab or as a full width table.

TagUsageDescription
<items>mandatory 
<item>at least oneAn item can be either: an attribute (id = attribute code), a column (id = col:number) or a field set (id = fieldset:dictionary entry)
<rank>123</rank>mandatoryDisplay rank. Item are ordered from top to bottom, left to right. This must be an integer value.
<items>optionalIn case the item defined above is a column or a field set, then this tag must be defined to contain the items (recursively, though this recursion is limited).

Controlling the fields

Define simple ordered list of fields for controlling the default behavior of the application for listing and searching object of this class:

  • default-search: used as default search criteria when searching for objects of this class or its sub-classes if that list is not redefined below.

  • list: used as default columns when displaying lists of object

  • search: used as most popular search criteria for this class

TagUsageDescription
<items>mandatoryAn ordered list of attributes
<item id="name">at least oneAn attribute
<rank>123</rank>mandatoryRank of the attribute in the list (integer)

Stimuli

Each transition from one state to another (for objects with a life -cycle) is trigerred when the object receives a stimuli. The different types of stimuli are listed in the table below:

TagUsageDescription
<stimulus id="name" xsi:type="StimulusUserAction">at least oneAn action decided by the end-user. The stimuli is displayed in the Actions menu (if the object is in a state for which this stimuli is taken into account
<stimulus id="name" xsi:type="StimulusInternal">at least oneAn action that can be triggered programmatically.

Menus

The different types of menus are listed in the table below:

Use the triangle arrow on the left of an item to expand/collapse its definition.

TagUsageDescription
<menu id="name" xsi:type="MenuGroup">optionalTop level menu. This menu will always remain visible. It is a container for other menus.
<rank>123.45</rank>mandatoryDisplay rank. This is a float. Menus are ordered by ascending rank: the smallest rank is on top.
<enable_admin_only>1</enable_admin_only>optionalIf set to '1' then only administrators will see this menu entry
<enable_class>name</enable_class>optionalClass to which the menu will be bound. The menu will be hidden to users who do not have all the rights specified by enable_action described hereafter.
<enable_action>UR_ACTION_MODIFY</enable_action>optionalOne of the following flags: UR_ACTION_READ, UR_ACTION_MODIFY, UR_ACTION_DELETE, UR_ACTION_BULK_READ, UR_ACTION_BULK_MODIFY, UR_ACTION_BULK_DELETE. Ignored if enable_class is not given.
<enable_permission>UR_ALLOWED_YES</enable_permission>optionalInvert the rule by setting this value to UR_ALLOWED_NO. Defaults to UR_ALLOWED_YES. Ignored if enable_class is not given.
<enable_stimulus>ev_assign</enable_stimulus>optionalBind to the rights to apply a given stimulus. Ignored if enable_class is not given.
<menu id="name" xsi:type="DashboardMenuNode">optionalDashboard. The contents can be produced by the mean of the "export" function. The contents of the dashboard can be found in a file (definition_file) or directly here (definition)
<rank>123.45</rank>mandatoryDisplay rank. This is a float. Menus are ordered by ascending rank: the smallest rank is on top.
<enable_admin_only>1</enable_admin_only>optionalIf set to '1' then only administrators will see this menu entry
<parent>name</parent>mandatoryParent menu node, either a top node or an intermediate node
<definition_file>name</definition_file>optionalDashboard definition file. The path is relative to the module in which the menu is declared.
<definition>name</definition>optionalDashboard definition contents. This tag will be ignored if the tag definition_file has been given and is not empty.
<enable_class>name</enable_class>optionalClass to which the menu will be bound. The menu will be hidden to users who do not have all the rights specified by enable_action described hereafter.
<enable_action>UR_ACTION_MODIFY</enable_action>optionalOne of the following flags: UR_ACTION_READ, UR_ACTION_MODIFY, UR_ACTION_DELETE, UR_ACTION_BULK_READ, UR_ACTION_BULK_MODIFY, UR_ACTION_BULK_DELETE. Ignored if enable_class is not given.
<enable_permission>UR_ALLOWED_YES</enable_permission>optionalInvert the rule by setting this value to UR_ALLOWED_NO. Defaults to UR_ALLOWED_YES. Ignored if enable_class is not given.
<enable_stimulus>ev_assign</enable_stimulus>optionalBind to the rights to apply a given stimulus. Ignored if enable_class is not given.
<menu id="name" xsi:type="NewObjectMenuNode">optionalShortcut to create a new object.
<rank>123.45</rank>mandatoryDisplay rank. This is a float. Menus are ordered by ascending rank: the smallest rank is on top.
<enable_admin_only>1</enable_admin_only>optionalIf set to '1' then only administrators will see this menu entry
<parent>name</parent>mandatoryParent menu node, either a top node or an intermediate node
<class>name</class>mandatoryClass of the object to create
<enable_class>name</enable_class>optionalClass to which the menu will be bound. The menu will be hidden to users who do not have all the rights specified by enable_action described hereafter.
<enable_action>UR_ACTION_MODIFY</enable_action>optionalOne of the following flags: UR_ACTION_READ, UR_ACTION_MODIFY, UR_ACTION_DELETE, UR_ACTION_BULK_READ, UR_ACTION_BULK_MODIFY, UR_ACTION_BULK_DELETE. Ignored if enable_class is not given.
<enable_permission>UR_ALLOWED_YES</enable_permission>optionalInvert the rule by setting this value to UR_ALLOWED_NO. Defaults to UR_ALLOWED_YES. Ignored if enable_class is not given.
<enable_stimulus>ev_assign</enable_stimulus>optionalBind to the rights to apply a given stimulus. Ignored if enable_class is not given.
<menu id="name" xsi:type="SearchMenuNode">optionalShortcut to search for objects.
<rank>123.45</rank>mandatoryDisplay rank. This is a float. Menus are ordered by ascending rank: the smallest rank is on top.
<enable_admin_only>1</enable_admin_only>optionalIf set to '1' then only administrators will see this menu entry
<parent>name</parent>mandatoryParent menu node, either a top node or an intermediate node
<class>name</class>mandatoryClass of the objects to search for.
<enable_class>name</enable_class>optionalClass to which the menu will be bound. The menu will be hidden to users who do not have all the rights specified by enable_action described hereafter.
<enable_action>UR_ACTION_MODIFY</enable_action>optionalOne of the following flags: UR_ACTION_READ, UR_ACTION_MODIFY, UR_ACTION_DELETE, UR_ACTION_BULK_READ, UR_ACTION_BULK_MODIFY, UR_ACTION_BULK_DELETE. Ignored if enable_class is not given.
<enable_permission>UR_ALLOWED_YES</enable_permission>optionalInvert the rule by setting this value to UR_ALLOWED_NO. Defaults to UR_ALLOWED_YES. Ignored if enable_class is not given.
<enable_stimulus>ev_assign</enable_stimulus>optionalBind to the rights to apply a given stimulus. Ignored if enable_class is not given.
<menu id="name" xsi:type="TemplateMenuNode">optionalDeprecated. Kept for backward compatibility.
<rank>123.45</rank>mandatoryDisplay rank. This is a float. Menus are ordered by ascending rank: the smallest rank is on top.
<enable_admin_only>1</enable_admin_only>optionalIf set to '1' then only administrators will see this menu entry
<parent>name</parent>mandatoryParent menu node, either a top node or an intermediate node
<template_file>name</template_file>optionalDashboard definition file. The path is relative to the module in which the menu is declared.
<enable_class>name</enable_class>optionalClass to which the menu will be bound. The menu will be hidden to users who do not have all the rights specified by enable_action described hereafter.
<enable_action>UR_ACTION_MODIFY</enable_action>optionalOne of the following flags: UR_ACTION_READ, UR_ACTION_MODIFY, UR_ACTION_DELETE, UR_ACTION_BULK_READ, UR_ACTION_BULK_MODIFY, UR_ACTION_BULK_DELETE. Ignored if enable_class is not given.
<enable_permission>UR_ALLOWED_YES</enable_permission>optionalInvert the rule by setting this value to UR_ALLOWED_NO. Defaults to UR_ALLOWED_YES. Ignored if enable_class is not given.
<enable_stimulus>ev_assign</enable_stimulus>optionalBind to the rights to apply a given stimulus. Ignored if enable_class is not given.
<menu id="name" xsi:type="OQLMenuNode">optionalShortcut to display a search result, given an OQL query.
<rank>123.45</rank>mandatoryDisplay rank. This is a float. Menus are ordered by ascending rank: the smallest rank is on top.
<auto_reload>standard</auto_reload>optionalDetermines how the display will be refreshed: "none" to disable this feature (default), "standard" or "fast" to refresh periodically based on the corresponding configuration setting, or "123" to refresh every 123 seconds.
<enable_admin_only>1</enable_admin_only>optionalIf set to '1' then only administrators will see this menu entry
<parent>name</parent>mandatoryParent menu node, either a top node or an intermediate node
<oql>SELECT UserRequest WHERE agent_id = :current_contact_id AND status NOT IN ("closed","resolved")</oql>mandatoryObject query. The only context parameter available is "current_contact_id".
<do_search>1</do_search>optionalIf set to 1, then the search form is displayed, at the top of the page, above the search results.
<search_form_open>1</search_form_open>optionalIf set to 1 - and if do_search is also set to 1, then the search form is fully open at the top of the page, otherwise the search pane is collapsed. Available since iTop 2.3.0. The default value depends of iTop version (From 2.3.0 to 2.4: collapsed, Since 2.5.0 : opened)
<enable_class>name</enable_class>optionalClass to which the menu will be bound. The menu will be hidden to users who do not have all the rights specified by enable_action described hereafter.
<enable_action>UR_ACTION_MODIFY</enable_action>optionalOne of the following flags: UR_ACTION_READ, UR_ACTION_MODIFY, UR_ACTION_DELETE, UR_ACTION_BULK_READ, UR_ACTION_BULK_MODIFY, UR_ACTION_BULK_DELETE. Ignored if enable_class is not given.
<enable_permission>UR_ALLOWED_YES</enable_permission>optionalInvert the rule by setting this value to UR_ALLOWED_NO. Defaults to UR_ALLOWED_YES. Ignored if enable_class is not given.
<enable_stimulus>ev_assign</enable_stimulus>optionalBind to the rights to apply a given stimulus. Ignored if enable_class is not given.
<menu id="name" xsi:type="WebPageMenuNode">optionalAn hyperlink to a page internal or external to iTop.
<rank>123.45</rank>mandatoryDisplay rank. This is a float. Menus are ordered by ascending rank: the smallest rank is on top.
<enable_admin_only>1</enable_admin_only>optionalIf set to '1' then only administrators will see this menu entry
<parent>name</parent>mandatoryParent menu node, either a top node or an intermediate node
<url>$$https://www.openitop.com/</url>optionalURL to the page within the module. Prefix by a $$ to specify an absolute URL. Prefix by a $ to specify an URL relative to the iTop root URL. No prefix: relative to the module directory
<enable_class>name</enable_class>optionalClass to which the menu will be bound. The menu will be hidden to users who do not have all the rights specified by enable_action described hereafter.
<enable_action>UR_ACTION_MODIFY</enable_action>optionalOne of the following flags: UR_ACTION_READ, UR_ACTION_MODIFY, UR_ACTION_DELETE, UR_ACTION_BULK_READ, UR_ACTION_BULK_MODIFY, UR_ACTION_BULK_DELETE. Ignored if enable_class is not given.
<enable_permission>UR_ALLOWED_YES</enable_permission>optionalInvert the rule by setting this value to UR_ALLOWED_NO. Defaults to UR_ALLOWED_YES. Ignored if enable_class is not given.
<enable_stimulus>ev_assign</enable_stimulus>optionalBind to the rights to apply a given stimulus. Ignored if enable_class is not given.
<menu id="name" xsi:type="ShortcutContainerMenuNode">optionalContainer for shortcuts. Only one container must be defined. The effects are unpredictable is several menus of this type are defined!
<rank>123.45</rank>mandatoryDisplay rank. This is a float. Menus are ordered by ascending rank: the smallest rank is on top.
<enable_admin_only>1</enable_admin_only>optionalIf set to '1' then only administrators will see this menu entry
<parent>name</parent>mandatoryParent menu node, either a top node or an intermediate node
<enable_class>name</enable_class>optionalClass to which the menu will be bound. The menu will be hidden to users who do not have all the rights specified by enable_action described hereafter.
<enable_action>UR_ACTION_MODIFY</enable_action>optionalOne of the following flags: UR_ACTION_READ, UR_ACTION_MODIFY, UR_ACTION_DELETE, UR_ACTION_BULK_READ, UR_ACTION_BULK_MODIFY, UR_ACTION_BULK_DELETE. Ignored if enable_class is not given.
<enable_permission>UR_ALLOWED_YES</enable_permission>optionalInvert the rule by setting this value to UR_ALLOWED_NO. Defaults to UR_ALLOWED_YES. Ignored if enable_class is not given.
<enable_stimulus>ev_assign</enable_stimulus>optionalBind to the rights to apply a given stimulus. Ignored if enable_class is not given.

WebMenu example

With relative url:

<menus>
  <menu id="Ongoing approval" xsi:type="WebPageMenuNode">
    <rank>6</rank>
      <parent>RequestManagement</parent>
      <url>$pages/exec.php?exec_module=approval-base&amp;exec_page=report.php&amp;class=UserRequest&amp;do_filter_my_approvals=on</url>
  </menu>
</menus>

Action grants

Grants are the basic elements that define the rights associated with a specific action for a given profile. The different actions that can be “granted” are listed in the table below:

TagUsageDescription
<action id="action:read">allow</action>optionalRead: set to "allow" or "deny"
<action id="action:write">allow</action>optionalWrite: set to "allow" or "deny"
<action id="action:delete">allow</action>optionalDelete: set to "allow" or "deny"
<action id="action:bulk read">allow</action>optionalExport data: set to "allow" or "deny"
<action id="action:bulk write">allow</action>optionalPerform massive changes: set to "allow" or "deny"
<action id="action:bulk delete">allow</action>optionalPerform bulk deletion: set to "allow" or "deny"
<action id="stimulus:name">allow</action>optionalApply a given stimulus: set to "allow" or "deny"

Files

New in 2.0.1

The “files” structure allow to embed binary files (for examples image files used for the object's icons) directly in an XML delta definition file.

Use the triangle arrow on the left of an item to expand/collapse its definition.

TagUsageDescription
<file id="??">zero or moreOne entry per binary file.
<name>server.png</name>mandatoryThe name of the file.
<mimeType>image/png</mimeType>mandatoryThe MIME Type of the file.
<data>iVBORw0KGgoAAAANSUhEUgAAADAAA...</data>mandatoryThe binary content of the file, base64 encoded.

Dictionaries

New in 2.0.1

The “dictionaries” structure allows to add dictionary entries to the XML delta in order to define (or to alter) the localization of the data model.

Use the triangle arrow on the left of an item to expand/collapse its definition.

TagUsageDescription
<dictionary id="language_code">at least oneOne entry per language. The id is the language code: 'EN US', 'FR FR', etc.
<entries>mandatory 
<entry id="string_code"><![CDATA[Server Name]]></entry>at least oneAn entry in the dictionary. string_code is the identifier of the string to translate. For example Class:Server/Attribute:name

Modules parameters

New in 2.2.0

The “modules parameters” structure allows to define default configuration parameters, directly into the XML. These parameters will be turned into a PHP structure by the compiler and read as default values by the method MetaModel::GetModuleSetting.

The possible type of value that can be stored as parameters are: string, boolean (or bool), integer (or int), float, hash or array.

The syntax for the parameters is the following:

Use the triangle arrow on the left of an item to expand/collapse its definition.

TagUsageDescription
<module_parameters>optionalThe location for string module specific parameters
<parameters>mandatory 
<parameter_name type="string|int|bool|float|hash|array">at least oneThe parameter to define. The name of the tag is the name of the parameter

The string, integer, boolean and float types are simple scalar types. The value for the parameter is the content of the tag in plain text. The hash and array types are complex types composed of sub-elements. Each sub element is expressed as a sub tag in the XML. The main difference between hash and array is that ahash contains named values (based on the tag name) whereas an array contains a list of unnamed but ordered values. Inside a hash the tag names must be unique. Inside an array all the items must have the same tag name.

array items can be order based on their id (in ascending order, treated as a floating point number)

Example:

<parameters id="itop-object-copier" _delta="define">
  <rules>
    <rule id="0" type="hash">
      <source_scope>SELECT UserRequest WHERE status IN ("assigned", "pending")</source_scope>
      <allowed_profiles>Administrator,Support Agent</allowed_profiles>
      <menu_label>Issue a change ticket...</menu_label>
      <form_label>Issue a change from request %1$s. Please review the description before create the change ticket. After creation of the change ticket, the request ticket will be automatically updated. </form_label>
      <report_label>Issued from the request %1$s. The request has been updated.</report_label>
      <dest_class>Change</dest_class>
      <preset type="array">
        <action id="0"> clone(contacts_list,functionalcis_list,org_id,title,caller_id)</action>
        <action id="1">set(description,Original description:\n$this->description$)</action>
      </preset>
      <retrofit type="array">
        <action id="0">copy(id, parent_change_id)'</action>
        <action id="1">set(private_log,Issued change $this->ref$)'</action>
      </retrofit>
    </rule>
  </rules>
</parameters>

string is assumed to be the default type for tags without child subtags, whereas hash is the default type for tags with child subtags.

Other modules

Module namedetails on parameters to configure this module
itop-ticket & itop-config-mgmtconfiguring Impact Analyses
itop-attachmentsconfiguring Attachments

Modules designs

New in 2.3.0

The “modules designs” structure allows to define/customize the behavior of a module. That behavior is encoded as an XML structure having the same formal constraints as any other itop_design XML structure. That XML structure, called a module design is accessed by the module by the mean of the classModuleDesign.

The syntax for the module designs is the following:

Use the triangle arrow on the left of an item to expand/collapse its definition.

TagUsageDescription
<module_designs>optional 
<module_designid="??">at least oneContainer node for a set of design data. The identifier must be unique. It can match the name of the module, but any string is allowed provided that it does not contain slashes or backslashes

Files can be specified by the mean of a fileref node (see files section), or a path relative to the modules root directory (env-production).

This capability has been introduced for the sake of customizing the Enhanced Customer Portal shipped with iTop. See the customer portal XML reference.

Meta

Usage of this tag is restricted to Combodo for driving ITSM Designer behavior.
It is used to declare in XML stuff which are in PHP code and need to be known and manipulate by the ITSM Designer.

Changes history

The version number of the XML format is set on the root node <itop_design version=“…”> This version number is used by iTop to convert into the latest format prior to compiling the data model into PHP files.

Version 1.0

The datamodel became editable with iTop 2.0 released in summer 2012

The version number was not defined in the XML file, thus the absence of version is now interpreted as “1.0”.

The version remained unchanged though a few new features have been introduced. Here is the list of releases and the new nodes:

  • iTop 2.0.1

    •  

    itop_design/files

    •  

    itop_design/dictionaries

  • iTop 2.0.2

    •  

    itop_design/branding

    •  

    itop_design/constants

    •  

    itop_design/classes/class/properties/indexes

    •  

    itop_design/classes/class/fields/field/always_load_in_tables

  • iTop 2.0.3

    •  

    itop_design/classes/class/fields/field[@xsi:type=“AttributeExternalKey”]/display_style

Version 1.1

This version came live with iTop 2.1.0, released in november 2014.

Finer granularity

id attributes have been added to a number of nodes, allowing for a finer granularity of the alterations that can be performed.

  • /classes/class/fields/field[@xsi:type=“AttributeEnum”]/values/value: added an id to the node <value id=“…”>

  • /classes/class/lifecycle/states/state/transitions/transition: stimulus sub-node removed in favor of an id on the node <transition id=“…”>

  • /classes/class/fields/field[@xsi:type=“AttributeStopWatch”]/thresholds/threshold: percentage sub-node removed in favor of an id on the node node<threshold id=“…”>

  • /user_rights/profiles/profile/groups/group/actions/action: the type and the name of the “granted” action are now expressed directly by the id, the attribute “xsi:type” has been removed.

Easier edition

Editing the lifecycle of tickets was a pain because of the attributes state flags were given as a complete matrix (e.g. 6 x 15 = 90 definitions to maintain). Though this is still feasible, there is now an alternative: define a state a inherited from another one, so that all the flags will be inherited and only the differences must be explicitely defined.

/classes/class/lifecycle/states/state/inherit_flags_from

The flags Must Prompt and Must Change are never inherited from one state to another.

Highlighting

Tickets or any objects having a lifecycle can be highlighted depending on their state or the state of their stop watches (SLA counters like Time to own)

See the nodes:

  • classes/class/lifecycle/highlight_scale

  • classes/class/lifecycle/states/state/highlight

  • classes/class/fields/field[xsi:type=AttributeStopWatch]/thresholds/threshold/highlight

Version 1.2

This version came live with iTop 2.2.0, released in september 2015.

A new type of field has been added: itop_design/classes/class/fields/field[@xsi:type=“AttributeObjectKey”].

The relations can now be modelized in XML (used to rely on overloading the method GetRelationQueries): itop_design/classes/class/relations. The redundancy on a relation is defined by the mean of a new type of attribute:itop_design/classes/class/fields/field[@xsi:type=“AttributeRedundancySettings”]

The access to the portal user interface is now defined in XML. This also allows to define several portals (for different profiles of end-users) as well to replace the existing portal by a specific user interface provided by a module. See itop_design/portals.

Specify a default value for configuration parameters using the new section itop_design/modules_parameters.

Small snippets of PHP codes can be injected inside the model.xxx.php files using the new tag itop_design/snippets.

Width and height can be set on Attributes of type AttributeText, AttributeLongText and AttributeHTML.

Version 1.3

This version came live with iTop 2.3.0 beta, released in may 2016.

Introduced a new value for _delta: if_exists.

Added module designs, allowing for the module to benefit from the XML delta mechanism (as opposed to a behavior defined as parameters or the configuration file): modules_designs/module_design[id=xxxxxxx]/…

Added attribute types:

  • AttributeMetaEnum: aggregates the values from other enums (usually found in derived classes). Example: the status of a ticket.

  • AttributeCustomFields: enables the development (yes, requires PHP development skills) of a module that would be responsible for storing/fetching custom attributes.

  • AttributeImage: (experimental!) enhances the existing AttributeBlob. Limitations: what if no default image has been provided? what if the user uploads a file that is not an image? When changing the image on IE9/IE10, the image is not previewed (those browser do not support the FileReader API)

New option for OQL Menu Nodes:

  • The option search_form_open has been added to show/hide the search form at the top of the page.

New option for AttributeText:

  • The option format has been added to support the migration from plain text to HTML for the description of tickets.

Version 1.4

This version came live with iTop 2.4 beta, released in July 2017.

Introduced a new value for _delta: forced.

  • Added 2 class properties: archive/enabled and obsolescence/condition

  • Added flags on transition

  • Added multiple changes on Portal XML

Version 1.5

This version came live with iTop 2.5 beta, released in May 2018.

  • Added 4 menu properties for all menu nodes: enable_class, enable_action, enable_permission and enable_stimulus

  • Changed default value of search_form_open to 1

  • Added a default_search section to the presentation (in class) in order to display default search criteria on search screens.

Version 1.6

This version came live with iTop 2.6 beta, released in October 2018.


标签:
由 superadmin 在 2020/08/27, 16:31 创建
    

需要帮助?

如果您需要有关XWiki的帮助,可以联系:

深圳市艾拓先锋企业管理咨询有限公司