It's all about the answers!

Ask a question

Template versioning application like Project Area Updater


Stefania Axo (12621513) | asked Oct 13 '10, 7:45 p.m.
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



permanent link
Martha (Ruby) Andrews (3.0k44351) | answered Oct 16 '10, 10:57 p.m.
JAZZ DEVELOPER
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?

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

permanent link
Geoffrey Clemm (30.1k33035) | 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,

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


stefaaxowrote:
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

permanent link
Stefania Axo (12621513) | answered Oct 19 '10, 4:03 p.m.
Thank you
can i have some example of project updaters code or where should i find it?
thanks
Stefania

permanent link
Martha (Ruby) Andrews (3.0k44351) | answered Oct 19 '10, 10:12 p.m.
JAZZ DEVELOPER
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
can i have some example of project updaters code or where should i find it?
thanks
Stefania

permanent link
Stefania Axo (12621513) | answered Nov 16 '10, 1:31 p.m.
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

permanent link
Stefania Axo (12621513) | answered Jan 04 '11, 11:49 a.m.
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

permanent link
Martha (Ruby) Andrews (3.0k44351) | answered Jan 04 '11, 6:59 p.m.
JAZZ DEVELOPER
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 ,
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

permanent link
Stefania Axo (12621513) | answered Jan 05 '11, 12:22 p.m.
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

permanent link
Martha (Ruby) Andrews (3.0k44351) | answered Jan 06 '11, 8:24 p.m.
JAZZ DEVELOPER
Hi Stefania,

That is the correct plugin. Are the build errors due to missing prerequisites?

Thanks,
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

permanent link
Stefania Axo (12621513) | answered Jan 06 '11, 8:38 p.m.
i am able to access the code now and able to use it.
thank you
Stefania

Your answer


Register or to post 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.