为对象设置基于列表或基于状态的版本控制
默认的哈佛序列版本控制方案在站点级别设置,并随后在组织、产品和存储库级别使用,除非将其覆盖。加载的一个上下文模板 (演示“产品设计”模板) 会将部件、文档和 CAD 文档的版本控制设置为基于状态的版本控制。此外,新创建的上下文模板可设置基于列表或基于状态的版本控制;但是,PTC 建议您通过在站点级别设置方案,为所有组织、产品和存储库设置相同的版本控制方案。
在上下文模板 XML 文件中,可将您希望用于每一对象类型的版本控制指定为该对象类型的相应 <TypeBasedRule> 标记中的一个元素。例如,在“产品设计”模板 XML 文件中,以下示例 <AttrValue> 标记会将部件的版本控制设置为 StateBased (在加载的出厂设置版本控制 XML 文件中设置的序列):
<TypeBasedRule>
<EngineRule isDefault="false" enabled="true">
<ruleName>Part</ruleName>
<ruleSpecification><![CDATA[
<AttributeValues objType="wt.part.WTPart">
:
:
<!-- set the version info to a generated version info -->
<AttrValue id="MBA|versionInfo" algorithm="com.ptc.core.foundation.vc.server.
impl.VersionInfoGenerator">
<Arg>wt.series.HarvardSeries.myVersionSeries</Arg>
</AttrValue>
</AttributeValues>
]]></ruleSpecification>
<ruleType type="INIT"/>
</EngineRule>
<className>wt.part.WTPart</className>
</TypeBasedRule>
在此示例中,部件的版本控制设置为 wt.series.HarvardSeries.myVersionSeries。版本控制代码会检查是否存在 wt.series.HarvardSeries.myVersionSeries 特性,如果未找到这些特性,它将在加载的基于列表或基于状态的版本控制方案中查找名为 myVersionSeries 的序列。本示例假设已加载的基于列表或基于状态的方案包含序列名 myVersionSeries。
此外,还可以通过在您希望发生变更的上下文内使用“对象初始化规则管理”实用程序将版本控制变更为基于列表或基于状态的版本控制。但是,所有更改都应在使用产品或存储库前进行。更改已经使用的值可能在版本更新时导致不可预见的结果。
用于在对象初始化规则中设置基于列表或基于状态的版本控制的 <attrValue> 标记格式与
定义对象初始化规则所使用的 XML 文档的内容 中先前显示的格式相同。有关使用“对象初始化规则管理”实用程序的详细信息,请参阅
访问对象初始化规则管理实用程序。
对于基于状态的方案,还需要设置用于在生命周期模板中定义生命周期阶段的种子。有关详细信息,请参阅
生命周期阶段中的
“版本序列”特性。