By Andrew Petro
February 25, 2008

A discussion of advantages of choosing the uPortal platform for implementing a campus portal.

This article was last updated on 13 March 2008. This version should be considered an early public draft, with an expectation that this article will benefit by additional content and editing. If you're interested in a webinar in which the author of this article discusses and demonstrates uPortal, there's one coming up on Thursday March 27th.

Community

An understanding of uPortal and of its advantages starts with an understanding of the community that built, maintains, and extends uPortal. uPortal is developed under the auspices of JA-SIG, a non-profit organization facilitating adoption and development of open source software in the administration of higher education.

uPortal offers active and responsive email lists for discussion among uPortal deployers and among developers of the uPortal platform itself. There are large and wide-ranging archives of past discussions and an impressive willingness of the community to answer most questions with quick responses. To adopt uPortal is to join a community of deployers who regularly discuss and share solutions to making best use of the shared software. Besides discussing uPortal and answering questions on these email lists, JA-SIG maintains an active wiki where participants share documentation.

Semi-annual conferences provide a place for framework and portlet developers, designers, and technical leads to learn from each other and collaborate on projects. Newcomers to the conferences are welcomed warmly into the group and given special attention. This energy builds on itself and helps sustain a growing community. Though conferences, JA-SIG makes available cost-effective presentations and seminars about succeeding with open source software (including uPortal) in the administration of higher education.

The next JA-SIG conference April 27th through 30th in St. Paul, Minnesota will feature a great deal of uPortal-aligned content. Immediately before and after the conference available in-depth seminar topics include introductory and advanced instruction on developing with Spring Portlet MVC, writing JavaScript for portlets (that will actually work and play well with others' javascripty portlets), migrating from one uPortal environment and version to another, and an introduction to installing and customizing uPortal. During the conference itself, sessions will include a presentation of uPortal 3 by lead uPortal developer Eric Dalquist, Cris Holdorph presenting Sakai and uPortal integration options, Adam Rybicki presenting an introduction to CAS (which feature will ship with uPortal 3!), John Lewis presenting the exciting new and now finally released JSR-286 specification and describing how to secure portlets using Spring Security, Chris Doyle of Johns Hopkins and Unicon's own Drew Wills presenting on the Johns Hopkins uPortal upgrade experience, Andy Gherna of the University of Illinois and Unicon's Drew Wills presenting on managing uPortal deployments, Gary Thompson, designer and incidentally this website's editor, explaining how to theme and skin uPortal 3, Chris Awre of the University of Hull on personal repository spaces in personal portal experiences, Tim Carroll of the University of Illinois on advanced DLM (uPortal layout management) pipeline extensions, a panel on portlet development, and Erik Olsson presenting on developing uPortal themes. These are just most of the particularly uPortal-aligned content -- there's also presentations about and around several other community source projects and initiatives at this conference. JA-SIG conferences are veritable treasure-troves of surprisingly affordable conference activity that supports and sustains the uPortal project.

Core uPortal developers, the JA-SIG uPortal steering committee, and the JA-SIG board guide the continued development of uPortal. Unicon is pleased to actively participate in continuing to develop the uPortal platform, sponsoring (and employing!) one of the two representatives selected by the uPortal developers to represent them on the steering committee, asking and answering questions on the email lists, encouraging our consultants to share back into the community developed open source solutions, and regularly presenting about uPortal at JA-SIG conferences and elsewhere.

Features

uPortal isn't just a social movement. It's concrete software that you can download and install, imbued with certain features. What makes uPortal an enterprise portal is its flexibility and pluggable APIs for authentication, user attribute collection, groups, layout management, authorization, and inclusion of custom portlets.

Authentication

uPortal includes APIs and a configuration mechanism for validating user credentials against multiple backing credentials stores, including databases and LDAP. uPortal ships with libraries and example configuration for use of JA-SIG's Central Authentication Service single sign-on technology and is commonly integrated with other SSO frameworks, such as PubCookie and Shibboleth.

User Attribute Collection

Since universities typically store person attributes in a variety of central and local sources – LDAP, database tables, administrative information systems, and other locally maintained group stores – uPortal’s user attribute service is able to draw from multiple sources, re-use attributes gleaned early in the retrieval process as keys into subsequent queries, apply pluggable strategies to merge these attributes, and apply layered caching for performance. If your school has a well-baked identity management solution such that retrieving the right attributes for the right users is easy, uPortal makes this integration as simple as it can be by its included LDAP and RDBMS query support. If your school (like most!) has a more complex identity management reality, uPortal has the components and the framework for connecting them together to collect attributes in the ways that will empower you to cope with and leverage this complexity in delivering compelling, simplifying, usable portal experiences.

Groups

uPortal includes a powerful and flexible user group management system. Groups may be nested and are backed by various group store implementations, allowing groups to be defined and managed through the groups administration user interface and stored into the uPortal database (Local Group Store), defined as assertions on user attributes such that group membership is detected dynamically as a consequence of meeting certain user criteria resolved dynamically (Person Attribute Group Store), defined via text files populated into the file system by processes external to the portal (Filesystem Group Store), or stored in LDAP (LDAP Group Store).

Layouts

Groups are only interesting when they make a difference in users' portal experiences. One way they typically make a difference in uPortal is in the layout and content initially displayed to particular users. uPortal's layout system permits fragments (almost always in the form of tabs) and portlets to be served up to users in combinations determined by personal user attributes, preferences, group memberships, and the application of configurable and extensible layout component audience rules.

Permissions

Another way groups can be interesting in uPortal is in their role in defining permissions. uPortal includes an exceptionally powerful authorization system for defining and checking which users are permitted to take what actions in what contexts. Almost always these permissions are defined in terms of group memberships (but even that approach is replaceable via a well-defined API). uPortal supports permissions for access to layout fragments, individual portlets, group administration, and channel publication. uPortal's group and permissions support becomes even more valuable when leveraged by portlets and channels integrating with this service, such as the announcements channel or the Toro portlets.

Theming and Skinning

uPortal internally represents and marshals layouts with a good measure of abstraction, allowing multiple realizations of presentation for these layouts applied via XSL transformations. For most purposes, it is sufficient to use the included XSLT for theme transformation and apply further skinning via the supported CSS style classes. This CSS support backed by XSLT pluggability realizes ease of basic skinning alongside limitless potential for deeper skinning and theming customizations.

Many schools find uPortal skinning even simpler than these technologies would suggest by choosing to engage Unicon to build and apply the institutionally branded uPortal skin.

Available modules

uPortal doesn't ship with many portlets and channels included out of the box. This means there's fewer well-meaning but ultimately not-useful distractions to remove from your particular uPortal deployment as you discover the locally appropriate integrations and solutions to particular use cases. Successful enterprise portals aren't about the portlets included out of the box, they're about the compelling integrations and services delivered through the portal. As such, uPortal focuses on delivering the channel types and framework for implementing compelling local portal experiences.

Built-in support

uPortal includes built-in support for channels presenting syndicated feeds, images, bookmarks, web proxies, inline frames, custom uPortal IChannels, and custom standards-adherent JSR-168 portlets.

Toro

Unicon developed numerous custom channels and portlets in our proprietary built-on-uPortal Academus portal product. Most of the functionality of that product has been transitioned to free and open source software under a project code-named Toro. Toro and uPortal can be easily installed for evaluation via an (also free and open source) automated installer.

Announcements

Columbia University implemented an announcements module for uPortal leveraging the groups and permissions system that, in its original and in subsequently extended forms, is widely adopted for use with uPortal.

Many other channels and portlets

Many other channels and portlets have been developed for use with uPortal. Additionally, uPortal presents standards-compliant JSR-168 portlets, so many of the portlets developed for use with uPortal are usable in other portals, and likewise standards-attentive portlets implemented for use with other portals will work in uPortal. JA-SIG shares and collaborates upon many portlets and channels.

Sales pitch

uPortal isn't the right answer for everyone. It doesn't need to be the right answer for everyone to be the right answer for you. While in this article I've attempted to broadly discuss the advantages of the uPortal platform, I'd welcome your getting in touch with Unicon so that we can discuss whether and how the uPortal platform can be the right choice for you.

One of Unicon's most popular and successful consulting service offerings is something called an "implementation planning session". The is one way we move beyond talking about uPortal generically to dig down to the valuable specifics of how to use uPortal to solve institution-local problems and implement the sort of portal experiences that will contribute to your success, whether you're looking to use uPortal as a navigational aide, messaging and alerts delivery platform, services delivery platform, informational dashboard, or seek a portal delivering blended modalities.

Implementation planning is absolutely critical to uPortal projects, but it's just one of the services Unicon is prepared to provide to make your particular uPortal usage thrive.

Additional references

Jonathan Markow, Executive Director of JA-SIG, posted a blog entry on why uPortal is particularly well suited to the needs of higher education. Portions of that blog post are re-used with Jonathan's permission under Creative Commons Attribution Noncommercial in composing this article.

Your Author:

apetro's picture

Andrew Petro

After graduating with a B.S. in Computer Science from Yale University in 2004, Andrew stayed on to serve his alma mater as a casual systems programmer with the Technology & Planning group. His interests include automated software testing, application frameworks, and electronic security. Projects in which Andrew has been involved include the Central Authentication Service, YaleInfo Portal (Yale's uPortal implementation). and the JA-SIG uPortal project. Andrew serves as the release engineer for uPortal 2.6.x (previously for 2.5.x) and has been published in the Communications of the Association for Computing Machinery on the topic of electronic voting. In fall 2005, Andrew relocated to Wisconsin and continued to work for Yale on a contract basis while starting part time with Unicon and in spring 2006 Andrew joined Unicon full time, serving roles since then including technical lead on Academus and on Cooperative Support for uPortal.