29

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

Embed Size (px)

Citation preview

Page 1: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges
Page 2: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

Table of Contents

1. University of Guelph background2. Portal Project background3. Campus News challenges4. Technical Overview

• Picklist to Aggregation• Issues and Problems• Solutions• Future Enhancements

5. Live Demo 6. Your turn

Page 3: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

University of Guelph

• Mid-size Comprehensive University• ~18,000 students, ~3000 staff/faculty• ~ 1 hour southwest of Toronto• In top 3 since 1997, #1 in 2006• ~1000 Acre Main campus• Satellite colleges across Ontario• 150 year history, University in 1964• Life Sciences + Agriculture + Vet +

Page 4: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

IT Structure

• Mixed Central/Decentralized• CCS and Library report to CIO• Infrastructure central

– Email, Web Hosting, Networking, RESnet, Help Centre, Data Centre

• Mostly Local Departmental Support

Page 5: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

Portal Project History

• First Portal thoughts in 2002• Two-stage RFP• RFP selected Unicon

Academus• First formal release Sept 2006• Full campus audience• No exclusive content as yet• Moving to uPortal 2.5.3 now

Page 6: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

Campus News challenges

• Enhanced Rome portlet (picklist)

• Picklist solution not ideal– Only default feed gets eyeballs– Must browse to see news– Minimal customization– Not all feeds compatible

• Unresponsive feeds an issue• There is a lot of news• There is little news

(sometimes)

Page 7: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

Campus News challenges

• Desire for News-at-a-Glance– Editorialized campus news– Numerous departmental feeds– Personal feeds of interest

• Client preferences split– Chronological “River” of news– Browse “Newspaper” style

• Configured vs. Customizable• All feed technologies

supported

Page 8: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

Campus News challenges

• Sooo…..We want it all– All the news that’s fit to

aggregate– At-a-Glance: News and No

News– Accommodate people’s

preferences– Doesn’t slow page loads– Intuitively usable– Scales well– Has to “Look Good”

Page 9: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

How do we get it all?

• Project Planning – the team’s the thing!

• University of Guelph’s needs– User Interface equal to

competition• JSR-168 compliant

Page 10: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

Technical Overview

•Picklist to Aggregation

• Issues and Problems

•Solutions

•Future Enhancements

Page 11: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

First news reader solution

• uPortal RSS Portlet issues– RSS formats– New standardizations (Atom)

• Other solutions – RSS Reader Apps– RSS Owl, Google, Microsoft®– Not open, Not Java, Non-

standard

Page 12: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

Alternatives

Some other projects underway• Jakarta Feed Parser• Rome Portlet• …For our purposes Rome Portlet

wins:"...ending syndication feed confusion

by supporting all of 'em. " Simon Phipps

Page 13: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

Rome Portlet Advantages

• Parses, generates and converts popular RSS and ATOM formats: – RSS 0.90 – RSS 0.91 (Netscape and Userland )– RSS 0.92, RSS 0.93, RSS 0.94 – RSS 1.0, RSS 2.0– Atom 0.3, Atom 1.0

• Publish Atom protocol and MetaWeblog API

Page 14: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

Picklist Solution: Rome Portlet

Page 15: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

Rome Portlet Value-Adds

• Display Feed Title• Role-based feeds• Mandatory feeds• GUI cleaned up

Page 16: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

Issues & Problems - Portal Hang

• Portal Hang: Unresponsive feed

• Java.net package JDK 1.4• uPortal 2.4 bug• Apache HttpClient

– setConnectionTimeOut(2000);– setReadTimeOut(2000);

• AND still no aggregation

Page 17: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

Aggregation

Some other solutions:• Java RSS• McLaren• Universal RSS channel (UVIC)

• BUT no true aggregation and only limited customization, so we’re sticking with Rome

Page 18: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

Aggregation: Rome Portlet

Rome Aggregator Components

1. Rome API2. Rome Feed Fetcher3. EhCache

Page 19: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

public SyndFeed getFeed(SettingsBean bean) throws IOException, FeedException {

return aggregateFeed(bean, bean.getSelectedFeed()));

//return getFeed(bean, bean.getSelectedFeed());}

Issues & Problems - Aggregation

Page 20: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

Once again:

“Most of the problems in

Software Engineering can be

solved by using Indirection!”

Aggregation: Aha!

Page 21: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

• Convert any RSS/Atom feed type to an RSS/Atom feed of the specified type.

URL feedUrl = new URL(args[1]);

SyndFeedInput input = new SyndFeedInput();

SyndFeed feed = input.build(new XmlReader(feedUrl));

feed.setFeedType(outputType); SyndFeedOutput output = new SyndFeedOutput();

output.output(feed,new PrintWriter(System.out));

Aggregation: Details

Page 22: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

FeedAggregator aggregates multiple feeds

List entries = new ArrayList();feed.setEntries(entries);for (int i=1;i<args.length;i++) { URL inputUrl = new URL(feedURL[i]); SyndFeedInput input = new SyndFeedInput();

SyndFeed inFeed = input.build(new XmlReader(inputUrl));

entries.addAll(inFeed.getEntries());}

Aggregation: Details

Page 23: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

• Rome Fetcher – supports HTTP conditional gets (i.e. last modified and ETag handling) and GZip encoded feeds

public SyndFeed getFeed(SettingsBean bean,String selectedFeed) {SyndFeed feed = null; try { feed = fetcher.retrieveFeed(new

URL(selectedFeed)); }}

Issues & Problems - Caching

Page 24: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

• Prefetch via wget in Cron

01 * * * * wget –output document=/portal/rss/ccsnews.xml -p --timeout=5 http://blogs.uoguelph.ca/ccsnews/blog/default/?flavor=atom

Issues & Problems - Caching

Page 25: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

Demo

Page 26: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

"I have now deployed your Rome Portlet into our dev portal (WindowsXP / MySQL 4.1) and on a test portal (Solaris 9 /Oracle 9i).

I haven't really explored the pushing of feeds based on roles,

but that is exactly the kind of functionality we were looking for.

The mandatory feeds are a neat feature as well, the portlet looksgood when it's dropped straight in without fiddling around with css etc and editing/removing feeds works a treat on both platforms.

We'll be adding the portlet to our Pilot Portal soon - it'll be a vast improvement to our current solution and I'd definitely recommend

for it to be bundled in future uPortal packages."

London MetropolitanCheers,Sandra

Reactions

Page 27: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

I was able to install your portlet cleanly on our development portal (Academus 2.0, based on uPortal 2.4.x). It runs the default configuration very nicely -- What I've seen so far, though, looks really nice. I think our users will really enjoy it.

Le Tourneau

Reactions

Page 28: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

Where Do We Go From Here?

• Ajax Enabled – Proxy • OPML support – Rome Nano• More robust handling of

dates– Created, Modified, Published

• Still more intuitive and usable

• Think about “News Ecosystem”

Page 29: JASIG Jun 2007 - Lalit Jairath and Gerrit Bos Table of Contents 1.University of Guelph background 2.Portal Project background 3.Campus News challenges

JASIG Jun 2007 - Lalit Jairath and Gerrit Bos

• Clearing House Download• Email Lalit Jairath

[email protected]• How many people would like

to have this bundled in uPortal 2.6/2.7/3.0 ?

•Questions/Discussion

Opportunities – Your turn