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

68
uPortal 2.6 Andrew Petro JA-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.

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

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

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.

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

Meet your speaker

• Andrew Petro

• Unicon, Inc.

• Software developer, cooperative support

uPortal lead, and occasional uPortal

consultant

• Previously with Yale University ITS

Technology & Planning

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

What’s uPortal? – Open Source

• Gratis (no license fee)

• Open source -- New BSD license

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

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, …

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

What’s uPortal: Community

• Many schools use uPortal in production

today.

• uPortal underlies Unicon’s Academus portal

product and SunGardHE’s Luminis portal

product

Page 6: UPortal 2.6 Andrew Petro JA-SIG Denver 25 June 2007 © Copyright Unicon, Inc., 2007. Some rights reserved.
Page 7: UPortal 2.6 Andrew Petro JA-SIG Denver 25 June 2007 © Copyright Unicon, Inc., 2007. Some rights reserved.
Page 8: UPortal 2.6 Andrew Petro JA-SIG Denver 25 June 2007 © Copyright Unicon, Inc., 2007. Some rights reserved.
Page 9: UPortal 2.6 Andrew Petro JA-SIG Denver 25 June 2007 © Copyright Unicon, Inc., 2007. Some rights reserved.
Page 10: UPortal 2.6 Andrew Petro JA-SIG Denver 25 June 2007 © Copyright Unicon, Inc., 2007. Some rights reserved.

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

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

What’s uPortal? Maintenance

• uPortal 2.5.3.1

– Fixes critical security vulnerability in

RemoteUserSecurityContext

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

Security Contact Group

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

What is uPortal? Technology

Authentication: pluggable, CAS

Attribution - PersonDirectory

Groups - GaPs

Layout - DLM

Permissions - GaPs

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

uPortal’s rendering pipeline

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

uPortal 2.6.0 status

• Release candidate 2 posted on Friday

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

2.6.ish code in production at Yale

• Yale grabbed /trunk before the 2.6 RC series

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

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

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

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

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

Preferences per-portlet-subscription

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

Improvements

• Pluggable DLM processing pipeline

• Numerous fixes and enhancements

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

Demo improved JSR-168 support

• Two new JSR-168 portlets

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

Eric Dalquist / U Wisc-Madison

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

Drag and Drop user preferences

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

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.

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

Drag and Drop demo

• Attempt at live demo…

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

Grab

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

Drag

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

Drop

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

Oooooh. Aaaaaah.

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

Or maybe not?

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

Search for portlet

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

While seeing context

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

Layouts are great for dashboards

• But right now I want to find and use a

particular service

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

Live demo?

• http://portal.yale.edu/

• http://localhost:8080/uPortal/

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

Ooooh, Aaaaah.

• Ooooooh.

• Aaaaaah.

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

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"/>

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

Now that I’ve got a hammer…

• Alerts-like functionality

• Just-in-time insertion of “stuff”

• Users who like these channels also liked..

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

Default Div-driven CSS-styled DLM theme

• From Rutgers

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

Page 39: UPortal 2.6 Andrew Petro JA-SIG Denver 25 June 2007 © Copyright Unicon, Inc., 2007. Some rights reserved.
Page 40: UPortal 2.6 Andrew Petro JA-SIG Denver 25 June 2007 © Copyright Unicon, Inc., 2007. Some rights reserved.

CSyndFeedReader

• Syndicated feed reader channel

• Backwards compatible with CGenericXSLT

RSS channel configuration

• Built on Rome library

• XSLT Java processing (more robust)

• End-user-configuration

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

Fixes from the 2.5.x series

• Should already all be in 2.6.0

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

Requirements

• JDK 1.5 or JDK 1.6

• Tomcat 5.something (5.5.23 for least

headaches)

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

CSqlQuery

• Simple channel

• Deployer provides a SQL query

• It renders the result

• Customizing the XSLT optional

• Oh, about those XSLTs…

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

JSP Channel

• JSP as alternative to XSLT

• Channel XML XSLT HTML

• Channel Model JSP HTML

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

Refactored channels away from IMultithreaded*

• Reduced lock thrash

• Simpler

• Easier to debug / log

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

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?

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

What next for uPortal?

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

Actually release 2.6

• Soon following this conference.

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

Platform Maturity

• uPortal Manual

• Convergence and consolidation of wandering

“contributions”

• Inversion of Control

• Codebase pruning

• API formalization

• Project formalization

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

uPortal Manual wiki space

• Effort launched by Jason Shao

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

Consolidation

• Neat channels and plugins out there

• “Contributions”

• Pull them into the core uPortal project

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

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

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

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

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

Higher Education alignment?

• Announcements

• Alerts

• First year checklists

• Directory search

• Computer cluster support

• Helpdesk

• Briefcase

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

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

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

Invert control - Practice

• Spring WebMVC

– Controllers instead of Servlets

– Wire the most important services

• Synergy with contribution consolidation

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

Codebase pruning

• Embed CAS

• Adopt new standalone GaPs project

• Adopt new standalone PersonDirectory

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

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.

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

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

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

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

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

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.

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

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?

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

uPortal’s rendering pipeline

Page 64: UPortal 2.6 Andrew Petro JA-SIG Denver 25 June 2007 © Copyright Unicon, Inc., 2007. Some rights reserved.
Page 65: UPortal 2.6 Andrew Petro JA-SIG Denver 25 June 2007 © Copyright Unicon, Inc., 2007. Some rights reserved.

How much theme can we share?

• CSS and images.

• Write skins, not structure and theme

transforms?

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

Build engineering?

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

works great

• Okay, let’s use that.

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

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

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

Andrew [email protected]

Questions?