关键自定义点
在自定义这些工作流时,必须牢记以下关键点。
锁定/解锁升级目标
您会发现,在上方工作流中可以看到两个“条件”路由器。这两个路由器用于处理重要任务。
其中一个用来锁定目标的作业。升级目标可以是部件、CAD 文档、文档等。这些升级目标可以与具有锁定转变的生命周期关联。如果是这样,那么要在审阅升级请求之前将目标移至所需锁定状态,并且锁定转变以所需锁定状态作为结束状态存在,则必须先锁定这些目标,然后才能将审阅任务触发至升级审阅团队成员。
用于锁定的预设条件表达式与以下代码片段类似:
wt.maturity.PromotionNotice pn =
(wt.maturity.PromotionNotice)primaryBusinessObject;
try
{
wt.maturity.MaturityServerHelper.service.lockTargets( pn );
result = "Accepted";
}
catch( Exception wte )
{
result = "Rejected"; // send notification to owner
}
在包括要审阅的任务之前,自定义工作流也应具有类似的锁定机制。
第二个条件是目标的实际升级,其代码如下所示:
wt.maturity.PromotionNotice pn =
(wt.maturity.PromotionNotice)primaryBusinessObject;
try
{
wt.maturity.MaturityServerHelper.service.promoteTargets (pn);
result="Approved";
}
catch (wt.maturity.MaturityException me)
{
result="Rejected";
}
promoteTargets API 还会在升级目标之前负责解锁目标的进程。此类解锁机制也应合并到自定义工作流中。
审阅升级请求活动
应包括在工作流中的任务必须是“升级请求任务”类型。在工作流程中定义审阅活动时,此特殊任务类型将以下拉菜单的形式提供。
升级请求团队模板中的所有者角色
必须严格遵循的另一个重要规则是在将用于升级请求的团队模板中包含“所有者”角色。所有者角色是 PR 工作流中许多活动和自动机的参与者。