SlideShare a Scribd company logo
1 of 52
Download to read offline
Sakai and uPortal 4
Jennifer Bourey, Software Developer, Unicon
  Steve Swinsburg, Software Engineer, ANU
12th Sakai Conference – Los Angeles, California – June 14-16
                                                               2
Framework




                                                         Image courtesy of http://www.flickr.com/photos/nocallerid_man/


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>


               12th Sakai Conference – Los Angeles, California – June 14-16
                                                                              4
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
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
Smaller Codebase




  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




               12th Sakai Conference – Los Angeles, California – June 14-16
                                                                              8
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
Administrative Tools




   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




               12th Sakai Conference – Los Angeles, California – June 14-16
                                                                              11
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
Re-usable Webflows




  12th Sakai Conference – Los Angeles, California – June 14-16
Re-usable JavaScript




   12th Sakai Conference – Los Angeles, California – June 14-16
Groups Administration




    12th Sakai Conference – Los Angeles, California – June 14-16
Groups-Permissions Integration




       12th Sakai Conference – Los Angeles, California – June 14-16
Permissions Administration




      12th Sakai Conference – Los Angeles, California – June 14-16
User Administration




   12th Sakai Conference – Los Angeles, California – June 14-16
User Interface




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




              12th Sakai Conference – Los Angeles, California – June 14-16
                                                                             22
Mobile Support




12th Sakai Conference – Los Angeles, California – June 14-16
Integration




                                                          Image courtesy of http://www.flickr.com/photos/myklroventine/


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




              12th Sakai Conference – Los Angeles, California – June 14-16
                                                                             25
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
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
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
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
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
Courses Portlet




 12th Sakai Conference – Los Angeles, California – June 14-16
Future Directions




 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




               12th Sakai Conference – Los Angeles, California – June 14-16
                                                                              33
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
Statistics
• Improvements to uPortal stats recording
  API
• Build reporting portlets




              12th Sakai Conference – Los Angeles, California – June 14-16
                                                                             35
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
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
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
What we wanted to achieve
Basic LTI
Sakai Connector Portlet
The Basic LTI Portlet for uPortal

OVERVIEW




               12th Sakai Conference – Los Angeles, California – June 14-16   39
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
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
Basic LTI request
http://localhost:8080/imsblti/provider/sakai.resources

context_id:901868c8-ea8c-45b9-a329-2ab8a1ab702c
lti_message_type:basic-lti-launch-request
lis_person_contact_email_primary:steve.swinsburg@gmail.com
lis_person_name_full:Steve Swinsburg
lti_version:LTI-1p0
oauth_consumer_key:my.anu.edu.au
oauth_nonce:1276220159279202000
oauth_signature:sppLAK277l5OldQOXl3MaAdXwUA=
oauth_signature_method:HMAC-SHA1
oauth_timestamp:1276220159
oauth_version:1.0
resource_link_id:Pluto_29_u24l1n19_
tool_consumer_instance_guid:my.anu.edu.au
user_id:e58d8daa-f9bf-482f-9b18-2c654f19e565


               12th Sakai Conference – Los Angeles, California – June 14-16   42
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
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
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
Sakai connector portlet


                                                  Set custom title
                                                  & frame height




                                             Choose site



                                             Choose tool




    12th Sakai Conference – Los Angeles, California – June 14-16     46
Sakai connector portlet




    12th Sakai Conference – Los Angeles, California – June 14-16   47
Sakai Connector Portlet

SCREENCAST




              12th Sakai Conference – Los Angeles, California – June 14-16   48
12th Sakai Conference – Los Angeles, California – June 14-16   49
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
Basic LTI Portlet

DEMO




                12th Sakai Conference – Los Angeles, California – June 14-16   51
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

More Related Content

Similar to Sakai and uPortal 4

XWiki Sakai Integration
XWiki Sakai IntegrationXWiki Sakai Integration
XWiki Sakai Integrationahocek
 
Fluor sakai la 2011
Fluor sakai la 2011Fluor sakai la 2011
Fluor sakai la 2011RolandGroen
 
Introduction to OSGi and Nakamura Services
Introduction to OSGi and Nakamura ServicesIntroduction to OSGi and Nakamura Services
Introduction to OSGi and Nakamura ServicesCarl Hall
 
Webinar: Fusion 2.3 Preview - Enhanced Features with Solr & Spark
Webinar: Fusion 2.3 Preview - Enhanced Features with Solr & SparkWebinar: Fusion 2.3 Preview - Enhanced Features with Solr & Spark
Webinar: Fusion 2.3 Preview - Enhanced Features with Solr & SparkLucidworks
 
uPortal Roadmap Community Call: uPortal 3.2 and Beyond
uPortal Roadmap Community Call: uPortal 3.2 and BeyonduPortal Roadmap Community Call: uPortal 3.2 and Beyond
uPortal Roadmap Community Call: uPortal 3.2 and BeyondJasig uPortal Project
 
Frances McNamara - Kuali OLE Implementation at University of Chicago
Frances McNamara - Kuali OLE Implementation at University of ChicagoFrances McNamara - Kuali OLE Implementation at University of Chicago
Frances McNamara - Kuali OLE Implementation at University of ChicagoKuali Days UK
 
One Discovery Layer, Eight Front Doors: Implementing Blacklight @ IU
One Discovery Layer, Eight Front Doors: Implementing Blacklight @ IUOne Discovery Layer, Eight Front Doors: Implementing Blacklight @ IU
One Discovery Layer, Eight Front Doors: Implementing Blacklight @ IUCourtney McDonald
 
Backing Library Operations with Open Source Applications
Backing Library Operations with Open Source ApplicationsBacking Library Operations with Open Source Applications
Backing Library Operations with Open Source ApplicationsMyka Kennedy Stephens
 
Practical Internationalization Improvement for Sakai CLE
Practical Internationalization Improvement for Sakai CLEPractical Internationalization Improvement for Sakai CLE
Practical Internationalization Improvement for Sakai CLEjfl_101010
 
The WorldCat Search API
The WorldCat Search APIThe WorldCat Search API
The WorldCat Search APIOCLC Research
 
Courtney Greene McDonald - Discovery Layer Strategies for Kuali OLE at Indian...
Courtney Greene McDonald - Discovery Layer Strategies for Kuali OLE at Indian...Courtney Greene McDonald - Discovery Layer Strategies for Kuali OLE at Indian...
Courtney Greene McDonald - Discovery Layer Strategies for Kuali OLE at Indian...Kuali Days UK
 
Sakai11 la assessmentportfolio
Sakai11 la assessmentportfolioSakai11 la assessmentportfolio
Sakai11 la assessmentportfolioRaynauld Jacques
 
Your API is Bad and You Should Feel Bad
Your API is Bad and You Should Feel BadYour API is Bad and You Should Feel Bad
Your API is Bad and You Should Feel BadAmanda Folson
 
NISO access related projects (presented at the Charleston conference 2016)
NISO access related projects (presented at the Charleston conference 2016)NISO access related projects (presented at the Charleston conference 2016)
NISO access related projects (presented at the Charleston conference 2016)Christine Stohn
 
Talis aspire developer un conference - 6 february 2013 - rc
Talis aspire   developer un conference  - 6 february 2013 - rcTalis aspire   developer un conference  - 6 february 2013 - rc
Talis aspire developer un conference - 6 february 2013 - rcTalis
 
How Pacific Northwest National Laboratory Uses AWS to Enable Data Science & R...
How Pacific Northwest National Laboratory Uses AWS to Enable Data Science & R...How Pacific Northwest National Laboratory Uses AWS to Enable Data Science & R...
How Pacific Northwest National Laboratory Uses AWS to Enable Data Science & R...Amazon Web Services
 
Visual Querying LOD sources with LODeX
 Visual Querying LOD sources with LODeX Visual Querying LOD sources with LODeX
Visual Querying LOD sources with LODeXFabio Benedetti
 

Similar to Sakai and uPortal 4 (20)

XWiki Sakai Integration
XWiki Sakai IntegrationXWiki Sakai Integration
XWiki Sakai Integration
 
Fluor sakai la 2011
Fluor sakai la 2011Fluor sakai la 2011
Fluor sakai la 2011
 
Introduction to OSGi and Nakamura Services
Introduction to OSGi and Nakamura ServicesIntroduction to OSGi and Nakamura Services
Introduction to OSGi and Nakamura Services
 
Webinar: Fusion 2.3 Preview - Enhanced Features with Solr & Spark
Webinar: Fusion 2.3 Preview - Enhanced Features with Solr & SparkWebinar: Fusion 2.3 Preview - Enhanced Features with Solr & Spark
Webinar: Fusion 2.3 Preview - Enhanced Features with Solr & Spark
 
uPortal Roadmap Community Call: uPortal 3.2 and Beyond
uPortal Roadmap Community Call: uPortal 3.2 and BeyonduPortal Roadmap Community Call: uPortal 3.2 and Beyond
uPortal Roadmap Community Call: uPortal 3.2 and Beyond
 
Frances McNamara - Kuali OLE Implementation at University of Chicago
Frances McNamara - Kuali OLE Implementation at University of ChicagoFrances McNamara - Kuali OLE Implementation at University of Chicago
Frances McNamara - Kuali OLE Implementation at University of Chicago
 
Pieper NISO Virtual Conf Feb17
Pieper NISO Virtual Conf Feb17Pieper NISO Virtual Conf Feb17
Pieper NISO Virtual Conf Feb17
 
One Discovery Layer, Eight Front Doors: Implementing Blacklight @ IU
One Discovery Layer, Eight Front Doors: Implementing Blacklight @ IUOne Discovery Layer, Eight Front Doors: Implementing Blacklight @ IU
One Discovery Layer, Eight Front Doors: Implementing Blacklight @ IU
 
NISO Webinar: The Future of Integrated Library Systems PART 2: User Interaction
NISO Webinar: The Future of Integrated Library Systems PART 2: User InteractionNISO Webinar: The Future of Integrated Library Systems PART 2: User Interaction
NISO Webinar: The Future of Integrated Library Systems PART 2: User Interaction
 
Backing Library Operations with Open Source Applications
Backing Library Operations with Open Source ApplicationsBacking Library Operations with Open Source Applications
Backing Library Operations with Open Source Applications
 
Practical Internationalization Improvement for Sakai CLE
Practical Internationalization Improvement for Sakai CLEPractical Internationalization Improvement for Sakai CLE
Practical Internationalization Improvement for Sakai CLE
 
The WorldCat Search API
The WorldCat Search APIThe WorldCat Search API
The WorldCat Search API
 
Courtney Greene McDonald - Discovery Layer Strategies for Kuali OLE at Indian...
Courtney Greene McDonald - Discovery Layer Strategies for Kuali OLE at Indian...Courtney Greene McDonald - Discovery Layer Strategies for Kuali OLE at Indian...
Courtney Greene McDonald - Discovery Layer Strategies for Kuali OLE at Indian...
 
Sakai11 la assessmentportfolio
Sakai11 la assessmentportfolioSakai11 la assessmentportfolio
Sakai11 la assessmentportfolio
 
Your API is Bad and You Should Feel Bad
Your API is Bad and You Should Feel BadYour API is Bad and You Should Feel Bad
Your API is Bad and You Should Feel Bad
 
NISO Webinar: The Future of Integrated Library Systems PART 2: User Interaction
NISO Webinar: The Future of Integrated Library Systems PART 2: User InteractionNISO Webinar: The Future of Integrated Library Systems PART 2: User Interaction
NISO Webinar: The Future of Integrated Library Systems PART 2: User Interaction
 
NISO access related projects (presented at the Charleston conference 2016)
NISO access related projects (presented at the Charleston conference 2016)NISO access related projects (presented at the Charleston conference 2016)
NISO access related projects (presented at the Charleston conference 2016)
 
Talis aspire developer un conference - 6 february 2013 - rc
Talis aspire   developer un conference  - 6 february 2013 - rcTalis aspire   developer un conference  - 6 february 2013 - rc
Talis aspire developer un conference - 6 february 2013 - rc
 
How Pacific Northwest National Laboratory Uses AWS to Enable Data Science & R...
How Pacific Northwest National Laboratory Uses AWS to Enable Data Science & R...How Pacific Northwest National Laboratory Uses AWS to Enable Data Science & R...
How Pacific Northwest National Laboratory Uses AWS to Enable Data Science & R...
 
Visual Querying LOD sources with LODeX
 Visual Querying LOD sources with LODeX Visual Querying LOD sources with LODeX
Visual Querying LOD sources with LODeX
 

More from Jennifer Bourey

Migrating a 1M+ LOC project from AngularJS to Angular
Migrating a 1M+ LOC project from AngularJS to AngularMigrating a 1M+ LOC project from AngularJS to Angular
Migrating a 1M+ LOC project from AngularJS to AngularJennifer Bourey
 
Delivering Mobile Course Content with uMobile
Delivering Mobile Course Content with uMobileDelivering Mobile Course Content with uMobile
Delivering Mobile Course Content with uMobileJennifer Bourey
 
uMobile: Jasig-Sakai 2012
uMobile: Jasig-Sakai 2012uMobile: Jasig-Sakai 2012
uMobile: Jasig-Sakai 2012Jennifer Bourey
 
uMobile Preconference Seminar
uMobile Preconference SeminaruMobile Preconference Seminar
uMobile Preconference SeminarJennifer Bourey
 
uMobile: Taking Mobile Applications and Devices to the Next Level
uMobile: Taking Mobile Applications and Devices to the Next LeveluMobile: Taking Mobile Applications and Devices to the Next Level
uMobile: Taking Mobile Applications and Devices to the Next LevelJennifer Bourey
 
Rich Portlet Development in uPortal
Rich Portlet Development in uPortalRich Portlet Development in uPortal
Rich Portlet Development in uPortalJennifer Bourey
 

More from Jennifer Bourey (8)

Migrating a 1M+ LOC project from AngularJS to Angular
Migrating a 1M+ LOC project from AngularJS to AngularMigrating a 1M+ LOC project from AngularJS to Angular
Migrating a 1M+ LOC project from AngularJS to Angular
 
Getting to Angular 2
Getting to Angular 2Getting to Angular 2
Getting to Angular 2
 
Delivering Mobile Course Content with uMobile
Delivering Mobile Course Content with uMobileDelivering Mobile Course Content with uMobile
Delivering Mobile Course Content with uMobile
 
uMobile: Jasig-Sakai 2012
uMobile: Jasig-Sakai 2012uMobile: Jasig-Sakai 2012
uMobile: Jasig-Sakai 2012
 
uMobile Preconference Seminar
uMobile Preconference SeminaruMobile Preconference Seminar
uMobile Preconference Seminar
 
uMobile: Taking Mobile Applications and Devices to the Next Level
uMobile: Taking Mobile Applications and Devices to the Next LeveluMobile: Taking Mobile Applications and Devices to the Next Level
uMobile: Taking Mobile Applications and Devices to the Next Level
 
Rich Portlet Development in uPortal
Rich Portlet Development in uPortalRich Portlet Development in uPortal
Rich Portlet Development in uPortal
 
uPortal 3.2 And Beyond
uPortal 3.2 And BeyonduPortal 3.2 And Beyond
uPortal 3.2 And Beyond
 

Recently uploaded

Fact vs. Fiction: Autodetecting Hallucinations in LLMs
Fact vs. Fiction: Autodetecting Hallucinations in LLMsFact vs. Fiction: Autodetecting Hallucinations in LLMs
Fact vs. Fiction: Autodetecting Hallucinations in LLMsZilliz
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesExploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesSanjay Willie
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dashnarutouzumaki53779
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Fact vs. Fiction: Autodetecting Hallucinations in LLMs
Fact vs. Fiction: Autodetecting Hallucinations in LLMsFact vs. Fiction: Autodetecting Hallucinations in LLMs
Fact vs. Fiction: Autodetecting Hallucinations in LLMs
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesExploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dash
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

Sakai and uPortal 4

  • 1. Sakai and uPortal 4 Jennifer Bourey, Software Developer, Unicon Steve Swinsburg, Software Engineer, ANU
  • 2. 12th Sakai Conference – Los Angeles, California – June 14-16 2
  • 3. Framework Image courtesy of http://www.flickr.com/photos/nocallerid_man/ 12th Sakai Conference – Los Angeles, California – June 14-16
  • 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. 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. 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. Smaller Codebase 12th Sakai Conference – Los Angeles, California – June 14-16
  • 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. 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. Administrative Tools 12th Sakai Conference – Los Angeles, California – June 14-16
  • 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. 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. Re-usable Webflows 12th Sakai Conference – Los Angeles, California – June 14-16
  • 14. Re-usable JavaScript 12th Sakai Conference – Los Angeles, California – June 14-16
  • 15. Groups Administration 12th Sakai Conference – Los Angeles, California – June 14-16
  • 16. Groups-Permissions Integration 12th Sakai Conference – Los Angeles, California – June 14-16
  • 17. Permissions Administration 12th Sakai Conference – Los Angeles, California – June 14-16
  • 18. User Administration 12th Sakai Conference – Los Angeles, California – June 14-16
  • 19. User Interface 12th Sakai Conference – Los Angeles, California – June 14-16
  • 20.
  • 21.
  • 22. 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
  • 23. Mobile Support 12th Sakai Conference – Los Angeles, California – June 14-16
  • 24. Integration Image courtesy of http://www.flickr.com/photos/myklroventine/ 12th Sakai Conference – Los Angeles, California – June 14-16
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. Courses Portlet 12th Sakai Conference – Los Angeles, California – June 14-16
  • 32. Future Directions 12th Sakai Conference – Los Angeles, California – June 14-16
  • 33. 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
  • 34. 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
  • 35. Statistics • Improvements to uPortal stats recording API • Build reporting portlets 12th Sakai Conference – Los Angeles, California – June 14-16 35
  • 36. 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
  • 37. 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
  • 38. 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
  • 39. What we wanted to achieve Basic LTI Sakai Connector Portlet The Basic LTI Portlet for uPortal OVERVIEW 12th Sakai Conference – Los Angeles, California – June 14-16 39
  • 40. 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
  • 41. 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
  • 42. Basic LTI request http://localhost:8080/imsblti/provider/sakai.resources context_id:901868c8-ea8c-45b9-a329-2ab8a1ab702c lti_message_type:basic-lti-launch-request lis_person_contact_email_primary:steve.swinsburg@gmail.com lis_person_name_full:Steve Swinsburg lti_version:LTI-1p0 oauth_consumer_key:my.anu.edu.au oauth_nonce:1276220159279202000 oauth_signature:sppLAK277l5OldQOXl3MaAdXwUA= oauth_signature_method:HMAC-SHA1 oauth_timestamp:1276220159 oauth_version:1.0 resource_link_id:Pluto_29_u24l1n19_ tool_consumer_instance_guid:my.anu.edu.au user_id:e58d8daa-f9bf-482f-9b18-2c654f19e565 12th Sakai Conference – Los Angeles, California – June 14-16 42
  • 43. 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
  • 44. 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
  • 45. 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
  • 46. Sakai connector portlet Set custom title & frame height Choose site Choose tool 12th Sakai Conference – Los Angeles, California – June 14-16 46
  • 47. Sakai connector portlet 12th Sakai Conference – Los Angeles, California – June 14-16 47
  • 48. Sakai Connector Portlet SCREENCAST 12th Sakai Conference – Los Angeles, California – June 14-16 48
  • 49. 12th Sakai Conference – Los Angeles, California – June 14-16 49
  • 50. 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
  • 51. Basic LTI Portlet DEMO 12th Sakai Conference – Los Angeles, California – June 14-16 51
  • 52. 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