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
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.
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.
Define a meaningful convention for naming
baselines. You may want to include some or all of the following information
in a baseline name:
- Project name
- Component name
- Milestone or phase of development schedule
- Date created
For more information about setting a baseline
naming template, see http://publib.boulder.ibm.com/infocenter/cchelp/v7r0m1/index.jsp?topic=/com.ibm.rational.clearcase.cc_proj.doc/c_u_pln_bl_nm_cnvntn.htm.
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.