uportal-sakai integration ja-sig winter 2005 @ austin
TRANSCRIPT
![Page 1: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/1.jpg)
uPortal-Sakai integration
JA-SIG Winter 2005 @ Austin
![Page 2: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/4.jpg)
Portal as aggregator
uPortal
Sakai Legacy Homegrown LMSMoodle
Webmail Announcements
Summarization, Syndication, Navigation
![Page 5: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/7.jpg)
Kinds of integration
• Sakai instance as service provider
• Provisioning
• Sakai as service library
![Page 8: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/11.jpg)
Tool identifiers in webapp\tools\*.xml
<registration>
<toolid="sakai.announcements"title="Announcements"
…</tool>
</registration>
![Page 12: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/12.jpg)
Configuring WSRP consumer
![Page 13: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/13.jpg)
![Page 14: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/25.jpg)
Provisioning
• Groups and permissions
• Layout
• Available channels
![Page 26: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/30.jpg)
Sakai as service library
![Page 31: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/35.jpg)
How to get involved / contribute
![Page 36: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/37.jpg)
Sakai Portal DG
• Portal discussion group
![Page 38: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/38.jpg)
Sakai Integration DG
• Integration discussion group
• Collects integration use cases
![Page 39: UPortal-Sakai integration JA-SIG Winter 2005 @ Austin](https://reader036.vdocuments.mx/reader036/viewer/2022062515/56649c7f5503460f94934d75/html5/thumbnails/39.jpg)
Birds of a Feather
• Further collect integration scenarios, requirements, desires, plans