It's all about the answers!

Ask a question

RTC New LinkType help needed


0
2
Jamie Berry (14013078) | asked Aug 15 '12, 5:10 p.m.
Hello, I am working with RTC 3.0.1.1 and am trying to create some new custom link types for work items.  I have followed Eduardo Bello's blog explaining how to create the extension point, site, feature. I have copied the site and create a provision profile in my test server conf directory. I have shutdown and restarted the server.  After all of that, I was expecting to see the new link type in the Web UI when I went to the links tab on a work item.  It wasn't showing up.

I did some more digging on the forums and found information on how to add the link types to the quick information presentation area, so I installed the update site on my eclipse client and went to the Quick Information Presentation section of the process configuration to try and add the new link types.  I was able to perform those steps and the list of Quick Information on this config page shows my new link type with its 2 endpoints.

After all of this, the new link type is still not offered as a link type when manipulating links on a work item (existing or new, web or eclipse).

What am I missing?

Thanks for any help you can provide.  I need to have this capability working soon.

Jamie.

Accepted answer


permanent link
sam detweiler (12.5k6186201) | answered Dec 01 '12, 3:05 p.m.
edited Dec 01 '12, 4:56 p.m.
| never mind

the <itemreferencetype

MUST BE mixed case
itemReferenceType
(watch out, the forum mucks with the text if there are <)
your link types are working on my system now with that change. I compared line for line with mine till I found it.

you  must install this in every eclipse client AND on the server.
Ralph Schoon selected this answer as the correct answer

Comments
alberto rosponi commented Dec 02 '12, 7:26 a.m.

Sorry, but this is just a format error, in my original code that tag is mixed case. I saw the same problem in the code you posted at the beginning of the question.

 

5 other answers



permanent link
sam detweiler (12.5k6186201) | answered Aug 15 '12, 9:46 p.m.
edited Feb 11 '14, 7:01 a.m.
I have played a lot with linktypes..

here is one of mine, mapping 'fixed in/resolving defects and 'found in/discovered defects' for defects.
(watch out for the <BR> tags in the xml, added by the forum tool, not me)

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
   <extension
         point="com.ibm.team.repository.common.linkTypes">
       <linkType
             constrained="false"
             id="com.xxx.workitem.linktype.foundin"
             internal="false">
          <target>
             <endpoint
                   displayName="Found In"
                   id="foundin.delivery"
                   multiplicity="0..n">
                <itemReferenceType
                      itemTypeName="WorkItem"
                      packageURI="com.ibm.team.workitem"/>
             </endpoint>
          </target>
          <source>
             <endpoint
                   displayName="Occurring Defect(s)"
                   id="workitem.defect"
                   multiplicity="0..n">
                <itemReferenceType
                      itemTypeName="WorkItem"
                      packageURI="com.ibm.team.workitem">
                </itemReferenceType>
             </endpoint>
          </source>
       </linkType>
   </extension>
  <extension
         point="com.ibm.team.repository.common.linkTypes">
       <linkType
             constrained="false"
             id="com.xxx.workitem.linktype.fixedin"
             internal="false">
          <target>
             <endpoint
                   displayName="Fixed In"
                   id="fixedin.delivery"
                   multiplicity="0..n">
                <itemReferenceType
                      itemTypeName="WorkItem"
                      packageURI="com.ibm.team.workitem"/>
             </endpoint>
          </target>
          <source>
             <endpoint
                   displayName="Resolved Defect(s)"
                   id="workitem.defect"
                   multiplicity="0..n">
                <itemReferenceType
                      itemTypeName="WorkItem"
                      packageURI="com.ibm.team.workitem">
                </itemReferenceType>
             </endpoint>
          </source>
       </linkType>
   </extension>  
</plugin>

create a plugin project, set the build path to require com.ibm.team.repository.common.
then add an extension of 'com.ibm.team.repository.common.linkTypes'
then cut/paste the above xml into the plugin.xml.

then save
create a plugin feature project pointing to this project
then create an update site project pointing to the feature.
edit the site.xml, synchronize plugins, and then build.
find the site directory in the eclipse project workspace, and copy it out to your server in some update site under server/conf/sites
the directory ABOVE features/plugins is what u want.
then the u have to add the provisioning profile to the server/conf/ccm/provisioning_profiles  folder
like this one
for the stock update site.
url=file:ccm/sites/rtc-commons-update-site
featureid=com.ibm.team.rtc.update.site.content.rtc.feature

you need to reset the server and restart it. if you do NOT reset, the plugin
will NOT be loaded. (same to unload it)..

the server plugin only affects the web UI.

this same directory tree is the update site for eclipse.
the plugin MUST be installed for all clients that intend to see the data.
(otherwise the links look like 'related')
this plugin install affects the Add button for workitems.

as u already mentioned, the quick links can be used to show the correct text
in the workitem overview page.

note that these linktypes are SERVER wide, and affect ALL workitems equally.
(so, altho mine specifically are linked semantically to defects and releases,
they show up for tasks, and storys, and epics) that is because they are targeted at
com.ibm.team.workitem. (because all workitems are com.ibm.team.workitem,
and there is no discrete class for specific workitemTypes, you can't target lower).

let me know if I can help more..

Sam



Comments
Jamie Berry commented Aug 16 '12, 1:35 p.m.

Thank you for your response. I was very close with my work. I had the constraint type wrong in my xml (constrained="true") and this was keeping me from seeing the new linktype. I am much closer to my end goal now. All I have left is to lookup how to configure queries to see the new linktypes and to test deploying on a WAS based server instead of tomcat. Do you know if the deployment is the same?


Jamie Berry commented Aug 16 '12, 1:41 p.m.

Found the links in the query... Forgot to check the 'show links' option. All I have left now is to try deploying to a WAS based server. Thanks again for the help.


Jamie Berry commented Aug 24 '12, 5:20 p.m.

New problem just came up. When I was testing this last week, I saw the link types on both the eclipse client and the Web UI. Today we deployed the extension to our WAS server and I can use the linktypes from Eclipse but they aren't showing up in the WebUI. I checked my development server I used last week (nothing has changed) and the WebUI doesn't show the linktypes either. Either I didn't see it on the web last week or something has gone wrong.

Does anyone have any idea why the link types would show for Eclipse and not the WebUI? I am accessing the same Project Area and same work items.

Thanks in advance for any help.

Jamie.


permanent link
sam detweiler (12.5k6186201) | answered Aug 24 '12, 9:20 p.m.
edited Aug 24 '12, 9:23 p.m.
these two UI's are completely separated..

the Eclipse UI is controlled by the plugin there, (on the web these will look like 'related' workitems.

the Web UI is controlled by the plugin installed on the server. gotta make sure to do a cold start of the server to load the plugin..  note that a plugin built with the wrong classes WILL load on the client, but till NOT load on the server.

the app server logs will tell you if there is a class file loading problem.  and the plugins have to be installed in the CCM app instance..

cold start is https://serveraddress/ccm/admin/cmd/requestReset

then shutdown and restart the server

Sam

Comments
Jamie Berry commented Aug 26 '12, 4:54 p.m.

Sam,

Thank you for your answer. I did a reset on my local server and the linkypes are showing up. For my WAS based server, my admin said he did the reset request before he restarted it. I will try to get a look at the logs to see what is going on.

Is there a way to extend the Visual Studio client? I would like these linktypes to be visible there as well.

Lastly, when I bring up the web UI on one of the work items that have a new link type attached, the linked work item doesn't show up at all (not even as related). Do you know if this is a bug or if I have something else configured wrong? (I am using RTC 3.0.1.1).

Thank you again for all of your assistance.

Jamie.


sam detweiler commented Aug 26 '12, 5:49 p.m.

how do you know the workitem has the link? Eclipse? they store this in the same place, so it should show on the server as related no matter what. I have not seen this on my local setup.

sorry, I know nothing about the VS client.


Jamie Berry commented Aug 27 '12, 1:07 a.m.

Yes, in Eclipse the link shows up, but on the WebUI it doesn't. Also, I have another Eclipse client that does not have the extension installed and it does not show there either.

Thanks again for your help.


Jamie Berry commented Aug 28 '12, 8:16 p.m.

Sam,

Did you provide an icon for your link types? I added the icons and rebuilt the site and installed it on an Eclipse client. The link types are showing up, but not their icon. I finally have my server working as well a the client but for clients that do not have the extension, all links of the new type do not show up...

Thanks,

Jamie.


Jamie Berry commented Aug 29 '12, 12:30 a.m.

Okay, I figured out what I needed to do to have the icons show up. I needed to add the directory with the graphics to the Build Properties and they are added in the correct location in the jar file.


sam detweiler commented Aug 29 '12, 7:35 a.m.

yes, you have to deliver the icon in the plugin if not already installed. I have both types of links. really hate that they are system wide, not project specific.


Jamie Berry commented Oct 11 '12, 3:39 p.m.

Sam,

  I really appreciate all of your help on getting the custom linktypes working.  I am now trying to access the new linktypes via the Java API for use in both Delivery Operation Advisors and plain Java API clients.  I have found references to code that can be used to lookup the IEndPointDescriptor for a linktype, but when I try it I can't find anything for my linktypes.  The assumption is that somehow the extension has to be made known to the Java API.  Do you know how to accomplish this by any chance?

Thanks,

Jamie.


sam detweiler commented Oct 12 '12, 7:46 a.m. | edited Oct 12 '12, 7:47 a.m.

I have not done this myself.. but I think you have to add the new linktype plugin jar file to the plain java app classpath..

I will try this, hopefully over the weekend

Sam

showing 5 of 8 show 3 more comments

permanent link
alberto rosponi (2122) | answered Dec 01 '12, 1:07 p.m.
edited Dec 01 '12, 1:10 p.m.
 Hi,
I followed every step to create my custom links, but i can't see them in the "Add" menu of "Links" tab. I tried both from the eclipse UI and from the web UI.
I created the plugin and its related Update site, copied it in the conf/ccm/sites folder, created the provision profile, then requested server reset and restart server, but nothing happens in the web UI. I also install the plugin in the Eclipse UI from "help -> Install new software" menu, but nothing happens in the Eclipse UI.

I red your comment, Jamie, "I had the constraint type wrong in my xml (constrained="true") and this was keeping me from seeing the new linktype", so i tried both values of that property but nothing seems to take effect...
I also create in the same plugin two link types, one with constrained="true" and the other with "false".

Here is my code, i can't see relevant differences from yours! :( Any help would be appreciated!
Thank you,

Alberto
------------
<plugin>
   <extension
         point="com.ibm.team.repository.common.linkTypes">
      <linkType
            constrained="false"
            id="it.nexen.custom.links.documentazione"
            internal="false">
         <source>
            <endpoint
                  displayName="Application"
                  id="application"
                  multiplicity="0..1">
                <itemReferenceType
                      itemTypeName="WorkItem"
                      packageURI="com.ibm.team.workitem"/>
            </endpoint>
         </source>
         <target>
            <endpoint
                  displayName="Documentation"
                  id="documentation"
                  multiplicity="0..1">
                <itemReferenceType
                      itemTypeName="WorkItem"
                      packageURI="com.ibm.team.workitem"/>
            </endpoint>
         </target>
      </linkType>
   </extension>
   <extension
         point="com.ibm.team.repository.common.linkTypes">
      <linkType
            constrained="true"
            id="it.nexen.custom.links.collegamento"
            internal="false">
         <source>
            <endpoint
                  displayName="WorkitemSource"
                  id="wisource"
                  multiplicity="0..1">
                <itemReferenceType
                      itemTypeName="WorkItem"
                      packageURI="com.ibm.team.workitem"/>
            </endpoint>
         </source>
         <target>
            <endpoint
                  displayName="WorkitemTarget"
                  id="witarget"
                  multiplicity="0..1">
                <itemReferenceType
                      itemTypeName="WorkItem"
                      packageURI="com.ibm.team.workitem"/>
            </endpoint>
         </target>
      </linkType>
   </extension>
</plugin>

Comments
Dinesh Kumar B commented Feb 11 '14, 6:57 a.m.
JAZZ DEVELOPER

hi Alberto, were you able to resolve this finally?! what changes or new actions did you have to take to get it working!  thanks in advance


permanent link
Sunny Billava (814) | answered Jan 16 '19, 5:40 a.m.

The answer above from Sam Detweiler works.


permanent link
Lynn Sullivan (111) | answered Jan 17 '19, 7:25 a.m.

 <extension 
         point="com.ibm.team.repository.common.linkTypes"> 
       <linkType 
             constrained="false" 
             id="com.xxx.workitem.linktype.fixedin" 
             internal="false"> 
 

Your answer


Register or to post your answer.