sakai and uportal 4
DESCRIPTION
Sakai 2011 Conference presentation on uPortal 4 and integration with Sakai via the Basic LTI and Sakai Connector portlets.TRANSCRIPT
![Page 1: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/1.jpg)
Sakai and uPortal 4
Jennifer Bourey, Software Developer, UniconSteve Swinsburg, Software Engineer, ANU
![Page 2: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/2.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16 2
![Page 3: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/3.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Framework
Image courtesy of http://www.flickr.com/photos/nocallerid_man/
![Page 4: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/4.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
JSR-286
• Resource URLs• AJAX Request handling• File downloads
• Inter-Portlet communication• Eventing• Public render parameters
• JS/CSS in <head>
4
![Page 5: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/5.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
JSR-286
• Caching Enhancements• ETags for resource responses• Public/private scoping for shared data• Callbacks allow the portlet decide if it should
re-render
5
![Page 6: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/6.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Spring 3
• Portlet 2.0 MVC Support• REST client & server support• Autowiring to reduce XML Configuration• Easier to override functionality• Significantly reduces the quantity of XML• Makes framework development faster and
easier
6
![Page 7: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/7.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Smaller Codebase
![Page 8: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/8.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Rendering Pipeline
• Refactored using standard JDK libraries• Componentized and Spring-configured• Advantages• More configurable and modifiable• Each component participates in cache key
generation
8
![Page 9: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/9.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Bookmarkable URLs
• Reflect navigation state in the URLs• Browser controls work as expected• Multiple windows work as well!
• Allow users to bookmark URLs• Log-based statistics tools will be much
more useful
9
![Page 10: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/10.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Administrative Tools
![Page 11: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/11.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Administration Overview
• User experience redesign• Spring Webflow-based portlets• Standard user interfaces• Less code duplication
• Re-usable javascript components
11
![Page 12: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/12.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Administration Overview
• Persistence layer upgrades• Enforce relational constraints• Provide better cross-database support• Better caching, locking, and performance• Smaller codebase with better test coverage
12
![Page 13: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/13.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Re-usable Webflows
![Page 14: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/14.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Re-usable JavaScript
![Page 15: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/15.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Groups Administration
![Page 16: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/16.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Groups-Permissions Integration
![Page 17: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/17.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Permissions Administration
![Page 18: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/18.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
User Administration
![Page 19: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/19.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
User Interface
![Page 20: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/20.jpg)
![Page 21: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/21.jpg)
![Page 22: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/22.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Internationalization
• Single unified messaging file used for all• Webflows, JSPs, XSLT, JavaScript
• Updated message codes for portlets and theme
• Automated translation of new messages
22
![Page 23: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/23.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Mobile Support
![Page 24: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/24.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Integration
Image courtesy of http://www.flickr.com/photos/myklroventine/
![Page 25: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/25.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Grouper Integration
• Browse, search, and view Grouper groups from uPortal
• Assign uPortal permissions and distribute content using Grouper groups
• Administer Grouper groups from uPortal
25
![Page 26: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/26.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Single Sign-On
• CAS• CAS 3.4.3 bundled with uPortal• CAS Clearpass module and configuration
included• Shibboleth• Authentication• SAML attributes
26
![Page 27: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/27.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Event-based Search API
• Portlets can participate in search results through standard JSR-286 events
• Existing support for• User Directory• Google Search Appliance• WYSIWYG content portlets
27
![Page 28: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/28.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
REST Services
• New REST services for accessing information about• Users, groups, permissions
• Still in development
28
![Page 29: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/29.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Content Creation
• Re-usable publishing types for• WYSIWYG content creation• Google Gadgets• Auto-graphing SQL• Image / IFrame
29
![Page 30: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/30.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Integration Portlets
• Provide an interface, common implementations, proxied authentication
• Jasig integration portlets include• Web Proxy, XSLT• Calendar (iCal, CalDAV, Bedework)• News (RSS/Atom)• Video (RSS/Atom, YouTube feeds)
30
![Page 31: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/31.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Courses Portlet
![Page 32: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/32.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Future Directions
![Page 33: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/33.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Layout Refactoring
• Update model and persistence layers• Support more than one layout per user• Allow layout customization from a mobile
device
33
![Page 34: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/34.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Groups and Permissions
• Refactor Groups and Permissions APIs• Reduce the use of static method calls• Introduce support for generics• Increase ability to unit test portal code
• Spring Security integration• Replace custom uPortal authentication APIs• Use Spring Security method-level
annotations
34
![Page 35: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/35.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Statistics
• Improvements to uPortal stats recording API
• Build reporting portlets
35
![Page 36: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/36.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
REST Services
• Create REST services for uPortal entities, permissions
• Allow richer integration with external tools• Easy way for portlets to access portal
specific data
36
![Page 37: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/37.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Following uPortal
• Nightly Build• https://up40-nightly.jasig.org
• Community Calls• Project updates and community demos
37
![Page 38: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/38.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Following uPortal
• Social Networking• http://twitter.com/uportal• http://www.facebook.com/uPortal• http://www.youtube.com/uportal
38
![Page 39: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/39.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
OVERVIEW
What we wanted to achieveBasic LTISakai Connector PortletThe Basic LTI Portlet for uPortal
39
![Page 40: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/40.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
What we wanted to achieve• Bringing a portal online at ANU• Link together existing systems• “One stop shop” for services• IMS Basic LTI provider support in Sakai• Render Sakai tools outside of Sakai portal• And external tools inside Sakai
• Works in Sakai 2.6 onwards (possibly earlier)
40
![Page 41: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/41.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Basic LTI• Specially crafted HTTP request, signed
by OAuth• Hashes the params, inserts additional ones
• Many external integrations use a similar approach• params + secret + timestamp + checksum• Basic LTI formalises this into a proper spec
41
![Page 42: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/42.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Basic LTI request
42
http://localhost:8080/imsblti/provider/sakai.resources
context_id:901868c8-ea8c-45b9-a329-2ab8a1ab702clti_message_type:basic-lti-launch-requestlis_person_contact_email_primary:[email protected]_person_name_full:Steve Swinsburglti_version:LTI-1p0oauth_consumer_key:my.anu.edu.auoauth_nonce:1276220159279202000oauth_signature:sppLAK277l5OldQOXl3MaAdXwUA=oauth_signature_method:HMAC-SHA1oauth_timestamp:1276220159oauth_version:1.0resource_link_id:Pluto_29_u24l1n19_tool_consumer_instance_guid:my.anu.edu.auuser_id:e58d8daa-f9bf-482f-9b18-2c654f19e565
![Page 43: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/43.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Basic LTI in Sakai• Initial Basic LTI implementation in Sakai
namespaced users and sites to keep them sandboxed away from general population.
43
![Page 44: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/44.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Basic LTI in Sakai• New users/site not ideal for integrating
systems that share information• Modified Basic LTI to allow clean
passthrough• ... skips namespacing, uses data as-is• One additional property in
sakai.properties
44
![Page 45: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/45.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Sakai connector portlet• Uses SOAP web services to get
additional info from Sakai• sites user has access to• pages and tools in a given site• internal uuid
• User configures portlet• Portlet performs the Basic LTI
launch45
![Page 46: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/46.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Sakai connector portlet
46
Set custom title & frame height
Choose site
Choose tool
![Page 47: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/47.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Sakai connector portlet
47
![Page 48: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/48.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
SCREENCASTSakai Connector Portlet
48
![Page 49: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/49.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16 49
![Page 50: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/50.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
Basic LTI portlet for uPortal• Pure Basic LTI consumer• Pluggable architecture for
connecting to any Basic LTI provider• Sakai, Peoplesoft, Chemvantage,
Noteflight, Standard, Wimba, standard.• Registers as a portlet type• Runtime configuration
50
![Page 51: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/51.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
DEMOBasic LTI Portlet
51
![Page 52: Sakai and uPortal 4](https://reader033.vdocuments.net/reader033/viewer/2022052310/555a501ed8b42ad56a8b4b97/html5/thumbnails/52.jpg)
12th Sakai Conference – Los Angeles, California – June 14-16
QUESTIONS
52
https://wiki.jasig.org/display/PLT/Sakai+connector+portlet
https://wiki.jasig.org/display/PLT/Basic+LTI+Portlet