Template versioning application like Project Area Updater
is it possible to manage the versioning of process templates?
I am looking for something similar to what the Project Area Updater Tool did for 1.0 to 2.0. I have my own template that will go trough different stages of releases to different organization. Like myTemplate_1, myTemplate_2, ...myTemplate_n. I want the organizations who i sent myTemplate to be able to update their existing project areas with the new release of myTemplate, in the same fashion that the Project Area Updater Tool did for scrum and OpenUP from RTC 1.0 to RTC 2.0. thanks Stefania |
13 answers
Hello Stefania,
The project area updater tool is exstensible. You can write an updater for project areas created with your template and ship it to your customers. The project area updater tool has two extension points that you will be interested in: com.ibm.team.process.service.projectAreaUpdater and com.ibm.team.process.service.projectAreaUpdateHelper. Extend the projectAreaUpdater extension point by specifying the ID of your template, a unique identifier for your updater and a class that extends AbstractProjectAreaUpdater. In your class, you will need to provide some context that allows helpers to know where to get template strings. Other than that, the heavy lifting will be done by the abstract class. The abstract class has code that looks for all projectAreaUpdateHelper extensions registered for the projectAreaUpdater and call each helper to do its updates. Extend the projectAreaUpdateHelper extension point with the id of your updater and a class that extends AbstractProjectAreaUpdateHelper. The helper classes are the ones that actually manipulate the XML of the project areas. You can have multiple extensions to update different parts of the XML if you like. There are methods in the abstract class to facilitate the common update operations. Keep in mind that users can change their project area configuration between releases of your template. In general, you do now want to overwrite user changes. The update helpers should ADD elements that are completely new, but should not change existing elements, since that might overwrite user changes. Also be aware that there is no versioning of project areas, so you cannot tell if a project area was created with the original version of your template or a later one. You also cannot tell whether a project area created with one version of a template has already been updated to a later version. For these reason, update helpers should call the AbstractProjectAreaUpdateHelper.isChildExisting method check whether an element exists before adding it. Martha Jazz Developer is it possible to manage the versioning of process templates? |
Geoffrey Clemm (30.1k●3●30●35)
| answered Oct 17 '10, 7:48 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
It's probably clear from the surrounding context, but just to make sure
there is no misunderstanding, "you do now want to overwrite user changes" was intended to be "you do not want to overwrite user changes". Cheers, Geoff On 10/16/2010 11:07 PM, mandrew wrote: Hello Stefania, |
Thank you
can i have some example of project updaters code or where should i find it? thanks Stefania |
I don't think any project area update helpers have been written for the RTC 3.0 templates. Some of the helpers that were written for the RTC 2.0.0.1 templates were moved to the com.ibm.team.process.service.tests plugin and used in our tests.
If you have access to the source code, you can check the plugin.xml of the com.ibm.team.process.service.tests project for extenders of the projectAreaUpdateHelpers extension point. Martha Jazz Developer Thank you |
thanks Martha for your help on this.
I did not implement my projectupdaterarea tool, since it would be process dependent from my understanding. We are looking for a general way of managing the project areas and the process versions. The versioning problem together with the multiple process for the same project area have been addressed in the Plan Item 65652 thanks again Stefania |
Hi Martha ,
my project can not wait for the process fragment plan 65652 and we are exploring the alternative of the project updater tool again. I have never checked out the jazz code. Can you point me to some instructions on own to get the code? Also I am not sure my account has authority for it. thanks Stefania |
Hello Stefinia,
You can download the source code as a .zip file from the jazz.net downloads page: https://jazz.net/downloads/jazz-foundation/releases/3.0?p=allDownloads Regards, Martha Hi Martha , |
Hi Martha
1. i dowloaded RTC-SDK-3.0.zip 2. extracted the plugin.xml of plugins\com.ibm.team.process.tests.jfs.feature.source_1.1.0.v20101110_2242 3. extracted the plugins\com.ibm.team.process.tests.jfs.feature.source_1.1.0.v20101110_2242\src\com.ibm.team.process.service.tests_1.2.0.v20101110_2242\src.zip the code as it is does not build in a plug-in project i created on my RTC eclipse env. Were you referring to another plugin.xml and not the one i extracted in the folder at step 2 above? thank you Stefania |
Hi Stefania,
That is the correct plugin. Are the build errors due to missing prerequisites? Thanks, Martha Hi Martha |
i am able to access the code now and able to use it.
thank you Stefania |
Your answer
Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.