高级自定义 > 业务逻辑自定义 > 自定义 MPMLink > 利用“对象初始化规则”自定义 MPMLink 高级生命周期管理
  
利用“对象初始化规则”自定义 MPMLink 高级生命周期管理
在已使用“具有高级生命周期管理的 MPMLink 产品”应用程序上下文模板创建的“产品”“存储库” 上下文中,对象初始化规则可用于根据创建部件时所选的视图指定新部件的生命周期模板。下列步骤介绍了如何使用对象初始化规则根据创建部件时所选的视图来指定将哪些生命周期模板分配给新部件。
要完成此步骤,需要在站点级别创建自定义视图,而这需要站点管理员访问权限。此外,必须在应用程序上下文级别创建一个自定义生命周期模板,这需要生命周期管理员或应用程序上下文管理员访问权限。
过程
要设置对象初始化规则来指定新部件的生命周期模板:
1. 首先,创建要使用的自定义视图和生命周期模板。
a. 作为站点管理员,导航至“站点” > “实用程序” > “视图管理”,并创建新的视图。
b. “产品”“存储库”上下文中,导航至“实用程序” > “生命周期模板管理”,并创建基本生命周期模板。或者,对现有模板使用“另存为”
* 
只有使用“具有高级生命周期管理的 MPMLink 产品”应用程序模板创建的“产品”“存储库”上下文才支持此配置。
2. 编辑 MPMLink 部件对象初始化规则以指定之前创建的视图和生命周期模板。
a. “产品”“存储库”上下文中,导航至“实用程序” > “对象初始化规则管理”
b. 右键单击 MPMLink 部件规则,然后选择“下载”。在简单文本或 XML 编辑工具中打开已下载的文件。该文件包含以下 XML 代码:
<AttributeValues objType="wt.part.WTPart">
<!-- set the lifecycle -->
<AttrValue id="lifeCycle.id" algorithm="com.ptc.core.foundation.lifecycle.
server.impl.LifeCycleTemplateAttributeAlgorithm">
<Value algorithm="com.ptc.windchill.mpml.algorithm.
ViewToLifeCycleAlgorithm">
<Attr id="view.id"/>
<!-- name of the default lifecycle to use -->
<Arg>
<?loc-begin key="BASIC_LIFECYCLE_STATE" match=
"commonLifeCycles.xml:BASIC_LIFECYCLE_NAME" maxlen="30"?>Basic<?loc-end?>
</Arg>
<!-- view name to override lifecycle of -->
<Arg>Manufacturing</Arg>
<!-- lifecycle to override for paired view name -->
<Arg>
<?loc-begin key="MANUFACTURING_LIFECYCLE_STATE" match=
"MPMLinkLifeCycles.xml:MANUFACTURING_LIFECYCLE_NAME" maxlen="30"?>
Manufacturing<?loc-end?>
</Arg>
</Value>
</AttrValue>
</AttributeValues>
c. 在一对自变量标记中添加视图和生命周期模板名称。在此示例中,视图和生命周期的名称为:
<Arg>CustomViewName</Arg>
<Arg>CustomLifecycleName</Arg>
必须在最后一个自变量标记之后添加这些行。以下示例中包括这些标记。
<AttributeValues objType="wt.part.WTPart">
<!-- set the lifecycle -->
<AttrValue id="lifeCycle.id" algorithm="com.ptc.core.foundation.lifecycle.
server.impl.LifeCycleTemplateAttributeAlgorithm">
<Value algorithm="com.ptc.windchill.mpml.algorithm.
ViewToLifeCycleAlgorithm">
<Attr id="view.id"/>
<!-- name of the default lifecycle to use -->
<Arg>
<?loc-begin key="BASIC_LIFECYCLE_STATE" match=
"commonLifeCycles.xml:BASIC_LIFECYCLE_NAME" maxlen="30"?>Basic<?loc-end?>
</Arg>
<!-- view name to override lifecycle of -->
<Arg>Manufacturing</Arg>
<!-- lifecycle to override for paired view name -->
<Arg>
<?loc-begin key="MANUFACTURING_LIFECYCLE_STATE" match=
"MPMLinkLifeCycles.xml:MANUFACTURING_LIFECYCLE_NAME" maxlen="30"?>
Manufacturing<?loc-end?>
</Arg>
<Arg>CustomViewName</Arg>
<Arg>CustomLifecycleName</Arg>
</Value>
</AttrValue>
</AttributeValues>
对象初始化规则 XML 文件必须始终具有一个针对默认生命周期的自变量,恰好两个针对每个待添加映射的自变量:视图名称和生命周期模板名称。如果生命周期名称无需进行本地化,则将省略包含 <?loc> 本地化字符串的 <Arg> 自变量标记。否则,需要为每一个生命周期名称添加本地化自变量标记。
d. 将 XML 文件保存至本地驱动器。
e. “对象初始化规则”页面中,右键单击 MPMLink 部件规则,然后选择“编辑”。将打开“编辑对象初始化规则”窗口。在“XML 文件”字段中,单击“浏览”并选择存储于本地驱动器上的已编辑 XML 文件。单击“确定”
3. “产品”“存储库”中创建新部件,以确认对象初始化规则在使用指定视图创建对象时是否正确应用了所需的生命周期模板。在此过程的示例中,通过视图 "CustomViewName" 创建的部件将会分配至 "CustomLifecycleName" 生命周期模板。
有关详细信息,请参阅制造生命周期指定规则