Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Sakai and uPortal 4

80,066 views

Published on

Sakai 2011 Conference presentation on uPortal 4 and integration with Sakai via the Basic LTI and Sakai Connector portlets.

Published in: Technology, Travel, Business
  • Be the first to comment

  • Be the first to like this

Sakai and uPortal 4

  1. 1. Sakai and uPortal 4Jennifer Bourey, Software Developer, Unicon Steve Swinsburg, Software Engineer, ANU
  2. 2. 12th Sakai Conference – Los Angeles, California – June 14-16 2
  3. 3. Framework Image courtesy of http://www.flickr.com/photos/nocallerid_man/12th Sakai Conference – Los Angeles, California – June 14-16
  4. 4. JSR-286• Resource URLs • AJAX Request handling • File downloads• Inter-Portlet communication • Eventing • Public render parameters• JS/CSS in <head> 12th Sakai Conference – Los Angeles, California – June 14-16 4
  5. 5. JSR-286• Caching Enhancements • ETags for resource responses • Public/private scoping for shared data • Callbacks allow the portlet decide if it should re-render 12th Sakai Conference – Los Angeles, California – June 14-16 5
  6. 6. 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 12th Sakai Conference – Los Angeles, California – June 14-16 6
  7. 7. Smaller Codebase 12th Sakai Conference – Los Angeles, California – June 14-16
  8. 8. Rendering Pipeline• Refactored using standard JDK libraries• Componentized and Spring-configured• Advantages • More configurable and modifiable • Each component participates in cache key generation 12th Sakai Conference – Los Angeles, California – June 14-16 8
  9. 9. 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 12th Sakai Conference – Los Angeles, California – June 14-16 9
  10. 10. Administrative Tools 12th Sakai Conference – Los Angeles, California – June 14-16
  11. 11. Administration Overview• User experience redesign• Spring Webflow-based portlets • Standard user interfaces • Less code duplication• Re-usable javascript components 12th Sakai Conference – Los Angeles, California – June 14-16 11
  12. 12. Administration Overview• Persistence layer upgrades • Enforce relational constraints • Provide better cross-database support • Better caching, locking, and performance • Smaller codebase with better test coverage 12th Sakai Conference – Los Angeles, California – June 14-16 12
  13. 13. Re-usable Webflows 12th Sakai Conference – Los Angeles, California – June 14-16
  14. 14. Re-usable JavaScript 12th Sakai Conference – Los Angeles, California – June 14-16
  15. 15. Groups Administration 12th Sakai Conference – Los Angeles, California – June 14-16
  16. 16. Groups-Permissions Integration 12th Sakai Conference – Los Angeles, California – June 14-16
  17. 17. Permissions Administration 12th Sakai Conference – Los Angeles, California – June 14-16
  18. 18. User Administration 12th Sakai Conference – Los Angeles, California – June 14-16
  19. 19. User Interface12th Sakai Conference – Los Angeles, California – June 14-16
  20. 20. Internationalization• Single unified messaging file used for all • Webflows, JSPs, XSLT, JavaScript• Updated message codes for portlets and theme• Automated translation of new messages 12th Sakai Conference – Los Angeles, California – June 14-16 22
  21. 21. Mobile Support12th Sakai Conference – Los Angeles, California – June 14-16
  22. 22. Integration Image courtesy of http://www.flickr.com/photos/myklroventine/12th Sakai Conference – Los Angeles, California – June 14-16
  23. 23. Grouper Integration• Browse, search, and view Grouper groups from uPortal• Assign uPortal permissions and distribute content using Grouper groups• Administer Grouper groups from uPortal 12th Sakai Conference – Los Angeles, California – June 14-16 25
  24. 24. Single Sign-On• CAS • CAS 3.4.3 bundled with uPortal • CAS Clearpass module and configuration included• Shibboleth • Authentication • SAML attributes 12th Sakai Conference – Los Angeles, California – June 14-16 26
  25. 25. 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 12th Sakai Conference – Los Angeles, California – June 14-16 27
  26. 26. REST Services• New REST services for accessing information about • Users, groups, permissions• Still in development 12th Sakai Conference – Los Angeles, California – June 14-16 28
  27. 27. Content Creation• Re-usable publishing types for • WYSIWYG content creation • Google Gadgets • Auto-graphing SQL • Image / IFrame 12th Sakai Conference – Los Angeles, California – June 14-16 29
  28. 28. 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) 12th Sakai Conference – Los Angeles, California – June 14-16 30
  29. 29. Courses Portlet 12th Sakai Conference – Los Angeles, California – June 14-16
  30. 30. Future Directions 12th Sakai Conference – Los Angeles, California – June 14-16
  31. 31. Layout Refactoring• Update model and persistence layers• Support more than one layout per user • Allow layout customization from a mobile device 12th Sakai Conference – Los Angeles, California – June 14-16 33
  32. 32. 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 12th Sakai Conference – Los Angeles, California – June 14-16 34
  33. 33. Statistics• Improvements to uPortal stats recording API• Build reporting portlets 12th Sakai Conference – Los Angeles, California – June 14-16 35
  34. 34. REST Services• Create REST services for uPortal entities, permissions• Allow richer integration with external tools• Easy way for portlets to access portal specific data 12th Sakai Conference – Los Angeles, California – June 14-16 36
  35. 35. Following uPortal• Nightly Build • https://up40-nightly.jasig.org• Community Calls • Project updates and community demos 12th Sakai Conference – Los Angeles, California – June 14-16 37
  36. 36. Following uPortal• Social Networking • http://twitter.com/uportal • http://www.facebook.com/uPortal • http://www.youtube.com/uportal 12th Sakai Conference – Los Angeles, California – June 14-16 38
  37. 37. What we wanted to achieveBasic LTISakai Connector PortletThe Basic LTI Portlet for uPortalOVERVIEW 12th Sakai Conference – Los Angeles, California – June 14-16 39
  38. 38. 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) 12th Sakai Conference – Los Angeles, California – June 14-16 40
  39. 39. 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 12th Sakai Conference – Los Angeles, California – June 14-16 41
  40. 40. Basic LTI requesthttp://localhost:8080/imsblti/provider/sakai.resourcescontext_id:901868c8-ea8c-45b9-a329-2ab8a1ab702clti_message_type:basic-lti-launch-requestlis_person_contact_email_primary:steve.swinsburg@gmail.comlis_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 12th Sakai Conference – Los Angeles, California – June 14-16 42
  41. 41. Basic LTI in Sakai• Initial Basic LTI implementation in Sakai namespaced users and sites to keep them sandboxed away from general population. 12th Sakai Conference – Los Angeles, California – June 14-16 43
  42. 42. 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 12th Sakai Conference – Los Angeles, California – June 14-16 44
  43. 43. 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 launch 12th Sakai Conference – Los Angeles, California – June 14-16 45
  44. 44. Sakai connector portlet Set custom title & frame height Choose site Choose tool 12th Sakai Conference – Los Angeles, California – June 14-16 46
  45. 45. Sakai connector portlet 12th Sakai Conference – Los Angeles, California – June 14-16 47
  46. 46. Sakai Connector PortletSCREENCAST 12th Sakai Conference – Los Angeles, California – June 14-16 48
  47. 47. 12th Sakai Conference – Los Angeles, California – June 14-16 49
  48. 48. 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 12th Sakai Conference – Los Angeles, California – June 14-16 50
  49. 49. Basic LTI PortletDEMO 12th Sakai Conference – Los Angeles, California – June 14-16 51
  50. 50. QUESTIONS https://wiki.jasig.org/display/PLT/Sakai+connector+portlet https://wiki.jasig.org/display/PLT/Basic+LTI+Portlet 12th Sakai Conference – Los Angeles, California – June 14-16 52

×