红线管理
管理员可通过设置 wt.change.enableChangeIntent 特性来启用红线功能。当此特性设置为 true 时,系统会启用红线的创建,此时红线功能可用。当此特性设置为 false (默认值) 时,系统会禁用红线的创建,并且红线功能不可用。
请根据下列核对清单准备系统,使其适合使用红线功能:
• 定义并配置要用于红线的生命周期模板。
Windchill 提供了预置生命周期模板。无论使用何种生命周期模板,都需要进行 OIR 配置。必须根据生命周期模板的定义以及将要用于红线的所需业务流程来建立支持访问控制策略。
• 定义红线修订版本标签。
红线从正在用于计划更改的已发布修订版本获取其修订版本标签。将修订版本标签前缀和序列号分配给为特定的已发布修订版本创建的各个红线。可由管理员配置对修订版本标签前缀的选择。
• 为特定类型的对象定义有效的发布状态。
通过任意对象的已定义发布状态集可确定版本何时可以具有红线以及何时会同步版本。
• 定义更改通告的待实施状态。
必须添加新的生命周期状态,以表示已计划、已批准和准备实施的更改通告的暂存区域。采用“待实施”状态的更改通告使用“开始执行”操作来触发更改通告在其工作流中的实施。您应在更改通告的“类型和属性管理”实用程序中手动设置“待实施”状态字段中的状态。
• 在“受影响对象”表格中呈现红线属性。
必须将新的红线属性合并到“受影响对象”表格、更改通告的“更改汇总”表格和审计更改通告的“审计更改汇总”表格的所需视图中。此外,最好将“更改意图”属性也包含在这些表格中。
• 将更改意图值映射到发布目标。
更改意图值可映射到在发布相应产生的对象时应分配的特定发布目标。
• 调整更改通告工作流。
更改通告工作流需要进行一些调整,以定义如何使用红线来计划更改通告,以及这些更改通告应在工作流的哪个阶段获批。此外,任何返工或优化步骤都可能要求重置红线的状态以便进行修改。
◦ 增强自定义工作流。
要激活红线操作,必须向自定义工作流添加布尔型全局工作流变量 isRedlineSupported,并为其添加 true 值。否则,如果没有此变量,则旧工作流不会显示红线操作。
必须使用 Release Changeables 自动机或 WorkflowProcessHelper.releaseChangeables API 来发布受影响对象,以启动同步。
必须使用 WorkflowProcessHelper.setChangeRedlineState API 来管理工作流中红线的状态,例如,用于添加红线的“批准”、“优化”(重置为工作状态) 以及“取消”路径的工作流。
必须定义“对象发布状态”映射规则才能触发同步。
定义对象发布状态映射规则
“对象发布状态”映射规则可将受影响对象类型映射到已发布状态。此映射规则可控制红线的创建。
当 wt.mappingRules.enableOrganizationRules 特性设置为 true 时,可从组织上下文中找到“映射规则”表格。默认情况下,此特性设置为 false。组织上下文规则优先于站点上下文规则。
有关如何定义
“对象发布状态”映射规则的详细信息,请参阅
定义更改管理的映射规则中的“对象发布状态”部分。
使用“红线版本前缀”首选项
要命名红线,请使用组织和站点级别提供的“红线版本前缀”首选项。此首选项可用于指定要应用为红线版本标签前缀的文本。对于红线,PTC 建议您将此首选项设置为 Chg-。为部件创建红线时,红线名称会显示此前缀以及从中创建红线的已发布修订版本。例如,如果部件的名称为 "Engine",且修订版本为 A.1,则当您为此部件创建红线时,红线名称会显示为 "Engine Chg-A-1.0"。
您可以从以下启动点查看此首选项:
• > > > >
• > > > >
使用红线生命周期模板
红线生命周期模板是为红线创建的默认生命周期模板,它具有
“正在工作”、
“已批准”和
“已取消”状态。红线生命周期模板为预置模板。如果要将此模板用于针对 WTPart 的自定义对象初始化规则 (OIR) 的红线,则必须更新 WTPart 的 OIR。有关如何更新 OIR 的详细信息,请参阅
红线管理的“更新红线的对象初始化规则”。
更新红线的对象初始化规则
本主题提供了有关自定义 WTPart 的现有对象初始化规则的示例。要将单独的生命周期模板分配给红线,必须对红线更新 WTPart 的对象初始化规则。以下是更新对象初始化规则的示例:
<!-- set the lifecycle -->
<AttrValue id="adhocVersionInfo" algorithm="wt.rule.algorithm.StringConstant">
<Arg></Arg>
</AttrValue>
<AttrValue id="lifeCycle.id" algorithm="com.ptc.core.foundation.lifecycle.server.impl.LifeCycleTemplateAttributeAlgorithm">
<Value algorithm="wt.rule.algorithm.CaseBranch">
<Value algorithm="wt.rule.algorithm.StringEqualsTest">
<Attr id="adhocVersionInfo"/>
<Arg>adhoc</Arg>
</Value>
<Arg>Redline Life Cycle</Arg>
<Arg>Basic</Arg>
</Value>
</AttrValue>