自定义的可配置链接收集
要添加除 SampleConfigurableLinksCollectionDefinitions.xml 文件中所提供的定义之外的收集定义,请按照下面所述的步骤进行操作:
1. 定义可配置链接收集
2. 指定可配置链接收集执行顺序
3. 创建自定义收集工具
4. 向 Windchill UI 添加可配置链接收集定义
步骤 1:定义可配置链接收集
1. 从 {install_home}\codebase\com\ptc\core\collectionsrv\config 位置打开 SampleConfigurableLinksCollectionDefinitions.xml 文件。
|
要避免数据损坏,请在编辑前创建 SampleConfigurableLinksCollectionDefinitions.xml 文件的备份。
|
2. 通过复制现有的 CollectionDefinition 部分来添加新的 CollectionDefinition 部分。
3. 在 CollectionDefinition 的 Declare 子部分编辑以下标记:
a. CollectionDefinition name - 收集定义的标识符。
b. CollectionDefinition 类型 - 唯一的数值。为避免编号冲突,建议依序使用数字。
c. Description - 关于收集定义。
d. ClassAttribute name - 属性的标识符。
e. ClassAttribute class - 从 Windchill 中的“类型和属性管理”实用程序获取的属性的 Windchill 内部名称。
示例如下:
| 在 Declare 中定义的每个属性都必须在 CollectionDefinition 内的 Retrieve 中进行链接。 |
步骤 2:指定可配置链接执行顺序
1. 从 {install_home}/codebase/com/ptc/core/collectionsrv/config 位置打开 SampleConfigurableLinksCollectionExecutionOrder.xml。
2. 在 SampleConfigurableLinksCollectionExecutionOrder.xml 文件中添加新建的收集定义名称。收集 reference_to_collection_name 标记中的值必须与 CollectionDefinition 文件中为 SampleConfigurableLinksCollectionDefinitions.xml 名称指定的值相匹配。
示例如下:
| 如果新添加的收集定义没有特定的收集优先级,则建议将其添加到列表的末尾。 |
步骤 3:创建自定义收集工具
1. 从 {Install_Home}\codebase\com\ptc\core\htmlcomp\collection 打开 CollectionComponentConfig.xml 文件。
2. 复制 CollectionTool 标记下的内容。
CollectionTool 标记的示例如下:
3. 打开位于 {Install_Home}\codebase\com\ptc\core\htmlcomp\collection\ 的 CustomCollectionComponentConfig.xml 文件。
4. 将从 CollectionComponentConfig.xml 文件中复制的内容粘贴到 CustomCollectionComponentConfig.xml 文件的 CollectionToolsDefinition 标记下。
5. 在 CustomCollectionComponentConfig.xml 文件中,编辑 CollectionTool id 的值使其具有唯一的名称。例如,My_New_COLLECT_CONFIG_MASTERS_LINK_PARENTS。
6. 请注意,CollectionTool 部分包含多个用于收集的标记。创建其中一个 Collection 标记的副本,并编辑 collectionServiceKey 和 collectedAsKey 的值。
示例如下:
| 为 collectionServiceKey 和 collectedAsKey 指定的值必须与 SampleConfigurableLinksCollectionDefinitions.xml 文件中的 CollectionDefinition 名称和类型的值匹配。 |
7. 保存该文件。您的自定义收集工具现已创建完毕。
步骤 4:向 Windchill UI 添加可配置链接收集定义并移除未使用的收集使用工具
创建收集工具后,必须将更改推送至 Windchill,以使其显示在用户界面中。
要推送更改,
1. 打开 CustomCollectionComponentConfig.xml 文件。
2. 在 CollectionInstances 部分下,通过复制现有部分来创建新的 CollectionComponentInstance 部分。
示例如下:
3. 更新以下值:
◦ parentCollectionComponentID - 收集工具实例 ID。这是您想要添加自定义工具的 Windchill UI 的 ID。打开 Windchill UI,然后按 F12 键以获取 ID。
| 要验证您的自定义工具而不将更改推送到 Windchill,请将 parentCollectionComponentID 的值指定为 ConfigLinksCollectionCompExample。成功验证后,将 parentCollectionComponentID 的值替换为要添加收集工具的用户界面的值。 |
◦ CollectionToolUsage id - 现有收集工具 (按钮) 的 ID。您可以在位于 {Install_Home}\codebase\com\ptc\core\htmlcomp\collection 的 CollectionComponentConfig.xml 文件中找到这些 ID。例如,在 ConfigLinksCollectionCompExample 部分下,您可以找到示例 UI 的八个 CollectionToolUsage ID。
◦ defaultCollectionToolOptionId - 默认情况下,defaultCollectionToolOptionId 的值为 None。要自动收集对象,可将其更改为 InitiallySelected。
◦ RemoveCollectionToolUsageId - 要移除的收集工具 (按钮) 的 ID。您可以在位于 {Install_Home}\codebase\com\ptc\core\htmlcomp\collection 的 CollectionComponentConfig.xml 文件中找到这些 ID。例如,在 ConfigLinksCollectionCompExample 部分下,您可以找到示例 UI 的 RemoveCollectionToolUsage ID。这样会从 Configurable Reference Link Children 中移除收集按钮。
| • 只有在方法服务器停止并重新启动时,所做更改才会应用到 UI。 • 如果您同时有“添加”和“移除”UI,则系统始终会移除该控件,因为移除始终在最后执行。在移除前,系统会处理此文件中带有 CollectionToolUsageId 的添加内容。移除收集的优先级较高。 • 在用户访问 UI 后应用首选项,而不是在启动服务器后立即应用。 • 移除组只会移除 UI 中的组按钮,而不会移除单独的收集工具。如果还要移除单个工具,则需添加其他 removeCollectionToolUsage 语句。 • 建议不要移除相关 CollectionToolUsage,因为某些 WorkGroup Manager 交互需要用到它。 |