Precautions are needed when multiple users attempt to modify the
same files at the same time.
General considerations
It is recommended that IBM® Rational® ClearCase® be
used as an integrated extension to EPF Composer rather than as a separate
application. This configuration provides maximum protection against unexpected
file conflicts in multiuser environments.
In situations where several
users are updating files in the same library, you might find that someone
else has already checked out a file that you need to modify. When this happens,
wait until the file is available to check out. You can use ClearCase history
to determine who has checked out the file that you need.
Do not attempt
to hijack the file and then merge your changes with your coworker's version
when you check back in. Many files in your library cannot be merged easily.
This is especially true of library.xmi, plugin.xmi,
and model.xmi.
When you begin to modify a method element,
EPF Composer determines the set of affected files and prompts you to check
them out. If you do not have the most recent version of a file in your library,
you will be given the option to update the file and then check it out. Because
many files in a library are interdependent, it is recommended that you update
your entire library whenever you discover a file that is out-of-synch.
Tip: If problems such as unresolved references occur, use Update
Resource to refresh your library view.
Changes involving multiple files
Some changes require
multiple files be checked out before being modified.
To ensure that
you are able to check out all files that you will need for these operations,
manually check out these files before proceeding. You can check out the files
from the Resource View or from the ClearCase perspective.
After
making your update, check the files back into Rational ClearCase as soon as possible. This
is especially important if you renamed or moved files or folders. Renaming
or move operations are performed immediately, but other files that reference
these renamed or moved files (such as plugin.xmi or library.xmi)
are not checked in. Until you check in all files that were changed, your
library is in an inconsistent state.
Actions that warrant this precaution
include renaming, moving, or deleting an element. For more information about
how actions impact files, see Common actions impact on specific files.
Division of responsibility
Potential file conflicts
that can occur while using Rational ClearCase in multiuser environments
can be minimized by doing the following:
- Assign one individual (usually the method architect) to be responsible
for changes affecting library.xmi, especially during times
of high-contention or to assist new users with proper check-in order.
- For each plug-in, assign one individual to be responsible for changes
that affect both the plugin.xmi and other files simultaneously.
Coordinate updates among team members. Changes that only affect plugin.xmi can
be safely performed by anyone.
- Assign only one individual per process to minimize conflicts with model.xmi files
Updating resource conflicts
A warning message opens
if a user tries to update a resource that is currently checked-out by someone
else. This is illustrated in the following example:
- User A renames an existing role in plug-in 1.
- User B tries to create a new role in plugin-in 1.
- User B is asked to checkout plugin.xmi and selects Apply.
- User B sees the following ClearCase error message: Error
During Checkout: an error has occurred. See Details for additional information.
Unable to checkout.
- User B should click OK. Further examination reveals
that User A has checked out this file.
- User B should click OK in all remaining prompts.
- User B should wait for User A to check in the common resources and use
either the ClearCase perspective
or Resource Navigator view to perform an Update Resource operation
on the entire library.
Out-of-date resources
A warning message opens if
a local resource version is identified as earlier than the one on the server.
- User A renames an existing role in plug-in 1.
- User A checks in some changes, but User B is unaware of this and has not
performed Update Resource.
- User B tries to create a new role in plugin-in 1.
- User B is asked to checkout plugin.xmi and selects Apply.
- User B receive the ClearCase error "Choose Version to Check Out".
User B should click Cancel.
- User B should click OK in the remaining prompts.
- User B should go to the ClearCase perspective or Resource Navigator to
perform an Update Resource on the entire library before
creating the new role.