It's all about the answers!

Ask a question

customizations for types and the process in RTC


K p (611216) | asked Jul 16 '10, 11:58 a.m.
All,

We are trying to create some customizations for types and the process in RTC, and are running in to some issues. We would appreciate the Jazz communitys insight in this regard:

The problem we are trying to solve is as follows:

-We want to create custom types called Test Case, Use Case and Non-Functional Requirement.
-We would like to customize the existing RTC types to add rules for association:
<pre>
Defect must be associated with one or more Test Case items.
Enhancement must be associated with one or more Use Case _OR_ Non-Functional Requirement items.
Tasks must be associated with one or more Defect or Enhancement items.
</pre>
-We created custom classes for the above new types:
<pre>
com.ibm.team.workitem.workItemType.TC
com.ibm.team.workitem.workItemType.UC
com.ibm.team.workitem.workItemType.NFUNC
</pre>
-However, we were not able to make the individual associations with Defect, Enhancement and Task. Therefore, we had to delete the default RTC types and create the following:
<pre>
com.ibm.team.workitem.workItemType.Defect
com.ibm.team.workitem.workItemType.Enhancement
com.ibm.team.workitem.workItemType.Task
</pre>
-In the course of our work, we have encountered a few problems:
a) We have not been able to figure out how to enforce that Defect be associated ONLY with the Test Case type.
1)In the Types and Attributes admin area, we edited the XML directly to create a Custom Attribute to associate a Test Case as follows:

<pre>
customAttributes category=&quot;com.ibm.team.workitem.workItemType.defect&quot;
customAttribute id=&quot;reqprotestcase&quot; name=&quot;Test Case ID&quot; type=&quot;com.ibm.team.workitem.workItemType.TC&quot;
customAttributes
</pre>

2) When we did this, we lost the ability to associate Defect with MORE THAN ONE Test Case. (Work Item vs. Work Item List).
3) We modified Editor Presentations for Defect to add an entry for the Test Case association. However, we have not been able to enforce a rule saying that the type association must happen only with a Test Case and not any work item. Therefore, a User is able to associate a Defect with ANY work item type.
4) Also, by default, it appears that a user can associate a Defect with a work item from a DIFFERENT project. We dont want that to happen.
b) For the Enhancement type, we would like an association with one or more Use Case or Non-Functional Requirement types.
1)However, we have not been able to figure out how to create an OR condition in RTC.


We would like to ask you for your thoughts and experience in the area of creating such type and process customizations and controls. Any help is highly appreciated.


Thanks,

6 answers



permanent link
Eric Jodet (6.3k5111120) | answered Jul 21 '10, 9:54 a.m.
JAZZ DEVELOPER
Hello,
I guess that answering your questions and fix the issues
would require us to have the customized process template as of today.
However, did you look at this knowledge collector?
http://www-01.ibm.com/support/docview.wss?rs=3488&amp;uid=swg21433802
It might point you to the jazz.net library that contains a lot of useful articles that could help solve your issue.
http://jazz.net/library/

permanent link
Steven Wasleski (17633) | answered Jul 21 '10, 3:54 p.m.
JAZZ DEVELOPER
Kiran,

Exactly which link types are you trying to restrict? When I first read this, I thought you might be talking about parent/child links, but a work item can only have one parent and some of the text here implies more than one. Did you add you own custom &quot;Associated&quot; link type? Or, as implied elsewhere, are you trying to do this with custom attributes? I would think links are the way to go.

You certainly would not want to restrict all links in this manner. For example the mentions/mentioned by link must be free form and I would think you would want to be able to use &quot;related to&quot; for any two work items.

In any event, you will need to write some code to enforce that a work item of type A can only have links of type X to other work items of type B. This would be written as a work item save operation advisor. The advisor could then be configured as operation behavior in a project or team are just like any other pre-condition.

A couple other notes. First, I do not think there is any thing here that should cause you to replace the provided Defect, Task and Enhancement types. Second, I do not think the bi-directional nature of links will cause you a problem on save even if saving the work item at the opposite end is restricted to a certain role. Links are saved separately from the two items they link.

Thanks,
Steve Wasleski
Jazz Jumpstart

permanent link
Daniel Toczala (88211514) | answered Jul 21 '10, 4:21 p.m.
FORUM MODERATOR / JAZZ DEVELOPER
Kiran.

I will echo what Steve said, there should be no reason to remove the Defect, Task and Enhancement work item types.

The types of customizations that you are looking to do will require code, and you will need to extend RTC with this code. This needs to be coupled with the work done to define new work item types for Test Case, Use Case, and Non-Functional Requirments. Your code will then need to be set up as a work item save advisor (as Steve also mentioned). Once this is set up, you will need to configure the advisor for the behaviour that you would like to see.

Dan

permanent link
K p (611216) | answered Jul 21 '10, 4:40 p.m.
Dan &amp; Steve,

Here Im not talking about Parent/child relationship. Im just asking about associating workitems(Defect and Enhancement) with other workitems(Test Case, Use Case and Non-Functional) either by links or custom attributes.

As you say &quot;some code should be written for work item save operation advisor&quot;, How do I do that ??

Do you guys have any sample of code/documentation for writing this code specifically for work item operation advisor ? That would be helpful to us.

Thanks,
Kiran

permanent link
Geoffrey Clemm (30.1k33035) | answered Jul 22 '10, 12:50 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
Since a link is a separate object from the work item, does link creation
involve a &quot;save work item&quot; call? And if so, does it involve two save
work item calls (one for each object on each side of the link), or just
one save work item call (and if just one, which work item process is
invoked)?

Cheers,
Geoff

On 7/21/2010 4:07 PM, wasleski wrote:
Kiran,

Exactly which link types are you trying to restrict? When I first read
this, I thought you might be talking about parent/child links, but a
work item can only have one parent and some of the text here implies
more than one. Did you add you own custom &quot;Associated&quot; link
type? Or, as implied elsewhere, are you trying to do this with custom
attributes? I would think links are the way to go.

You certainly would not want to restrict all links in this manner. For
example the mentions/mentioned by link must be free form and I would
think you would want to be able to use &quot;related to&quot; for any
two work items.

In any event, you will need to write some code to enforce that a work
item of type A can only have links of type X to other work items of
type B. This would be written as a work item save operation advisor.
The advisor could then be configured as operation behavior in a
project or team are just like any other pre-condition.

A couple other notes. First, I do not think there is any thing here
that should cause you to replace the provided Defect, Task and
Enhancement types. Second, I do not think the bi-directional nature
of links will cause you a problem on save even if saving the work
item at the opposite end is restricted to a certain role. Links are
saved separately from the two items they link.

Thanks,
Steve Wasleski
Jazz Jumpstart

permanent link
K p (611216) | answered Aug 18 '10, 11:08 a.m.
Hi Dan and Steve,

You said &quot;there should be no reason to remove the Defect, Task and Enhancement work item types&quot;. Is there any risk if we tweak these default types?

I need to associate some custom attributes with Defect, Task and Enhancement, some of which are unique to each of those types respectively. I have created a new process template(OpenUP) with default types and attributes (Defect, Task, Enhancement- com.ibm.team.workitem.workItemType) then I created the following custom attributes: ReqPro TC (Work Item list), ReqPro NFUNC/UC (work Item list), WorkItem (Work Item list), OS (enumeration), Hardware (enumeration).

Then I created the Editor Presentations com.ibm.team.workitem.editor.defect with ReqPro TC (Work Item list), com.ibm.team.workitem.editor.task with WorkItem (Work Item list), com.ibm.team.workitem.editor.enhancement with ReqPro NFUNC/UC (work Item list).

However, when I open a new defect I do see on Overview tab which has ReqPro TC (Work Item list), But I do see all other ReqPro NFUNC/UC (work Item list) &amp; WorkItem (Work Item list) in the Custom tab. I dont want to appear these in custom tab.

So whats the best way of doing it, so that we dont mess with the default type but still manage to get unique behavior for Defect, Task and Enhancement respectively? Is there code that can be written to hide some custom attributes depending on whether a user is looking at a Defect, Task or Enhancement? Please let me know your suggestions.

Thanks,
Kiran




Kiran.

I will echo what Steve said, there should be no reason to remove the Defect, Task and Enhancement work item types.

The types of customizations that you are looking to do will require code, and you will need to extend RTC with this code. This needs to be coupled with the work done to define new work item types for Test Case, Use Case, and Non-Functional Requirments. Your code will then need to be set up as a work item save advisor (as Steve also mentioned). Once this is set up, you will need to configure the advisor for the behaviour that you would like to see.

Dan

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.