It's all about the answers!

Ask a question

Why can't I reproduce the CCM Personal Dashboard widget, My Work Item Changes?


Carson Holmes (11113543) | asked Dec 04 '12, 4:52 p.m.
Using RTC 4.0.0.1 Web Client, I used the Create Dashboard wizard, selected CCM, selected a project and wala...I get a personal dashboard with a great widget called, My Work Item Changes.  This news feed widget pulls in all the work item changes for all my projects.  Terrific, just what I wanted.

Trying to understand how this feed works, I am just trying to replicate the widget manually.  So I add a News Feed widget and copy the URL from the one that works, ${server-URL}/service/com.ibm.team.repository.common.internal.IFeedService?itemType=WorkItem&user=${current_user}, to the new News Feed widget.  Curiously enough I get..."There are no entries in the specified feed." 

Bizzare.  I can duplicate the working widget and that works, I just can't reproduce it manually.  I'm trying to make sense of this, because I would like to build some cross-project news feeds for personal dashboards, but am struggling to get anything to work.  Any guidance is greatly appreciated.

Accepted answer


permanent link
Curtis d'Entremont (1.3k3) | answered Dec 05 '12, 12:01 p.m.
FORUM MODERATOR / JAZZ DEVELOPER
Each widget is hosted from an application (or the JTS), so the News Feed resolves its variable according to its own hosting server's URL. When you add the News Feed widget on your personal dashboard, which lives on the JTS, it will be the JTS hosting it by default, and it doesn't have any work item data, as you've discovered. You can tell which application is hosting a widget by looking at the widget trim - some of them have an additional icon that provides hover info, and some don't. The ones that don't are local widgets, meaning they are hosted by the application or server you're currently on. If they have the remote icon, it will tell you where it comes from. When you create a new dashboard with the wizard, it actually adds the News Feed widget hosted from CCM.

You can add the News Feed widget hosted by CCM by selecting the CCM application from the top of the widget catalog. When you select another application, it will add the widget hosted from that application, and the data it shows will come from that application. So if you add a News Feed widget from the same CCM application instance as your URL, it will work.

The reason it doesn't work when you manually fix the URL to point to the right server is that it is being challenged by authentication, tries to read that challenge as a feed and can't understand it. You don't get an authentication challenge if you use the ${server-url} var because when it sees this, it goes through an internal redirect which avoids this challenge. So the underlying cause of the problem you're seeing is that the News Feed widget doens't support feed authentication. This is tracked in [Feeds Viewlet]: Support feeds that require authentication (134487) .
Carson Holmes selected this answer as the correct answer

Comments
Carson Holmes commented Dec 05 '12, 12:33 p.m.

Curtis,

Thanks so much for the feedback!  I can't believe I didn't see that drop down at the very top.  I get it now.

Carson


2 other answers



permanent link
Carson Holmes (11113543) | answered Dec 04 '12, 6:34 p.m.
Figured it out by exporting the widget and looking at the source.  The reason this is happening is because the manually added widget is resolving ${sever-URL} to the jts server, while the one created with the wizard is resolving it to the ccm server.  

permanent link
Carson Holmes (11113543) | answered Dec 04 '12, 8:01 p.m.
edited Dec 04 '12, 8:04 p.m.
There was a bigger underlying issue.  The News Feed widget will not work on a Personal Dashboard for CCM events.  Reported the defect: https://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.workitem.viewWorkItem&id=243556

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.