Sharing your team’s RTC Eclipse SCM preferences

The Eclipse Team component is the one responsible for providing integration with repository tooling and version control systems. Jazz Source Control extends the Team component providing, along with its capabilities, its own set of preferences to customize certain tool behaviors:

Jazz SCM Eclipse preferences node

Most of the options you can modify in this menu are meant for personal work preferences: to customize how you want the tool to behave or the type of notifications you want to receive during your development work. There are also some other preferences that can affect team work: for example, setting an external compare tool may modify how changes are merged; or if you are developing following a MDD approach you may want to activate some UML modeling tool integration to support team work for these assets.

Depending on your case, it is sometimes desirable to have a common agreement within the development team of the preferences to be set or, at least, have the a minimum set of them available for team reuse. If you haven’t have to deal with managing Eclipse workspace preferences in a team environment or with moving preferences from your different workspaces, you may not know about the Eclipse feature that helps you with that: the export/import Eclipse feature is the one we can use for managing our preferences files.

If you want to share the preferences file with your team, you can generate a preferences file navigating to File > Export, and then choosing the General > Preferences option:

In the next window, you would have to keep the “Export All” option checked: currently Rational Team Concert doesn’t provide a specific set to export its preferences, so they get added to the complete preferences file list, with the package naming starting with”com.ibm.team” (there is a Work Item in jazz.net requesting for the enhancement to have a specific preferences set: Create appropriate RTC “preference export sets”, for use when exporting Eclipse preferences).

The preferences file that you got as result of the export,  can be used to exchange with your team to standardize the workbench configuration. I suggest  you to set all the preferences in a clean workspace to not get mixed with personal preferences, customizing all the options for your development team, and then do an export of the preferences file (“Export All” option); the result file can be shared with your team, for example in a SCM component your team uses for development utility scripts. You can still clean some preferences from this file before sharing.

What if you want a specific Jazz Source Control preferences file?

For example, I want to activate a policy to check-in my local changes in a timely basis to avoid forget to commit changes regularly (which is always a good practice):

Check-in policies modification

Now you want to generate a specific preferences file just for the Team section containing your Jazz Source Control preferences. Well, this is not supported by the tooling given the missing feature discussed earlier, but you can still try to tweak the preferences file. I am going to describe some steps that have been working for me following the previous example for setting auto check-in policy:

  1. Once set up the options, generate a preferences file. Don’t forget to use the “Export All” option.
  2. Clean from that file (or generate a new “.epf” file with your text editor), all the lines but the ones you are interested in.
  3. Now we have to add at the beginning a line that determines the preferences file format version. This is located in your preferences file with the entry “file_export_version”, and at this time it is version 3.0.

The preferences file you will end up having for this example would look like:

file_export_version=3.0
/instance/com.ibm.team.filesystem.ide.ui/auto\ commit=true
/instance/com.ibm.team.filesystem.ide.ui/commit_interval_enabled=true

You can share this file with your team, and they will get these preferences activated using File > Import, and then choosing the General > Preferences option choosing your custom preferences file (don’t forget to have the checked “Import All” option). What happened with the rest of preferences in that page? Well, as we kept the default values, the Eclipse workbench didn’t export that preferences entries: the wizard just export entries for changed/customized preferences. Following same approach, we don’t have to deal with them.

Some basic Eclipse preferences for Jazz Source Control (note the preferences in this post are from Rational Team Concert 4.0):

/instance/com.ibm.team.filesystem.ide.ui/auto\ commit=true true/false Activate “auto check-in local changes” check-in policies (false by default)
/instance/com.ibm.team.filesystem.ide.ui/commit_interval_enabled true/false Activate “check-in at repeated interval” option (true by default)
/instance/com.ibm.team.filesystem.rcp.core/non_atomic_commit true/false Activate “Allow partial check-in” option (true by default)
/instance/com.ibm.team.filesystem.rcp.core/show_all_flow_targets true/false Activate “Flow Targets: show current / show all” options (false by default)

 

You can dig the rest of preferences in the RTC SDK or in a trial and error basis 🙂 . I will try to add the ones that I find more common for sharing configurations in team environments.

Advertisements

One thought on “Sharing your team’s RTC Eclipse SCM preferences

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s