跟踪器继承
通过跟踪器继承,用户可以跨项目以及在项目内创建和维护一致且标准化的跟踪器配置设置,例如权限、字段、状态转变、通知和上报规则等。用户可以在模板跟踪器中定义常用设置,并使用模板跟踪器来创建继承这些设置的衍生跟踪器。这样便可减少因单独手动配置各个跟踪器而产生的工作量和错误。通过跟踪器继承,用户还可以经由添加或修改继承的设置来自定义衍生跟踪器。
跟踪器继承概念
跟踪器是指某一类型工作项的容器。跟踪器用于定义其工作项的特性和行为,例如字段、状态、转变、权限、通知和上报规则等。
模板跟踪器:模板跟踪器是一种可供其他跟踪器用作模板的跟踪器。模板跟踪器用于定义由其衍生的跟踪器共享的常用配置设置。
衍生跟踪器:衍生跟踪器是一种从模板跟踪器衍生而来的跟踪器。衍生跟踪器会继承其衍生自的模板跟踪器的配置设置。衍生跟踪器还可以具有其他配置,例如,其自身的结构、关系和行为。可以在衍生跟踪器中重载或改写自模板跟踪器继承而来的设置。
继承:继承是衍生跟踪器继承其模板跟踪器的配置设置的一种机制。继承的设置包括权限、状态转变、字段、上报规则 (若指定) 和通知等。
|
|
不会继承在跟踪器配置的“常规”选项卡上指定的常规跟踪器配置设置,例如名称、键、颜色等。
|
多层继承:多层继承是指跟踪器仅支持从单个模板继承,不过是在多个层级上进行继承。从模板跟踪器衍生而来的跟踪器可用作下一级跟踪器的模板,以此类推。这可以发展成为多层场景,层数不受限制。模板跟踪器的配置变更会逐层传递到所有直接或间接衍生跟踪器。
跟踪器继承功能
• 通过跟踪器继承,用户可以跨项目创建和管理跟踪器。通过跟踪器继承,用户还可以经由添加或修改继承的设置来自定义衍生跟踪器。用户可以在模板跟踪器中定义常用设置,并使用模板跟踪器来创建继承这些设置的衍生跟踪器。这样便可减少因单独手动配置各个跟踪器而产生的工作量和错误。
• 通过跟踪器继承,用户还可以根据其特定需求,自定义衍生跟踪器。用户可以向衍生跟踪器中添加新字段、状态、转变、权限、通知和上报规则。用户也可以在衍生跟踪器中重载或改写模板跟踪器的继承设置。
• 跟踪器继承为用户管理跟踪器配置赋予一定的灵活性和可扩展性。用户可以随时修改模板跟踪器的配置设置,变更会自动传播到所有衍生跟踪器。
创建模板跟踪器
要创建模板跟踪器,请执行以下操作:
1. 选择 Codebeamer 项目。
2. 选择“跟踪器”选项卡。
3. 单击左侧窗格中的

,创建新的跟踪器。
4. 确保在“添加新跟踪器”页面上选中“可用作模板”复选框。
按照创建跟踪器的其余步骤执行操作。有关详情,请参阅
创建跟踪器。
同样,如果已创建跟踪器,则可以通过在“常规”选项卡上选中“可用作模板”复选框,将跟踪器设置为可用:
例如,可以将
从流程 (工作项) 为子流程创建分叉中的“批准”跟踪器用作模板跟踪器。
创建衍生跟踪器
要创建衍生跟踪器,请执行以下操作:
1. 选择 Codebeamer 项目。
2. 选择“跟踪器”选项卡。
3. 单击左侧窗格中的

,创建新的跟踪器。
4. 从“模板”下拉列表中,选择一个跟踪器。
5. 确保在“添加新跟踪器”页面上选中“继承模板配置”复选框:
在本示例中,模板跟踪器 (“批准”) 来自同一项目 (“工作流演示”),我们将在此创建新的衍生跟踪器。不过,您可以从有权访问的任何项目中的任何模板跟踪器创建衍生跟踪器。模板跟踪器可以位于一个项目中,而衍生跟踪器可以位于另一个项目中。
要使新跟踪器继承“批准”跟踪器的配置,需确保选中“继承模板配置”复选框。否则,新跟踪器将获得“批准”跟踪器的快照副本,但不会继承。
也可以选择选中“可用作模板”复选框,将新衍生跟踪器标记为可用作模板。这样,跟踪器模板的继承层次结构的深度不限。
创建模板项目
可以将整个项目标记为可用作模板,而不是将单个跟踪器标记为可用作模板。通过选中“常规”选项卡下的“可用作模板”复选框,可以将现有项目标记为模板。
例如,可以将
从流程 (工作项) 为子流程创建分叉中的示例项目设置为
“可用作模板”:
然后,可以基于模板项目创建新项目:
单击“下一步”,选择要复制或继承的模板项目的组件:
对于每个工作项或配置项跟踪器,可以单独决定是在新衍生项目中包括此跟踪器以及跟踪器项,还是继承模板跟踪器配置。
例如,下图所示为从“工作流演示”项目衍生的“工作流演示 2”项目的表示:
| 项目之间不存在持久的继承链接,而只有各个项目跟踪器之间存在。 |
改写继承设置
衍生跟踪器可以改写继承设置,还可以添加模板中不存在的跟踪器相关设置。可以将衍生跟踪器中继承设置的值更改为与模板中的值不同的值。
模板中设置的字段依存关系用于衍生跟踪器。
移除改写的设置并恢复继承的设置
如前面几个部分中所述,可以改写某些衍生跟踪器设置。可以恢复此类设置,并使其设置为遵循原始模板跟踪器中的配置。项目管理员可以恢复继承所有配置设置。
保存衍生跟踪器配置时,Codebeamer 会将每项设置与模板跟踪器中的相应设置进行比较。只有那些被改写且因此与模板跟踪器不同的设置才会保存在衍生跟踪器配置中。相同的设置会被忽略。
要恢复继承,需编辑衍生跟踪器的配置设置,使其与模板跟踪器的配置设置匹配,并再次保存衍生跟踪器配置。恢复继承,这意味着将重置对衍生跟踪器中配置设置的改写,衍生跟踪器将恢复采用模板跟踪器中的配置。
如果模板跟踪器和衍生跟踪器中的相同设置同时发生更改,则优先采用衍生跟踪器中的设置。
但是,在某些情况下,错误的定义顺序可能会导致非预期行为,例如:
1. 您首先更改衍生跟踪器上的继承值,从而将此更改存储为值替代。
2. 然后,您对模板跟踪器进行了相同的更改。
尽管目前衍生跟踪器的值与模板的值完全相同,但衍生跟踪器的值并不会被继承,而仍会被改写。
虽然更改模板跟踪器在技术上是可行的,但可能会导致不一致,甚至可能会屏蔽基线中的跟踪器数据。因此,在执行生产变更之前,必须先对模板跟踪器进行更改,然后再在测试环境中全面测试由变更带来的影响。
有关基于配置类型的继承的详情,请参阅后续部分。
跟踪器权限
跟踪器级别权限是继承权限,因此,可针对每个被授予者 (角色或成员字段值) 进行改写。
下图所示为“工作流演示”项目中的改写示例。“跟踪器 - 订阅”权限的“项目干系人”角色已被清除。
类似地,也可以改写其他权限。
如果模板跟踪器和衍生跟踪器存在于不同项目中,则衍生跟踪器不会继承模板跟踪器中 (在项目级别设置的) 其他角色的权限设置。同样,包含衍生跟踪器的项目中的其他角色不受继承的影响。衍生跟踪器仅会继承模板跟踪器与衍生跟踪器之间共有的角色。例如,如果两个项目中都存在“开发人员”角色,则包含衍生跟踪器的项目会继承该角色。
如果在模板项目中创建一个与衍生项目中的角色同名的角色 (反之亦然),不会自动更新衍生跟踪器中的权限。这是因为此类操作会改写衍生跟踪器中的现有权限。
| 用户可以删除衍生跟踪器中的继承字段,并且可以改写字段权限,因此无人可以查看或使用该字段。 |
跟踪器字段
继承所有跟踪器字段设置,且可以根据配置设置来单独改写这些字段设置。可以单独添加或移除共享字段。在“值为必需的状况”中添加或移除状况,这一操作被视为对此特定状况的改写。更改“全部,指定项除外”复选框的设置,这会改写所有状况值。
对于字段,可以改写如下所示的继承设置:
• 位置
• 标签
• 标题
• 列表 (可列出)
• 必需
• 最小值/最大值
• 分布/聚合规则
• 选择选项
• 引用筛选器
• 特定状况的允许值/默认值
• 权限 (针对特定状况、特定参与者或特定角色)
改写跟踪器字段后,如果为衍生字段属性设置的值与在相应模板跟踪器字段属性中配置的值相同,会恢复继承。
对于跟踪器字段权限,如果在衍生字段中更改了任何访问权限,不会从引用的跟踪器字段继承该访问权限。例如,如果跟踪器字段的开发人员角色权限发生更改,不会从引用的跟踪器字段继承这些权限。
同样,对于跟踪器字段权限,如果在衍生字段中更改了访问类型,不会从引用的跟踪器字段继承该访问类型。例如,如果衍生跟踪器中的“严重性”字段访问类型从“单个”更改为“等同于”,引用的跟踪器不会继承模板跟踪器的任何变更。
引用字段
本部分适用于工作项或配置项被配置为“数据源”的 "choice" 类型引用字段。
继承配置时,Codebeamer 会根据以下规则,将配置的目标跟踪器重定向到同一项目中的跟踪器:
• 具有相同名称的衍生跟踪器。
• 衍生跟踪器。
• 具有相同名称的跟踪器。
如果生成的目标跟踪器不包含模板中配置的筛选器,则投影后不会选择任何筛选器。
添加或移除引用字段的配置目标,或者更改引用筛选器,这会改写整个引用目标的配置。这意味着,对模板中字段的引用目标所做的变更并不会反映在衍生跟踪器中。系统不会将引用目标投影所产生的变更视为修改。
更改引用筛选器的条件会改写或修改目标跟踪器中的筛选器。
如果筛选器已从目标跟踪器的模板继承或通过其他方式进行了修改,则会改写引用筛选器。修改适用于使用了相同引用筛选器的所有跟踪器。更改引用筛选器的名称会创建新的筛选器,而不会改写现有筛选器。
不能删除改写的引用筛选器。试图删除筛选器会从引用筛选器恢复继承。
有关“引用重定向”部分的详情,请参阅下面的部分。
引用重定向
在上一示例中,“工作流演示”与“工作流演示 2”项目之间的继承图示展示了跟踪器之间引用继承的一个重要功能。
下面所示为使用了重定向的启用引用继承示例。
假定跟踪器 AD 衍生自跟踪器 A,同时假定跟踪器 A 具有指向跟踪器 B 的引用 X (A->B)。
与衍生跟踪器 AD 类似,衍生跟踪器 BD 与跟踪器 AD 存在于同一项目中。跟踪器 BD 衍生自与跟踪器 A 存在于同一项目中的跟踪器 B。
由于存在引用 X (A->B),衍生跟踪器 AD 将具有类似的引用 AD->B。由于存在原始引用 A->B,衍生跟踪器将具有类似的引用 X (AD->BD)。优先采用衍生跟踪器引用,引用 X (AD->BD) 将改写较早的引用 AD->B。
另一个示例可能是同样的场景:AD 衍生自跟踪器 A。但是,在模板项目页面的
“选择要从项目复制的组件”中未选择 B。因此,衍生项目中不会存在 BD,但会存在原始引用 AD->B。有关
“选择要从项目复制的组件”选项的详情,请参阅
通过模板项目创建项目。
“批准”跟踪器的“主题”字段引用了“过程”跟踪器。“主题”字段类似于前述的引用 X。“工作流演示 2”中的“批准”跟踪器衍生自“工作流演示”->“批准”,“过程”跟踪器衍生自“工作流演示”->“过程”。将覆盖“工作流演示 2”中“批准”跟踪器的“主题”字段,以引用“工作流演示 2”->“过程”中的“主题”字段。
使用了重定向的引用继承也适用于其他可继承跟踪器设置:
选择字段
本部分适用于具有配置选择选项列表的 "choice" 类型引用字段。
添加、移除 (标记为“已弃用”) 或修改引用的选择选项字段会改写引用的选择选项字段。改写的选择选项字段不会从模板继承任何变更,但如果从模板中删除该字段,则该字段会被删除。
| 选择选项字段中名称与模板跟踪器选择选项字段中的名称类似的选项将被隐藏,且在呈现选择选项字段时不会显示。 |
字段访问权限
字段级别访问权限是继承权限,因此,可针对每个字段在各个单独权限设置的级别进行改写。这意味着,在保持继承其他被授予者和状况权限的同时,可以改写各个被授予者和状况的设置。
在继承中,字段级别访问权限优先于角色权限。通常,字段可访问性取决于字段的角色权限。如果模板或父项跟踪器中的字段类型发生更改,则该变更将反映在衍生跟踪器的字段类型中。即使角色没有变化,这也会因为字段类型的变化而影响对衍生跟踪器中字段的访问。
允许值和默认值
添加或移除允许值,或者更改特定状况的默认值,这会改写该状况的配置。因此,对模板中的允许值和默认值所做的变更,不会反映在已改写状况的衍生跟踪器中。
允许值和默认值列表仅显示衍生跟踪器中有效的值,即使模板使用其他值也是如此。省略无效值,这一操作不会被视为对允许值和默认值的改写。
字段依存关系
字段依存关系在衍生跟踪器中继承,因此,可以在衍生跟踪器中进行改写。改写适用于所有规则,而不适用于单个规则。
静态依存关系列表仅显示衍生跟踪器中有效的值,即使模板使用其他值也是如此。省略无效值,这一操作不会被视为对依存关系的改写。
动态引用依存关系的规则引用了跟踪器。在衍生跟踪器中,根据“引用字段”一章中所述的规则,对目标进行重定向。不会显示衍生跟踪器中无效的规则。在规则中重定向跟踪器和省略无效规则,这一操作不会被视为对依存关系的改写。
计算字段
计算字段继承自模板跟踪器,因此可以被改写。
针对模板跟踪器中的计算检测到的依存关系由衍生跟踪器继承,并根据为引用字段定义的规则,映射依存关系中的跟踪器。改写计算也会停止继承依存关系。
| 如果引用配置的相关部件已被修改,则继承依存关系可能会产生非预期结果,因为继承的映射依存关系与衍生跟踪器中计算的实际依存关系不匹配。 |
工作流
状态转变、状态进入、状态退出和变更处理器等工作流事件均继承自模板跟踪器。可以在衍生跟踪器中改写工作流事件的单个设置。为工作流事件配置的角色是继承角色,因此,可针对每个角色进行改写。
可通过更改为防护定义的条件来改写防护。试图删除被改写的防护会恢复该防护的继承。
同样的情况也适用于“变更处理器”的变更筛选器以及“操作”的条件。
分配给工作流事件的操作将被继承。可以单独改写操作设置。对于用来处理被引用项或引用项的操作,引用配置的覆盖方式与引用字段配置的覆盖方式相同。
上报规则
筛选条件和上报规则继承自模板跟踪器,因此可以被改写。改写筛选器会停止传播模板中的条件变更。改写上报规则会停止传播模板中的所有规则设置。
无法删除模板中定义的继承筛选器和上报规则。删除规则会恢复继承。可通过删除衍生跟踪器中的筛选器来重置对筛选器的改写。这会根据模板跟踪器重置筛选器及关联的上报规则。
同样,可通过删除上报规则来重置对上报规则的改写。
| 改写筛选器或规则会改写所有现有规则。更改名称并不会导致改写,但会创建新筛选器。 |
通知
被配置为接收“任何通知”或“状况变更通知”的收件人 (角色和成员) 继承自模板。被配置为收件人的单个用户不会从模板继承。
可针对为特定事件配置的每个收件人,改写通知。
有关
Codebeamer 3.0 版本中引入的继承相关变更,请参阅
继承行为变更。