Developing Light-weight AJAX Utility Portlets for uPortal

By Jennifer Bourey
March 17, 2009

Discussion in the uPortal IRC channel recently centered on the potential for developing a set of general utility portlets to be distributed with uPortal. Such portlets might include things like search and maps, a calculator, a dictionary, and other small, useful components. After that discussion, I set out to kick-start the project with a few evenings of portlet development.

Developing the Portlets

In the two evenings I set aside for developing utility portlets, I was able to create initial versions of many of the proposed portlets. Combining development tools like Spring and jQuery with publicly available AJAX-friendly data sources like Google and Yahoo quickly resulted in a number of usable proof-of-concept portlets.

While the Google AJAX APIs have been available for several years, I've been pleased to see that they have continued to improve with time. In addition to more fully-featured search and maps APIs, Google has also published a language translation API. Other services are also offering increasing amounts of data via AJAX-friendly formats such as RSS, JSON, and XML.

Initial Results

The initial versions of these portlets are now available in the Jasig subversion repository sandbox. I'm hopeful that this collection will eventually grow into a compelling set of utility portlets that are bundled with uPortal. I also envision that this project might someday serve as an example of best practices for javascript development in the portal, as well as a testament to the feasibility of creating attractive, lightweight portlets for the uPortal project.

So far, the portlet collection includes the following:

  • Search portlet
  • Maps portlet
  • Tabbed RSS portlet
  • Dictionary and thesaurus
  • Language translation
  • Stock ticker and personalized financial news
  • Calendar

I've included a set of screenshots below showing the current interface of some of the individual portlets, as well as a image of them collected together in one tab. If you're interested in trying out the portlets, they are available in the Jasig sandbox repository at https://www.ja-sig.org/svn/sandbox/JasigWidgetPortlets/trunk.

Screenshots

Google Maps:

Jasig Google Maps widget

Google Search:

Jasig Google Search widget

Google RSS:

Jasig RSS widget

Language Translation:

Jasig translation widget

Tab with widgets included:

Jasig widgets collection tab

Your Blogmaster:

jbourey's picture

Jennifer Bourey

Jen Bourey is a software developer at Unicon, Inc. and has five years of experience developing for portals and learning management platforms. She is passionate about open source contribution, high quality software, and friendly user interfaces.