The ALMActivity record includes a Unified Change Management tab.
This is an optional setting for teams that are using UCM.
Unified Change Management (UCM) is a feature of Rational
® ClearCase
® that:
- Provides a flexible, out-of-the-box source code management (SCM) model
for managing change across activities and associated assets
- Provides a level of abstraction that helps with code assets
- Eliminates the need to develop and maintain scripts in a ClearCase environment
- Automates project and developer workspace setup.
- Integrates with other Rational tools providing a suite of development
tools to enhance the development process
When the ClearCase/ClearQuest UCM integration is used with ClearQuest® ALM,
as developers check out and check in files, the ALMActivity records track
the work done. The ALMActivity record is related to an ALMTask that points
to a particular ALMProject. The ALMActivity record is similar to the UCM activity
and all activity types are UCM enabled.
An ALMActivity maps to a UCM activity, an ALMBaseline maps to a UCM baseline,
and a BTBuild maps to an actual build. When activities are completed, you
create an ALMBaseline, which also creates a UCM baseline. If you create a
build using the latest UCM baseline, a corresponding BTBuild record is created.
The BTBuild record contains a reference to the ALMBaseline from which the
build was created.
For Projects using UCM Integration, set . When the UCM integration
is turned on for a UCM project, all UCM activities are tracked by ALMActivity
records. When a UCM activity is delivered to the UCM project integration stream,
the corresponding ALMActivity is completed.
By using the ALMBaseline record type to map UCM baselines, when a baseline
is created in UCM, you can find the new activities in the baseline. This list
of UCM activities can be populated in the ALMBaseline record. If you are not
using UCM, you can use queries to identify the list of activities, and then
manually add the activities to the baseline record.
The ALMBaseline record lists the ALMActivities delivered to the integration
stream since the last baseline was created. The release engineer then creates
a build using the last baseline. A corresponding BTBuild record is also created.
The BTBuild record lists the baseline used to create this build. The record
also lists the ALMActivities included since the last build.
Note: In UCM a
stream is similar to a branch in other asset or software configuration management
systems. The baseline records are threaded on the stream for sequencing.
When delivering an activity to
any stream with a project policy for transitioning to Complete after delivering,
the activity is transitioned to the Complete state, even if a developer still
needs to continue working on the activity. This state transition prevents
additional checkouts. The developer can:
- Do an alternate deliver to only share changes with another developer and
to continue making changes using the same activity.
- Deliver to a feature stream for sharing the changes with the team working
on the same features.
For example, a Developer using UCM logs in and finds UCM activities, specifies
a default activity, or adds a file to a development stream and adds it to
source control. The Developer can also view the activity in ClearQuest as
an ALMActivity (with State = Activated).
- The Developer can use a ClearCase client to deliver changes and then complete
the delivery. After the Activity is completed, the release engineer (or Builder)
creates a baseline of the code.
- The Builder, logs in to ClearQuest and creates a new ALMBaseline. The
Builder specifies project VOB, Project, Release values, and Activity IDs for
the new baseline.
- Given a UCM baseline, one or more builds may be created from it. For each
build, the Builder creates a BTBuild record.
- The Tester completes Test type Activities. The Test Activity includes
a reference to the BTBuild containing the Developer fix (if a build was created).
The Tester installs the build, and completes the Test Activity.
Creating baselines and ALMBaseline records
Given
a UCM project, create an initial baseline, and then create an initial ALMBaseline
record to anchor the UCM stream and PVOB to a series of ALMBaseline records.
For
milestones or nightly builds you create a UCM baseline, and then create a
new ALMBaseline record. The creation of the ALMBaseline record checks for
the last baseline record created. If this is the second baseline on the given
PVOB and stream, the first record would be the initial baseline. Given the
current baseline, and the last baseline found, a ClearCase UCM comparison (diffbl operation)
is used to compare the two baselines. All ALMActivities delivered since the
last baseline record are added to the new baseline record.
Existing UCM projects
Older projects that were not
created as ALM projects may have many existing activities and baselines. You
may want to import some or all of these. Of the baselines you import you must
import them in order from their stream. Not every baseline needs to be imported,
but they do need to be imported in the order they were created. The create_baseline_record.pl
script when given a baseline finds the new activities in the baseline, by
comparing the baseline with the previous baseline record in ALM on the same
stream.
If you want only new activities tracked, you can create a new
ALMBaseline record on the same stream and this new baseline, rather than the
original baseline from the older project will be the previous baseline for
a new comparison. Only activities created since this new initial baseline
will show on the new passed in baseline record. You can create this initial
baseline record in either of these ways:
- Manually create it in ALM, by filling out the PVOB or Location and Stream
fields so the create_baseline_record.pl script can find it.
- Use create_baseline_record.pl to create the initial baseline. The create_baseline_record.pl
can create an initial seed baseline record by passing in the appropriate options.
The -nodiffbl option specifies to create the passed in baseline
and not try to find and run a comparison with a previous baseline. Because
this option does not examine the baseline, you must also include information
for the -ucmstream stream_name argument. For example:
ratlperl create_baseline_record.pl -user RE -pw secret -dbname ALM -dbset CQ.ALM.HOST -projectid ALM00000123 -nodiffbl -pvob "\pvob01" -ucmstream "proj_01_int" -baseline "proj_01_02_24_2008"
This command creates an ALMBaseline record with the following values: Project id: ALM00000123
Name: proj_01_02_24_2008
ucm_stream: proj_01_int
PVOB or Loc:\pvob01
After you create an initial ALMBaseline record, newer baselines
records can be created in their order of creation on the stream by calling
create_baseline_record.pl with the required options and the new baseline name.
A baseline is compared with the previous baseline record found, and the new
activities are added to the new baseline record.