×

微信扫一扫,快捷登录!

二次开发-开发方法-XML数据模型引用

标签: 暂无标签
本帖最后由 adminlily 于 2020-12-15 15:43 编辑

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

  • classes-使用安装程序或工具包“编译”时将生成实际的PHP类
  • menus-插入到iTop页面左侧的应用菜单中
  • profiles --管理对iTop对象的权利访问
  • branding

iTop的2.1、2.2、2.3和2.4版本对XML结构进行了许多轻度更改,以简化iTop的自定义。 iTop始终支持较旧的格式(向后兼容)。本章介绍了新格式引入的修改的完整列表。[  :8082/bin/view/5/5.1/5.1.9/#changes_history]变更记录[/url].

为了阐明引用数据模型,在iTop 2.1.0中做了一些更改。有关更多信息,请阅读迁移2.0.3至2.1.0注释

原则
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删除该节点。该节点不应有子节点(无内容)
force强制定义此节点(无论是否存在)

节点由其标签名称和属性ID标识。如果未给出id,则将该节点标识为具有相同标签名称的找到的第一个节点。
当编译器遇到define/redefine时,它将认为子树是纯内容定义。结果,在该子树中找到的任何属性_delta或_rename_from将被忽略。

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

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

标签用法描述
<itop_design xmlns:xsi="2001/XMLSchema-instance" version="1.2">强制性的结构节点。由于iTop 2.4.0中轻度的更改,版本已增加到1.4
<classes>强制性的宣告班
<class id="name">零或更多上课声明
<parent>cmdbAbstractObject</parent>强制性的父类
<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>finalclass</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">最后一个
<order>可选的定义类的默认排序顺序,如果省略,则按友好名称对类进行排序
<columns>强制性的
<column id="name" ascending="true|false">最后一个在此属性上升序或降序。属性的顺序很重要。
<display_template>可选的
<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表达式。除非重新定义,否则子类将继承此条件。
<fields>强制性的属性声明(累加从父类继承的属性,如果有的话)
<field>最后一个属性的声明。请参阅部分中的各种类型的属性[  :8082/bin/view/5/5.1/5.1.9/#fields]领域[/url]
<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>最后一个宣布刺激。在本节中查看各种类型的刺激[  :8082/bin/view/5/5.1/5.1.9/#stimuli]刺激物[/url]
<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 SoftwareInstance AS s WHERE s.system_id = :this->id</query_up>可选的定义相关对象的OQL查询,在关系流动中向后移动(上游)
<attribute>something_list</attribute>可选的OQL查询的替代方法是指定属性(外部密钥或链接集)
<direction>both</direction>可选的设置为“向下”以限制浏览。默认为“两者”
<presentation>强制性的
<details>强制性的定义了可视化和对象版本表单的表示形式。可以被生命周期标志“隐藏”覆盖
<items>最后一个参考[  :8082/bin/view/5/5.1/5.1.9/#presentation_(details)]演示(详细信息)[/url]
<search>强制性的搜索屏幕的“添加新的规则”菜单的“最受欢迎”部分中显示的属性的有序列表
<items>最后一个参考[  :8082/bin/view/5/5.1/5.1.9/#presentation_(search,_default-search_or]演示(搜索,默认搜索或列表)[/url]
<default_search>可选的搜索屏幕中显示的默认搜索规则的订购列表。如果保留为空或不存在,则此参数从搜索类继承。
<items>最后一个参考[  :8082/bin/view/5/5.1/5.1.9/#presentation_(search,_default-search_or]演示(搜索,默认搜索或列表)[/url]
<list>强制性的默认情况下在结果列表中显示的属性的有序列表
<items>最后一个参考[  :8082/bin/view/5/5.1/5.1.9/#presentation_(search,_default-search_or]演示(搜索,默认搜索或列表)[/url]
<menus>强制性的声明主GUI中显示的菜单(左窗格)
<menu>最后一个声明菜单。请参阅本节中的各种菜单[  :8082/bin/view/5/5.1/5.1.9/#menus]选单[/url]
<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>最后一个请参阅部分中的各种补助金[  :8082/bin/view/5/5.1/5.1.9/#action_grants]功能资助[/url]
<files>可选的用于在XML中嵌入二进制文件(如图标)。仅从iTop 2.0.1开始受支持
<file>最后一个文件声明,请参阅本节中的详细信息[  :8082/bin/view/5/5.1/5.1.9/#files]档案[/url]
<dictionaries>可选的用于将本地化添加到XML。仅从iTop 2.0.1开始受支持
<dictionary>最后一个声明给定语言的字典,请参阅本节中的详细信息[  :8082/bin/view/5/5.1/5.1.9/#dictionaries]辞典[/url]
<branding>可选的GUI的外观。
<main_logo>可选的主GUI的徽标(左上角)。定义为PNG文件(相对于模块根目录的路径= env-production)或fileref标签
<login_logo>可选的登录名页面的徽标。定义为PNG文件(相对于模块根目录的路径= env-production)或fileref标签
<portal_logo>可选的客户门户的徽标(左上角)。定义为PNG文件(相对于模块根目录的路径= env-production)或fileref标签
<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">最后一个门户:即用户界面的入口点。
<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">最后一个包含模块特定的参数,例如默认的配置值,这些参数存储为子标签。见本节[  :8082/bin/view/5/5.1/5.1.9/#modules_parameters]模块参数[/url].
<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定义的元信息的根,被编译器忽略。本节中的更多详细信息[  :8082/bin/view/5/5.1/5.1.9/#meta]元[/url]
领域
字段(也称为属性)是对象的实际数据成员。字段通常对应于数据库的一个表中的一(或多个)列。下表列出了不同类型的字段:
使用项目左侧的三角形箭头展开以折叠其定义。
标签用法描述
<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="AttributeEnum">零或更多可以将其价值从一组固定的可能值中取出的字符串
<values>强制性的可能值清单
<value id="name">name</value>最后一个价值。必须由字母数字字符组成。其他授权字符:“ _”,“-”。 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&#8203;&#8203;ntal,“ radio_vertical”或“ radio”(与radio_vertical相同)
<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="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="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="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&#8203;&#8203;ntal,“ radio_vertical”或“ radio”(与radio_vertical相同)
<field id="name" xsi:type="AttributeHierarchicalKey">零或更多指向同一类的外部键,以对象的构建层次结构
<sql>name</sql>强制性的用于将价值存储到MySQL数据库中的列
<is_null_allowed>true</is_null_allowed>强制性的设置为“ true”以使用户离开此价值未定义,否则为false
<on_target_delete>DEL_AUTO</on_target_delete>强制性的定义删除目标对象将如何影响度当前对象。允许的值为“ DEL_对象”和“ DEL_AUTO”
<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="AttributeExternalField">零或更多属性的别名由另一个对象保存(请参阅“ ExternalKey”)
<extkey_attcode>name</extkey_attcode>强制性的指向远程类的外键。此属性必须在当前类中定义。
<target_attcode>name</target_attcode>强制性的远程类的属性。仅支持某些属性类型。不支持其他情况下的CaseLog,LinkedSet,LinkedSetIndirect。
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<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="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。默认为''
<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="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="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="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>可选的调整更改的记录(“历史记录”选项卡)。可能的值:无,列表(跟踪添加和删除的项目),详细信息(跟踪修改的项目),全部。默认为“列表”
<edit_mode>actions</edit_mode>可选的定义用于编辑此链接集的GUI类型。可能的值:无,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>可选的调整更改的记录(“历史记录”选项卡)。可能的值:无,列表(跟踪添加和删除的项目),详细信息(跟踪修改的项目),全部。默认为“全部”
<duplicates>true</duplicates>可选的设置为“ true”以允许重复。默认为'false'
<count_min>0</count_min>可选的尚未使用
<count_max>0</count_max>可选的尚未使用
<dependencies>可选的当前属性所依赖的属性。这将以表格的形式包含在账号中。
<attribute id="name">强制性的属性代码
<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="AttributeImage">零或更多实验!图像(限制为4Gb)。仅从iTop 2.3.0开始受支持。属性的名称用作前缀,以命名用于存储数据的列。
<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="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="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="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="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="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">强制性的属性代码
<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="bool|int|float|string|reference">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="AttributeEncryptedString">零或更多一个字符串(仅限于255个字符的一行)以加密方式存储在数据库中。如果存在PHP mcrypt扩展名,则使用“河豚”算法对此类字段进行加密,否则将使用较弱的算法。所有加密字段都依赖于配置文件中定义的主密钥“ encryption_key”(请确保您永远不会丢失它!)。
<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>强制性的信息:timespent, started, laststart, stopped, _deadline, _passed, _triggered, _overrun
<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="AttributeCustomFields">零或更多由定制模块处理的定制字段,是专门开发的。仅从iTop 2.3.0开始受支持。
<handler_class>MyHandler</handler_class>强制性的从CustomFieldsHandler派生的PHP类的名称
<tracking_level>none</tracking_level>可选的调整更改的记录(“历史记录”选项卡)。可能的值:无,全部。默认为“全部”


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



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

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


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

  • default-search:如果未在下面重新定义该列表,则搜索此类或它的子类的对象时用作默认搜索规则。
  • list:显示对象的列表时用作默认列
  • search:用作此类中最受欢迎的搜索规则
标签用法描述
<items>强制性的属性的有序列表
<item id="name">最后一个属性
<rank>123</rank> 强制性的属性在列表中的排名(整数)
刺激物
当对象收到刺激时,将从一个状态到另一状态(对于具有生命周期的对象)的每个转换触发。下表列出了不同类型的刺激:
标签用法描述
<stimulus id="name" xsi:type="StimulusUserAction">最后一个由终端用户决定的功能。刺激显示在操作活动菜单中(如果对象处于将该刺激吸收到账号的状态下
<stimulus id="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_ACTION_READ, UR_ACTION_MODIFY, UR_ACTION_DELETE, UR_ACTION_BULK_READ, UR_ACTION_BULK_MODIFY, UR_ACTION_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="DashboardMenuNode">可选的仪表板。内容可以通过“导出”职能生成。仪表板的内容可以在文件(definition_file)中找到,也可以直接在此处(definition)中找到
<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_ACTION_READ, UR_ACTION_MODIFY, UR_ACTION_DELETE, UR_ACTION_BULK_READ, UR_ACTION_BULK_MODIFY, UR_ACTION_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_ACTION_READ, UR_ACTION_MODIFY, UR_ACTION_DELETE, UR_ACTION_BULK_READ, UR_ACTION_BULK_MODIFY, UR_ACTION_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_ACTION_READ, UR_ACTION_MODIFY, UR_ACTION_DELETE, UR_ACTION_BULK_READ, UR_ACTION_BULK_MODIFY, UR_ACTION_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_action指定的所有权利的用户隐藏。
<enable_action>UR_ACTION_MODIFY</enable_action>可选的以下标志之一:UR_ACTION_READ, UR_ACTION_MODIFY, UR_ACTION_DELETE, UR_ACTION_BULK_READ, UR_ACTION_BULK_MODIFY, UR_ACTION_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>可选的确定如何刷新显示:“无”禁用此特性(默认),“标准”或“快速”根据相应的配置设置定期刷新,或“ 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_contact_id”。
<do_search>1</do_search>可选的如果设置为1,则在页面顶部搜索结果上方显示搜索表单。
<search_form_open>1</search_form_open>可选的如果设置为1-并且do_search也设置为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_ACTION_READ, UR_ACTION_MODIFY, UR_ACTION_DELETE, UR_ACTION_BULK_READ, UR_ACTION_BULK_MODIFY, UR_ACTION_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。无前缀:相对于模块目录
<enable_class>name</enable_class>可选的菜单将绑定到的类。菜单将对未具有由下文描述的enable_功能指定的所有权利的用户隐藏。
<enable_action>UR_ACTION_MODIFY</enable_action>可选的以下标志之一:UR_ACTION_READ, UR_ACTION_MODIFY, UR_ACTION_DELETE, UR_ACTION_BULK_READ, UR_ACTION_BULK_MODIFY, UR_ACTION_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">可选的快捷方式的容器。只能定义一个容器。效果是无法预料的,&#8203;&#8203;因为已定义了此类型的几个菜单!
<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_ACTION_READ, UR_ACTION_MODIFY, UR_ACTION_DELETE, UR_ACTION_BULK_READ, UR_ACTION_BULK_MODIFY, UR_ACTION_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&exec_page=report.php&class=UserRequest&do_filter_my_approvals=on</url>  </menu></menus>功能资助
Grants是定义与给定简档的特定功能关联的权利的基本元素。下表列出了可以“授予”的不同操作活动:
标签用法描述
<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增量中,以定义(或更改)数据模型的本地化。

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

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


模块参数
2.2.0中的新功能

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

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

语法的参数如下:

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

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

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

数组项可以根据其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>

对于没有子子标签的标签,假定字符串为默认类型,而对于有子子标签的标签,默认为hash。

其他模块
模块名称有关配置此模块的参数的详细信息
itop-ticket & itop-config-mgmt配置[  :8082/bin/view/5/5.1/5.1.9/#impact_analyses]影响度分析[/url]
itop-attachments配置[  :8082/bin/view/5/5.1/5.1.9/#attachment]附件[/url]


模块设计
2.3.0的新功能

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

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

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

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

可以通过fileref节点的平均值来指定文件(请参见[  :8082/bin/view/5/5.1/5.1.9/#files]文件部分[/url]),或相对于模块根目录的路径(env-production)。

为定制化,iTop随附的增强,客户,门户引入了此能力。看到客户门户XML引用.


该标签的用法是受限制的 Combodo推动ITSM Designer行为。

它用于以XML形式声明PHP程序中需要由ITSM设计器了解和操纵的东西。

变更记录
XML格式的版本号在根节点<itop_design version=“…”>上设置,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_designnclassessclassspropertiess索引
    • 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 <transition id=“…”>
  • /classes/class/fields/field[@xsi:type=“AttributeStopWatch”]/thresholds/threshold: 已删除子节点的百分比,以便使用节点节点上的ID <threshold id=“…”>
  • /user_rights/profiles/profile/groups/group/actions/action:现在,通过ID直接表示“授予的”功能的类型和名称,属性“ xsi:type”已被删除。


简易版


编辑工单的生命周期十分麻烦,因为状态标志的属性已作为完整的矩阵型给出(例如,要维护的6 x 15 = 90个定义)。尽管这仍然可行,但是现在有另一种选择:定义一个从另一个继承的状态a,以便所有标志都将被继承,并且仅必须明确定义差异。

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

标记Must Prompt和Must变更永远不会从一种状态继承到另一种状态。

突出显示
工单或任何具有生命周期的物品可以在其状态或秒表状态(例如,拥有时间的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/class/fields/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_design/smodule_design[id = xxxxxxx]]…

添加了属性类型:

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

OQL菜单节点的新选项:

  • 添加了 search_form_open选项,以在页面顶部显示搜索表单。


版本1.4

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

为_delta:引入了新的价值。

  • 添加了2个类属性:archive/enabled和obsolescence/condition
  • 在转换上添加了标志
  • 在上添加了多个更改门户XML


版本1.5

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

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






上一篇:二次开发-开发方法-配置废弃规则
下一篇:二次开发-开发方法-XML数据模型引用

写了  篇文章,拥有财富 ,被  人关注

您需要登录后才可以回帖 登录 | 立即注册
B Color Link Quote Code Smilies

成为第一个吐槽的人

Powered by IT 运维管理
返回顶部