UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

39
uPortal-Sakai integration JA-SIG Winter 2005 @ Austin

Transcript of UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Page 1: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

uPortal-Sakai integration

JA-SIG Winter 2005 @ Austin

Page 2: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

What is “integrated”?

• SSO between uPortal and Sakai?

• Shared provisioning?

• Sakai rendered using uPortal?– Sakai provides markup?– Portal provides markup, Sakai provides

content?

• Shared codebase?

Page 3: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Why integrate?

• Portal as aggregator?

• Portal as one content delivery mechanism to rule them all…– (Layout management)

• Provisioning efficiencies?

Page 4: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Portal as aggregator

uPortal

Sakai Legacy Homegrown LMSMoodle

Webmail Announcements

Summarization, Syndication, Navigation

Page 5: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

One portal to rule them all…

• Single look and feel

• Layout management and navigation

• Consider the Hypercontent counterexample

Page 6: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Provisioning efficiencies

• Custom plugin re-use across systems

• Group membership– Driving uPortal AuthZ, channel availability,

fragment pushing off of Sakai groups

Page 7: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Kinds of integration

• Sakai instance as service provider

• Provisioning

• Sakai as service library

Page 8: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Sakai as Service Provider

• WSRP: provide services and markup

• Web Services: provide just services, portlet provides markup.

Page 9: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Sakai as WSRP producer

• Vishal Goenka’s excellent work

• Sakai 2.1.0 produces WSRP for– Tools in the abstract– Specific placements (tool-in-context)

Page 10: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

How this works

• Select a tool and identify its id key (“sakai-announcements”, e.g.)

• Use the tool id as the portlet handle

• Unblock Sakai WSRP for your portal

• Point uPortal WSRP consumer @ Sakai WSRP producer

Page 11: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Tool identifiers in webapp\tools\*.xml

<registration>

<toolid="sakai.announcements"title="Announcements"

…</tool>

</registration>

Page 12: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Configuring WSRP consumer

Page 13: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.
Page 14: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Authenticating consumer to provider

• By remote address of the consumer

• By HTTP_BASIC authentication (over a secure channel) – no built in support for doing this in uP WSRP consumer

Page 15: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

How this works in context

• Obtain a tool’s placement ID– Tool in context of a site

• Use the placement id as the portlet handle

Page 16: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Placement identifiers

• <iframe name="Maincdf9fd58x398bx45d7x808fx76381f9c736c" id="Maincdf9fd58x398bx45d7x808fx76381f9c736c" title="Schedule Content" … src="http://deimos.unicon.net:8081/portal/tool/cdf9fd58-398b-45d7-808f-76381f9c736c?panel=Main"> </iframe>

Page 17: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Wrinkle

• Tools-in-context (with placement ids) are very numerous

• So not reported as available portlets via WSRP – consumer has to know they are there and request them despite their not being advertised

• Current WSRP consumers balk at attempting to consume unadvertised

Page 18: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Issues here

• No existing uP releases cope with Sakai’s requirement of out of band provisioning of portlet

• uPortal 2.5.x WSRP consumer doesn’t work at all

• (Consuming the WSRP nicely demonstrated in uP3)

• wsrp4j as incubated work in progress makes fixing this difficult

Page 19: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

It’s time to fix and enhance uP WSRP consumption

• Sakai 2.1.0 produces compelling WSRP

• So let’s consume it

• Reasons to be positive and expect progress here

• WSRP4j opportunities

Page 20: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Co-developing WSRP consumption with Sakai WSRP production

• Sakai’s HTTP Basic authentication

• Eventually other authentication mechanisms (proxy CAS)

• uPortal needs to “catch up” with Sakai here.

Page 21: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Sakai instance as service provider

• WSRP gives Sakai control over the service and the markup

• But a custom, portal-appropriate view may be more effective

• A custom JSR-168 (or IChannel) can provide this view on Sakai

• Enabled by Sakai’s web services– And ease of exposing more such services

Page 22: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Sakai Portlet

• Dr. Chuck Severance’s Sakai JSR-168 portlet demonstates this “portlet consumes Sakai web services” approach

Page 23: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Sakai syndicated content

• Sakai tools exposing RSS feeds and the like

• Allow users to roll their own aggregation

Page 24: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

XML feeds out of Sakai

• Poor man’s web services

• A lot of mileage out of this for specific use cases

Page 25: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Provisioning

• Groups and permissions

• Layout

• Available channels

Page 26: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Sakai groups as uP GAPs

• GAPs becomes abstract API with its own jars

• Sakai groups store implementation

• Sakai group information then available in uPortal

• Not just groups of users– Groups of channels / portlets

Page 27: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Externally defined channels

• Available channels are defined in terms of Groups and Permissions

• Implement a source of channels backed by Sakai containing channels that present Sakai content

Page 28: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Externally defined layout fragments

• Use GAPS and DLM, ALM, etc. to select content based on Sakai groups

Page 29: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Why provisioning integration is important

• With a working WSRP consumer, there’s still the matter of obtaining and using the right tool placement ids for the right users.

Page 30: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Sakai as service library

Page 31: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

MVC: re-using the model

• Sakai models and provides service APIs and implementations for learning and collaboration domain

• Chat service, discussion service, scheduler service…

Page 32: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

JSR-168 on these APIs

• Example: a personal scheduler portlet built around the Sakai scheduler implementation

• Minimize code duplication

Page 33: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Pieces of Sakai, running in JSR-168 portlets under uPortal

• Mix and match tools

• Include alongside portlets, channels developed in other ways

Page 34: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

JA-SIG: climb the value stack?

• We’ve had excellent collaboration on building a portal framework

• And excellent collaboration on channel projects

• As JA-SIG members look to do this more, and look to do this in Learning and Collaboration domain, be aware of Sakai

Page 35: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

How to get involved / contribute

Page 36: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

There are too many options

• There are too many options here, it’s hard to know what to focus on, how far to take what when

• Input please: what is needed most urgently, who plans to do what

Page 37: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Sakai Portal DG

• Portal discussion group

Page 38: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Sakai Integration DG

• Integration discussion group

• Collects integration use cases

Page 39: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin.

Birds of a Feather

• Further collect integration scenarios, requirements, desires, plans