Question about change in the Process configuration source in a Project Area
Hello.
I have doubts about the correct way of changing a Process Configuration used in a certain project area.
Currently, we tested to change a Process Template used in a Project Area, that was using Scrum to Open UP, by changing the source code in the process configuration source, (also correcting the process description) using a Project area with the new Process template and copy-pasting the source. Not very good, but I couldn't find another way in that moment.
However, this method doesn't import the WorkItem Templates, it's very manual (lots of things to fix), and this has to be done with a lot of Project Areas already created.
Also Is it possible to migrate several Project Area with a new Process Template?
Thanks in advance.
Accepted answer
we set a rule that you can't change the content of the parent, cause there are all kinds of caching issues we experienced, and its hard to discover all the changes. so we actually made a new parent and reset the child projects to point to a new parent.
currently you can only do that thru the UI.
so I created a tool to take list of projects and change their parents (same as the UI does). finding a project is easy, but the parent change is an internal class & method.
I think I posted it early in the year.
import com.ibm.team.process.internal.common.impl.ProjectAreaImpl;
get the parent from the projectarea working copy
IProjectArea ipwc = (IProjectArea) pa.getWorkingCopy();
// call the internal only method to get the parent process
// provider.. if any
IProjectAreaHandle iparenthandle = ((ProjectAreaImpl) ipwc)
.getProcessProvider();
set the parent and save (the working copy)
// set the provider field
((ProjectAreaImpl) ipwc)
.setProcessProvider(newParentHandle);
// save the project area
getProcessItemService(repo).save(
(IProjectArea) ipwc, sPm);
currently you can only do that thru the UI.
so I created a tool to take list of projects and change their parents (same as the UI does). finding a project is easy, but the parent change is an internal class & method.
I think I posted it early in the year.
import com.ibm.team.process.internal.common.impl.ProjectAreaImpl;
get the parent from the projectarea working copy
IProjectArea ipwc = (IProjectArea) pa.getWorkingCopy();
// call the internal only method to get the parent process
// provider.. if any
IProjectAreaHandle iparenthandle = ((ProjectAreaImpl) ipwc)
.getProcessProvider();
set the parent and save (the working copy)
// set the provider field
((ProjectAreaImpl) ipwc)
.setProcessProvider(newParentHandle);
// save the project area
getProcessItemService(repo).save(
(IProjectArea) ipwc, sPm);
Comments
sam detweiler
Dec 10 '13, 5:40 p.m.Unless you PLAN to change the process configuration by using The shared template approach, there is NO supported way to change a project definition.
workitem templates are also not shared with shared project templates.
also, if you use the Shared process template, there is no tool provided to change many projects (reparent) at once. (this is not a hard tool to create however).
Geoffrey Clemm
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER Dec 13 '13, 7:52 p.m.On a terminology point, to avoid confusion it is important to distinguish a "process configuration" from a process template. A process configuration is defined in a project area. A process template is a distinct database object that is used to initialize the process configuration of a new project area. You can "share" the process configuration of another project area (commonly called the "parent project area" or "parent process area"). But you cannot "share" a process template, and there is no such thing as a "project template".
frederick carter
Dec 15 '13, 3:51 p.m.sam
when you say "also, if you use the Shared process template, there is no tool provided to change many projects (reparent) at once. (this is not a hard tool to create however)."
please expand on the "tool to create " part? How would you create such a tool?
also , i thought the way you change many projects is simply to change the Parent project , in a shared environment ?