预定义作用域

每个预定义的“Save Offline and Delete”作用域是在 CCM_HOME\soadf 目录(Windows 用户)和 $CCM_HOME/soadf 目录(UNIX 用户)中的 XML 文件中定义和存储。

文件名即是作用域名称,编码为 URL, 其中空格替换为 %20 并且后缀为 .xml

注: 可以使用 CLI 来编辑、创建和删除作用域文件。

以下是预定义作用域的两个示例:

基于发布的作用域

以下是预定义作用域“All projects and related objects for a specified release”的 XML 文件的内容:

<?xml version="1.0" encoding='ISO-8859-1'?>

<soadfscope version="1">
    <predefined>TRUE</predefined>
    <role></role>
    <parameter>
        <label>Release value</label>
    </parameter>
    <object></object>
    <query>release='%1' and cvtype!='problem'</query>
    <expansion_rule>Folder's tasks</expansion_rule>
    <expansion_rule>Project's folders</expansion_rule>
    <expansion_rule>Project's tasks</expansion_rule>
    <expansion_rule>Task's objects</expansion_rule>
    <exclusion_rule>Baseline projects used by other non-static projects
    </exclusion_rule>
    <exclusion_rule>Folders used by other projects</exclusion_rule>
    <exclusion_rule>Objects associated with other non-automatic tasks
    </exclusion_rule>
    <exclusion_rule>Projects used by other baselines</exclusion_rule>
    <exclusion_rule>Tasks used by other baselines</exclusion_rule>
    <exclusion_rule>Tasks used by other folders</exclusion_rule>
    <exclusion_rule>Tasks used by other projects</exclusion_rule>
    <exclusion_query></exclusion_query>
    <package_name>All projects and related objects for Release %1 saved 
    on %date</package_name>
</soadfscope>

首先,通过查询所有具有指定发布的对象来创建初始对象列表。

下一步,对于每个找到的项目,扩展规则会将以下内容添加到该列表中:
  • 每个项目的文件夹和任务
  • 每个文件夹的任务
  • 每个任务的关联对象
最后,排除规则将从对象列表中除去以下内容以防止未删除的文件夹、任务和基线受到损坏:
  • 其他非静态项目使用的基线项目
  • 其他基线使用的项目
  • 其他项目使用的文件夹和任务
  • 其他基线或文件夹使用的任务
  • 与其他非自动任务相关联的对象

基于项目层次结构的作用域

以下是预定义作用域“Project hierarchy and related folders and tasks”的 XML 文件内容:

<?xml version="1.0" encoding='ISO-8859-1'?>

<soadfscope version="1">
    <predefined>TRUE</predefined>
    <role></role>
    <parameter>
        <label>Project objectname</label>
    </parameter>
    <object>%1</object>
    <query></query>
    <expansion_rule>Folder's non-automatic tasks</expansion_rule>
    <expansion_rule>Project's folders</expansion_rule>
    <expansion_rule>Project's non-automatic tasks</expansion_rule>
    <expansion_rule>Project's recursive members</expansion_rule>
    <exclusion_rule>Baseline projects used by other non-static projects
    </exclusion_rule>
    <exclusion_rule>Folders used by other projects</exclusion_rule>
    <exclusion_rule>Objects associated with other non-automatic tasks
    </exclusion_rule>
    <exclusion_rule>Projects used by other baselines</exclusion_rule>
    <exclusion_rule>Tasks used by other baselines</exclusion_rule>
    <exclusion_rule>Tasks used by other folders</exclusion_rule>
    <exclusion_rule>Tasks used by other projects</exclusion_rule>
    <exclusion_query></exclusion_query>
    <package_name>Project hierarchy %1 saved on %date</package_name>
</soadfscope>

首先,初始对象列表仅包含由对象名指定的项目。

接着,对于指定的项目,扩展规则以递归方式将以下内容添加到列表:
  • 项目、非自动任务和递归成员的文件夹
  • 每个文件夹的非自动任务
  • 每个任务的关联对象
最后,排除规则将从对象列表中除去以下内容以防止未删除的文件夹、任务和基线受到损坏:
  • 其他非静态项目使用的基线
  • 其他基线使用的项目
  • 其他项目使用的文件夹
  • 其他基线、项目或文件夹使用的任务
  • 与其他非自动任务相关联的对象

反馈