Deleting using a scope

About this task

Use this subcommand to delete objects specified by a scope without performing a preview. Any previous preview object list is cleared on completion.

Note: Performing a preview before deleting the objects means that you can check which objects will be deleted before deleting them. This is essential if you are working in the ccm_admin role. This command does not perform a preview; you will not know which objects will be deleted until the command has started.
ccm soad|save_offline_and_delete -delete -scope scope_name 
        [-so|-save_offline] [-path soad_path] 
        [-pn|-package_name package_name] [-v|-verbose] 
        [argument...]
-path soad_path
Specifies the path to the DCM package using the previously specified path.

If you have not saved a package previously, you must specify the path.

Note: The path must be visible to the engine and writable by ccm_root.
-pn|-package_name package_name
Specifies the name of the DCM package to which the objects are saved. The default name is "Save Offline and Delete saved on %date."
Note: Include the %date keyword in the name if you define your own package name. This helps ensure that you can differentiate between packages created using the same scope.
-scope scope_name [argument...]
Specifies the scope (modified query) used to save offline or delete objects.

Arguments are required only if appropriate for the specified scope. For example, the scope "My working projects and products for a specified release" requires that you specify a release value, which is an argument.

You must specify the arguments in the order used in the scope definition.

-v|-verbose
Generates messages detailing why objects are being included in or excluded from the list.

Examples

About this task

  • Delete objects found by the Baselines marked for deletion and related projects and products scope without performing a preview.
    ccm soad -scope "Baselines marked for deletion and related projects and products"

Description and uses

About this task

The Save Offline and Delete (SOAD) utility deletes objects from a Synergy database by using a scope. The scope determines what objects are considered for deletion, which associated objects can also be deleted, and rules for when objects should not be deleted. Synergy ships with predefined scopes that represent typical reasons for deleting objects. Users can also create their own custom scopes. See the #soad_scope command for details.

You can delete objects from a Synergy database to:

  • reduce the size of the database as part of disk space management, or to speed database backups.
  • remove working or prep projects that are no longer in use.
  • remove unwanted history or baselines because they are not required.

These are examples of the types of data that you can delete:

  • Unwanted Insulated Development projects for specific developers
  • Unwanted Integration Testing projects
  • Old, static project hierarchies and the old files associated with them, where the hierarchies have been superseded by later released versions
  • Unused old products
  • Baselines that have been marked for deletion
  • Integration Testing baselines for an old release.

SOAD also saves objects offline before they are deleted so that the objects can be restored in a Synergy database at a later date. Users in the ccm_admin role can use this feature in databases that are DCM initialized. The objects to be saved are stored in a save offline package that is similar to a DCM package. The objects are restored using a DCM receive operation. See CLI operation for details.

The scope defines which role a user must be in before they can use that scope. In addition, normal Synergy security rules apply about when an object can be deleted. You can delete any working-state project or object owned by you. If you are working as a build manager, you can also delete prep projects and objects. If you are in the ccm_admin role, you can delete objects in any non-working state or objects owned by other users. SOAD also has a number of built-in safety measures to prevent certain types of objects, such as type definitions and other administrative data, from being deleted.

Use the soad command to:

  • Preview a delete by using a scope. The preview shows what objects would be selected for deletion without making any changes to the database. The advantage is that you can check that the preview results are what you expect before deleting the objects.
  • Delete the objects found by a previous preview.
  • Delete using a scope without a preview. This allows you to perform the deletion without having to see a preview of the results. The advantage is speed, but you must be certain that you do not need to preview the objects. The disadvantage is that you will not be able to verify the objects to be deleted.

Feedback