与传播更改关联的问题
与传播更改关联的很多问题都涉及已移动和重命名的成员,以及已移动的子项目。问题可分为两类:
• 源中的成员或子项目已移动或重命名时,在目标中找出对应的成员或子项目
• 发生多项移动操作时,以最恰当的顺序处理条目(对于嵌套移动子项目操作尤为重要)
源成员或项目已移动或重命名时,在目标中找出对应的成员或子项目
下面是对 Windchill RV&S 用来找出给定更改包条目的目标项目的流程的一般说明:
1. 给定拥有更改包条目的源项目的路径,Windchill RV&S 将确定目标项目(此项目的其他变型)是否已存在于目标层次结构中。如果目标项目已存在,则将其用作目标。
2. 如果目标项目不存在,则查看源项目是否仍可见(已注册);换言之,源项目尚未被移动或删除。如果源项目存在,请在目标层次结构中创建相应的变型子项目。
3. 如果源项目不存在,则可能是因为它已被移动。移动后,使用在更改包条目中编码的配置路径来尝试寻找源项目的位置。如果 Windchill RV&S 找到源项目,请在目标项目树中查找或创建对应的项目。
4. 如果前几次尝试均失败,则不再做进一步的尝试。Windchill RV&S 找不到要将更改传播到的目标项目。您必须手动执行传播。
|
本小节是对 Windchill RV&S 所使用的逻辑的主要简化,仅用来提供该流程的一般构想。超出本文档范围的许多详细信息已予以省略。
|
5. 找出目标项目后,Windchill RV&S 会尝试在需要将更改传播到的目标项目内查找目标成员或子项目。
对于除移动和重命名之外的所有操作,Windchill RV&S 会在目标项目树中查找与源项目树中的成员(或子项目)同名的成员(或子项目),在此过程中,会校验成员或项目是否具有相同的支持存档或项目。如果 Windchill RV&S 找到对应的目标,则会进行相应的更新。否则,Windchill RV&S 会将成员(或子项目)添加至目标项目树(指向同一个支持存档或项目)。
对于移动和重命名操作,Windchill RV&S 服务器会遵循与其他操作相同的基本流程,但此外,Windchill RV&S 服务器也知道移动或重命名操作的“来源”和“目标”名称,因此搜索目标时更加智能。
存在多个移动操作时以最佳顺序处理条目
如前文所述,Windchill RV&S 通常会按时间顺序检查存储段中的条目,较早的条目会先处理。
|
Windchill RV&S 不会按顺序传播更改。它会按顺序检查这些更改,以针对该存储段生成单一净结果。
净结果按照所属的父项目分组,而且对应的操作会在任何可能的情况下,在 Windchill RV&S 服务器上作为单一批量操作针对每个父项目执行。
如果正在传播的操作跨越多个项目(子项目),则 Windchill RV&S 服务器将以最佳顺序来处理每个项目对应的批量操作。系统使用配置路径信息来排序项目(或子项目)的处理,因此,如果它们在同一个层次结构中,则会先处理父项目,再处理其子级子项目。经验表明,在传播复杂的子项目重构方案(例如,多次移动嵌套子项目)的情况下,这种方式能提供更好的结果。
|