UPortal 2.6 Andrew Petro JA-SIG Denver 25 June 2007 © Copyright Unicon, Inc., 2007. Some rights...

Post on 15-Jan-2016

215 views 0 download

Transcript of UPortal 2.6 Andrew Petro JA-SIG Denver 25 June 2007 © Copyright Unicon, Inc., 2007. Some rights...

uPortal 2.6

Andrew PetroJA-SIG Denver

25 June 2007© Copyright Unicon, Inc., 2007. Some rights reserved. http://creativecommons.org/licenses/by-nc/3.0/us/ Portions borrowed from previous JA-SIG presentations by Andrew and others.

Meet your speaker

• Andrew Petro

• Unicon, Inc.

• Software developer, cooperative support

uPortal lead, and occasional uPortal

consultant

• Previously with Yale University ITS

Technology & Planning

What’s uPortal? – Open Source

• Gratis (no license fee)

• Open source -- New BSD license

What’s uPortal? Collaboration

• uPortal results from the collaboration of higher-

education IT staff and associates

• It’s what happens when 60 committers collaborate

over the project so far.

• John Fereira documentation, Bill Thompson board

liason, Eric Dalquist works to improve portlet support,

MUN builds a web proxy channel, UC Irvine builds a

menu channel – and Yale takes it and runs with it,

implement shared authN needs, …

What’s uPortal: Community

• Many schools use uPortal in production

today.

• uPortal underlies Unicon’s Academus portal

product and SunGardHE’s Luminis portal

product

What’s uPortal? Committers

• Apache-style voting in of new committers

• 16 active committers over the preceding 12

months

• Welcome to uPortal’s newest committer,

Stéphane Bond, CRIM

What’s uPortal? Maintenance

• uPortal 2.5.3.1

– Fixes critical security vulnerability in

RemoteUserSecurityContext

Security Contact Group

What is uPortal? Technology

Authentication: pluggable, CAS

Attribution - PersonDirectory

Groups - GaPs

Layout - DLM

Permissions - GaPs

uPortal’s rendering pipeline

uPortal 2.6.0 status

• Release candidate 2 posted on Friday

2.6.ish code in production at Yale

• Yale grabbed /trunk before the 2.6 RC series

What’s new in uPortal 2.6? Improved UI

• Drag and drop user preferences

– Turned off by default, but try-out-able in default

theme

• XHTML theme available as default

• Fresh, new look

Fixed portlet preferences handling

• Fixed handling of portlet preferences

– Portlets become multiply subscribable with

different prefs, e.g. RSS readers

• Thanks to Tim Carrol for producing a patch,

and Eric Dalquist for merging the patch into

uPortal

Preferences per-portlet-subscription

Improvements

• Pluggable DLM processing pipeline

• Numerous fixes and enhancements

Demo improved JSR-168 support

• Two new JSR-168 portlets

Eric Dalquist / U Wisc-Madison

Drag and Drop user preferences

Status of Drag and Drop

• Works

• Ships with theme/preferences/javascript to

drive it

• Is turned off by default

• Your theme needs upgraded to use it

• Built for DLM.

Drag and Drop demo

• Attempt at live demo…

Grab

Drag

Drop

Oooooh. Aaaaaah.

Or maybe not?

Search for portlet

While seeing context

Layouts are great for dashboards

• But right now I want to find and use a

particular service

Live demo?

• http://portal.yale.edu/

• http://localhost:8080/uPortal/

Ooooh, Aaaaah.

• Ooooooh.

• Aaaaaah.

How did you do that?

• I didn’t, Jen and Mark did, building on the

work of Pete and others.

• Pluggable DLM processing pipeline

• In dlmContext.xml:

<!-- Uncomment to enable AJAX preferences -->

<bean

class="org.jasig.portal.layout.dlm.remoting.AjaxPreferencesThemeParamInjector"

singleton="false"/>

Now that I’ve got a hammer…

• Alerts-like functionality

• Just-in-time insertion of “stuff”

• Users who like these channels also liked..

Default Div-driven CSS-styled DLM theme

• From Rutgers

• Yeah, it’s got grass at the bottom.

CSyndFeedReader

• Syndicated feed reader channel

• Backwards compatible with CGenericXSLT

RSS channel configuration

• Built on Rome library

• XSLT Java processing (more robust)

• End-user-configuration

Fixes from the 2.5.x series

• Should already all be in 2.6.0

Requirements

• JDK 1.5 or JDK 1.6

• Tomcat 5.something (5.5.23 for least

headaches)

CSqlQuery

• Simple channel

• Deployer provides a SQL query

• It renders the result

• Customizing the XSLT optional

• Oh, about those XSLTs…

JSP Channel

• JSP as alternative to XSLT

• Channel XML XSLT HTML

• Channel Model JSP HTML

Refactored channels away from IMultithreaded*

• Reduced lock thrash

• Simpler

• Easier to debug / log

CGenericXSLT System Cache Scope

• Ability to cache

CGenericXSLT output

across the portal

• How many cached

instances of this

channel would you like

in your portal JVM?

What next for uPortal?

Actually release 2.6

• Soon following this conference.

Platform Maturity

• uPortal Manual

• Convergence and consolidation of wandering

“contributions”

• Inversion of Control

• Codebase pruning

• API formalization

• Project formalization

uPortal Manual wiki space

• Effort launched by Jason Shao

Consolidation

• Neat channels and plugins out there

• “Contributions”

• Pull them into the core uPortal project

How to spend deployer time

More valuable

• Incrementally involving

shared-source solutions

• Collaboration

• Evaluating working

examples

• The concept being

centrally proved

Less valuable

• Finding contributions

• Shoehorning them into

the portal

• Hacking at them to

make them work

• Moving on to the next

fire

• Building local POCs

Candidates

• Webmail

• Rutgers Alerts

• Announcements

• Menu channel

• Survey / Elections /

Fora

• Toro portlets

– (GPL w/ FLOSS

Exception)

• Duke’s portlets released

today

• Done: PBookmarks

• Done: Google Portlet

Higher Education alignment?

• Announcements

• Alerts

• First year checklists

• Directory search

• Computer cluster support

• Helpdesk

• Briefcase

Invert Control - Concept

• *Not* go hog-wild changing everything

– We have working code

• But eliminate the number one impediment to

further incrementally improving uPortal

• uP2-uP3-CAS3 synergy – components for all

DI-able

Invert control - Practice

• Spring WebMVC

– Controllers instead of Servlets

– Wire the most important services

• Synergy with contribution consolidation

Codebase pruning

• Embed CAS

• Adopt new standalone GaPs project

• Adopt new standalone PersonDirectory

Embed CAS

• This is a really excellent idea, if I do say so

myself.

• uP security API feels dated. CAS3 feels

modern. Whole JA-SIG project around

authN.

Pick up CAS features

• Lots of authN provider

options

– LDAP

– Kerberos

– SPNEGO

– OpenID

– Google Account

• Lots of server flexibility

– I’d like three authN

methods, except on

Tuesdays

– Login workflow engine

• Documentation

• Discussion

• Scott answers your

questions

You mean you’re forcing CAS on me?

• No. I mean the most efficient way to

implement support for whatever you really

wanted to integrate with is to plug into CAS

rather than plugging into security.properties

• Though proxy tickets do have portal synergy

Migrate to Pluto 1.1

• If there’s a good reason to?

• “Pluto 1.1 aims to simplify the architecture in

order to make it more user and developer

friendly. You should find Pluto 1.1 easier to

get started with, easier to understand, and

easier to embed with your portal.”

• Sounds good to me, let’s do it.

API Formalization

• Just because Jan left the uPortal developer

community, doesn’t mean he wasn’t right.

• What are the “supported” APIs, and what are

incidental APIs?

uPortal’s rendering pipeline

How much theme can we share?

• CSS and images.

• Write skins, not structure and theme

transforms?

Build engineering?

• Eric, Scott, Elliott, etc. tell me that Maven2

works great

• Okay, let’s use that.

To review

• uPortal 2.5.3.1

– General audience release available today

• uPortal 2.6.0 RC2

– Latest release candidate

– Quite feasible to run with this

• uPortal 2.6.0 GA

– Soon

• uPortal 2.6.1, 2.7, etc. ongoing evolution

Andrew Petroapetro@unicon.net

Questions?