Predefined scopes

Each predefined Save Offline and Delete scope is defined and stored in an XML file in the CCM_HOME\soadf directory (Windows users) and $CCM_HOME/soadf directory (UNIX users).

The file name is the scope name, encoded as a URL, with spaces replaced by %20 and an ".xml" suffix.

Note: You can use the CLI to edit, create, and delete scope files.

The following are two examples of predefined scopes:

Release-based scope

The following is the content of the XML file for the predefined scope "All projects and related objects for a specified release":

<?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>

First, the initial object list is created by querying for all objects that have a specified release.

Next, for each project found, expansion rules add the following to the list:
  • Folders and tasks of each project
  • Tasks of each folder
  • Associated objects of each task
Finally, exclusion rules remove the following from the object list to prevent damage to folders, tasks, and baselines that are not being deleted:
  • Baseline projects used by other non-static projects
  • Projects used by other baselines
  • Folders and tasks used in other projects
  • Tasks used by other baselines or folders
  • Objects associated with other non-automatic tasks

Project hierarchy-based scope

The following is the content of the XML file for the predefined scope "Project hierarchy and related folders and tasks":

<?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>

First, the initial object list contains only the project specified by the object name.

Next, for the specified project, expansion rules recursively add the following to the list:
  • Folders of the project, non-automatic tasks, and recursive members
  • Non-automatic tasks of each folder
  • Associated objects of each task
Finally, exclusion rules remove the following from the object list to prevent damage to folders, tasks, and baselines that are not being deleted:
  • Baselines used by other non-static projects
  • Projects used by other baselines
  • Folders used by other projects
  • Tasks used by other baselines, projects, or folders
  • Objects associated with other non-automatic tasks

Feedback