Refactoring scenario: remove a file

When a file is removed from a Dimensions CM project with attached deployment areas, Dimensions CM removes the file from any default deployment areas associated with the first stage. The file continues to exist in areas associated with other stages.

When a file is removed and a request is specified, simply promoting that request to a stage results in the file being removed from the deployment areas for that stage.

Deploy removal of an item revision

A Dimensions CM project contains a folder called src containing a file called src/ trace.java. Various revisions of the file have been promoted to different stages.

The following table shows what is in the main project and each area:

Project DEV SIT QA LIVE
src/trace.java;2 src/trace.java;2 src/trace.java;2 src/trace.java;1 src/trace.java;1

Next, a developer decides to remove trace.java;2, as perhaps it introduced a bug and they want to quickly back it out. They do this using the Remove Item from Project dialog box in the desktop client, specifying a request R1 in the Track changes with requests(s) field.

At this point, the contents of the project and associated areas look like this:

Project DEV SIT QA LIVE
src/trace.java;1 src/trace.java;1 src/trace.java;2 src/trace.java;1 src/trace.java;1

Request R1 is then promoted to the SIT stage. Revision 2 of src/trace.java is now removed from SIT:

Project DEV SIT QA LIVE
src/trace.java;1 src/trace.java;1 src/trace.java;1 src/trace.java;1 src/trace.java;1

Back to top

Deploy removal of an item revision using baselines

A Dimensions CM project contains a folder called src containing a file called src/ trace.java.

The following table shows what is in the main project and each area:

Project DEV SIT QA LIVE
src/trace.java;2 src/trace.java;2 src/trace.java;2 src/trace.java;1 src/trace.java;1

Next, a developer decides to remove trace.java;2. They do this against a request and relate trace.java;2 as Affected to mark it as a removal. They create a revised baseline and specify this request in the Remove request list. This creates a baseline that no longer contains trace.java;2.

At this point, the contents of the project and associated areas look like this:

Project DEV SIT QA LIVE
src/trace.java;1 src/trace.java;1 src/trace.java;2 src/trace.java;1 src/trace.java;1

When this baseline is prompted to SIT, revisions of the items related as Affected to the requests specified in the Remove list for the revised baseline are removed from the SIT deployment areas.

The fact that the item revision no longer exists in the project does not affect this. Revision 2 of src/trace.java is now removed from SIT:

Project DEV SIT QA LIVE
src/trace.java;1 src/trace.java;1 src/trace.java;1 src/trace.java;1 src/trace.java;1

Back to top

Deploy removal of all item revisions using requests

This example demonstrates how you can remove all revisions of an item from a deployment area.

Imagine a Dimensions CM project containing a single folder called src containing the file src/trace.java. Various revisions of the file have been promoted to different stages.

The following table shows what is in the main project and each area:

Project DEV SIT QA LIVE
src/trace.java;2 src/trace.java;2 src/trace.java;2 src/trace.java;1 src/trace.java;1

Next a developer decides to remove all revisions of trace.java as perhaps its functionality was moved into another file. They specify a request when removing both the revisions of trace.java using the Remove Item from Project dialog box in the desktop client.

At this point the project and area contents look like this:

Project DEV SIT QA LIVE
    src/trace.java;2 src/trace.java;1 src/trace.java;1

When the request is promoted to SIT, the project and area contents now look like this:

Project DEV SIT QA LIVE
      src/trace.java;1 src/trace.java;1

All revisions of src/trace.java have now been removed from SIT.  

Back to top

Deploy removal of all item revisions using baselines

This example shows how you can remove all revisions of an item from a deployment area when the deployment method for the project is baseline.

Imagine the same example of a Dimensions project containing a single folder called src containing the file src/ trace.java. Various revisions of the file have been deployed to different stages using baselines.

The following table shows what is in the main project and each area:

Project DEV SIT QA LIVE
src/trace.java;2 src/trace.java;2 src/trace.java;2 src/trace.java;1 src/trace.java;1

A developer decides to completely remove all revisions of trace.java. As described above, if you are using baseline deployment, removals are only deployed if they are related as Affected to a request used in the Remove list for a revise baseline operation, and that baseline is promoted. So the developer relates both revision 1 and 2 of src/trace.java as Affected against a request, and creates a revised baseline specifying that request in the Remove request list. This creates a baseline that no longer contains trace.java. They also remove both revisions of the item from the project.

At this point the project and area contents look like this:

Project DEV SIT QA LIVE
    src/trace.java;2 src/trace.java;1 src/trace.java;1

When the baseline is promoted to SIT, the project and area contents now look like this:

Project DEV SIT QA LIVE
      src/trace.java;1 src/trace.java;1

All revisions of src/trace.java have now been removed from SIT.

Back to top