News Reader Rome Portlet for uPortal

RSS Portlet Readme

Included:

Ant build file with 'deploy' and 'dist' targets; ready to go into uPortal, just drop in either the war file or specify the directory to deploy to - no need to run 'ant deployPortlet' target.

Improvements to Sun RSS portlet:

* Feed titles are used instead of feed URLs, improving usability.
* Apache HttpClient is used instead of java.net.url, to prevent 'hanging' the entire portal for invalid connections/URLs. Socket and connection timeouts are configurable.
* Edit page is modified splitting into 'Edit' and 'Customize' pages to focus on specific user tasks.
* Migrated JSP1.2 pages to JSP2.0 pages.

New Features:

* Institution given ability to push mandatory and/or role based feeds.
* Added an image for each article to improve style.
* Help files - detailed HTML help files may be incorporated in the RSS portlet in help mode through the 'webapps\uPortal\WEB-INF\classes\org\jasig\portal\layout\AL_TabColumn\integratedModes\integratedModes.xsl file'. The '.gifs' are from an older version.

Detailed Notes:

-If the feed can't be retrieved (for any reason) then the feed title will be the same as the feed URL. In such a case, the select list will show the feed URL instead of the corresponding feed Title, indicating to the user that there is a problem with that feed source.

There are 3 categories of feed :

* Mandatory feeds (pushed by the institution)
* Role-based feeds (based on ldap attributes or other attributes accessible by the portal - pushed by the institution)
* Default feeds (initially supplied in the application by the institution)

-Mandatory and Role-based feeds can not be deselected (no opt out).

-Default feeds (initially provided by the institution as 'recommended feeds') can be deselected (unchecked and opted out).

-Mandatory feeds placed are at the top of the list, followed by role-based feeds and then default user feeds.

-If the institution does not want to push any feeds (mandatory and/or role-based feeds) comment out the following line in the view.jsp file in order to disable this feature:  <%@ include file="view_helper.jsp" %>

-Mandatory and role-based feeds may also come from portlet preferences in portlet.xml.

-Additional feeds may be added by the user in edit mode. These would be considered optional feeds.

Customize page:

* User may select the start feed in the Customize page. The Start feed is the first feed in the selection list when the user first logs in.
* Rationale from University of Guelph user experience team for the separate customize page is to reduce the 'clutter' on the edit page
* Customization is considered an infrequent task

HttpClient:

Socket and connection timeouts may be configured (default of 2000mSec) through FeedHelper.java file.

Final Note:

A patch that implements a Rome Feed fetcher with ehcache, which supplies much more performance than the original Sun Rss cache will be available soon.