Delivering Mobile Course Content with uMobile
-
Upload
jennifer-bourey -
Category
Technology
-
view
492 -
download
3
description
Transcript of Delivering Mobile Course Content with uMobile
![Page 1: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/1.jpg)
Delivering Mobile Course Content with uMobileJennifer Bourey, UniconJasig-Sakai Conference 2012
![Page 2: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/2.jpg)
About Unicon
Trusted Partner since 1993
Expertise in Open Source Software for Education
Professional Services for uPortal, Sakai, CAS, Shib, Grouper, and soon Student Success Planner
Innovative Cooperative Support Program
![Page 3: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/3.jpg)
uMobile Courses Module
![Page 4: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/4.jpg)
Features
List of courses for authenticated student by semester
Important course details, recent updates
Deep links to other uMobile modules
![Page 5: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/5.jpg)
Courses Portlet API
XSD defines XML data structure
Generate Java object model from XSD
Publish Java object model and use in integration projects
![Page 6: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/6.jpg)
<course-summary> <term_code>Spring 2012</term_code> <gpa>3.7</gpa> <credits>20</credits>
<course> <title>Graphic Design History</title> <code>GRA 111</code> <school>School of Design</school> <location> <displayName>WLH 205</displayName> <identifier>WLH</identifier> </location> <meetingTimes>M-W-F, 1:30-2:30pm</meetingTimes> <url>http://courses.university.edu/dsc101/s11</url> <instructor> <abbreviation>Faculty</abbreviation> <fullName>Joe Faculty, Phd</fullName> <identifier>faculty</identifier> </instructor> <grade>A</grade> <credits>4</credits> </course>
</course-summary>
Courses XML Structure
![Page 7: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/7.jpg)
Multiple Data Sources
Many universities have multiple LMSs
Chosen by school, professor, etc.
Single student may have courses in each
Some data may be in an SIS system instead!
Merge multiple sources together on a unique identifier
![Page 8: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/8.jpg)
SakaiMoodle
SIS
ERP
![Page 9: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/9.jpg)
Sakai
DSC 101name: Design Awarenessannouncements:
Guest lecture Thursday . . .IND 120
name: Drawing for IndustryENG 101
name: First-Year Composition
Moodle
MAT 170name: Precalculus
GRA 111 name: Graphic Design History
ERP
DSC 101instructor: Crosslocation: North 162time: MWF 1:30-2:30
IND 120instructor: Cross
ENG 101instructor: Cross
MAT 170instructor: Cross
GRA 111 instructor: Cross
SIS
DSC 101grade: A
IND 120grade: B
ENG 101grade: A
MAT 170grade: B
Merged
DSC 101name: Design Awarenessannouncements:
Guest lecture Thursday . . .instructor: crosslocation: North 162time MWF 1:30-2:30grade: A
IND 120name: Drawing for Industryinstructor: crossgrade: B
ENG 101name: First-Year Compositioninstructor: crossgrade: A
MAT 170name: Precalculusinstructor: crossgrade: B
GRA 111 name: Graphic Design Historyinstructor: cross
![Page 10: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/10.jpg)
Merging Courses DAO
Moodle DAO Sakai DAO SIS DAO ERP DAO
Caching
Controller
![Page 11: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/11.jpg)
Linking to Other Modules
![Page 12: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/12.jpg)
URL Redirection Service
Map well-defined URL to a portlet or external URL
Transform parameter names
Define additional parameters
![Page 13: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/13.jpg)
<util:map id="redirectionServices"> <entry key="person"> <bean class="org.jasig.portal.redirect.PortletRedirectionUrl" p:fname="directory" p:mode="VIEW" p:type="RENDER"> <property name="dynamicParameters"> <map> <entry key="id" value="username"/> </map> </property> <property name="additionalParameters"> <map> <entry key="action" value="findByUsername"/> </map> </property> </bean> </entry></util:map>
uMobile URLs
![Page 14: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/14.jpg)
<util:map id="redirectionServices"> <entry key="person"> <bean class="org.jasig.portal.redirect.ExternalRedirectionUrl" p:url="http://directory.university.edu/search"> <property name="dynamicParameters"> <map> <entry key="id" value="query"/> </map> </property> </bean> </entry></util:map>
External URLs
![Page 15: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/15.jpg)
Courses Module Links
Current support for
Directory
Map
Future
other uMobile modules
custom campus resources
![Page 16: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/16.jpg)
Authentication
![Page 17: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/17.jpg)
uMobile App
Current implementations encrypt and store user password, replay into web-based auth forms
uPortal local authentication
CAS
Shibboleth
Looking to implement OAuth support
![Page 18: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/18.jpg)
Courses Module
Configurable authentication layer will enable
Trust relationships
Credential replay
ProxyCAS
Delegated SAML
Custom authentication schemes
![Page 19: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/19.jpg)
Sakai Connector Implementation
![Page 20: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/20.jpg)
Custom Module
Produces XML-formatted REST feed
By default uses Basic Auth but could use ProxyCAS, etc.
https://source.sakaiproject.org/contrib/jasig-courses-integration/
![Page 21: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/21.jpg)
@Controllerpublic class CourseSummaryFeed { @RequestMapping("/course-summary") public void getCourseSummary(HttpServletResponse response, Writer out) throws IOException {
// collect the user's sites List<Site> sites = (List<Site>) siteService.getSites(params); CourseSummary summary = new CourseSummary(); // add each course for (Site site : sites) { Course course = new Course(); course.setTitle(site.getTitle()); course.setCode(site.getId()); course.setUrl(site.getUrl());
// more stuff: instructors, announcements, etc.
summary.getCourses().add(course); } // serialize the course summary out as XML response.setContentType("text/xml");
JAXBContext jaxbContext = JAXBContext.newInstance(CourseSummary.class); Marshaller marshaller = jaxbContext.createMarshaller(); marshaller.marshal(summary, out); }}
Sakai Connector
![Page 22: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/22.jpg)
Upcoming Features
Public course list
Configurable authentication
Additional synoptic information
Messages
Forum posts
Documentation
![Page 23: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/23.jpg)
Integration Improvements
Move from custom feed to Entity Broker
Gather data with fewer HTTP requests
Support for additional tools
XML format improvements
![Page 24: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/24.jpg)
Upcoming Features
Public course list
Configurable authentication
Search integration
![Page 25: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/25.jpg)
Longer-Term Roadmap
More Interactive features
Create forum posts
Upload media
![Page 26: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/26.jpg)
Additional Integration Targets
![Page 27: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/27.jpg)
Search
Merges search results from multiple search services
Google Search Appliance, campus directory
Integration point allows JSR-286 portlets to publish search results
Planned integration with courses portlet
![Page 28: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/28.jpg)
Calendar
Read-only calendar aggregator
Supports proxied authentication, credential replay
![Page 29: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/29.jpg)
Videos
YouTube videos module
News reader module supports Atom, RSS
Planned improvements to better support podcasts, other data formats
![Page 30: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/30.jpg)
Notifications
Merges together personalized notifications from multiple campus services
Planning to add mobile views
![Page 31: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/31.jpg)
Creating Custom Content
![Page 32: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/32.jpg)
Custom Portlet Modules
Create custom portlet modules using JSR-168 / JSR-286 specification
Custom maven archetype for quick project creation
Available to both mobile browser and native app
Can potentially share logic with desktop portal views
![Page 33: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/33.jpg)
Custom Native Modules
Create custom native modules using Titanium Appcelerator
Write code once in JavaScript, compile to iOS and Android native app projects
![Page 34: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/34.jpg)
Present native components based on REST data
Request data fromREST service
Return user-specific data as
JSON
TargetServer
uMobileApp
Native Modules using REST
![Page 35: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/35.jpg)
External Modules
Include external browser-based mobile content in uMobile app
Helps support content created in other languages, frameworks
Best when combined with SSO
![Page 36: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/36.jpg)
External Examples
Sakai PDA portal
Future Sakai browser-based mobile resources
Mobile library websites
Other useful mobile campus resources
![Page 37: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/37.jpg)
Moving Forward
![Page 38: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/38.jpg)
What do our users want?
What content is useful?
How do those answers change by role?
How do new technologies impact what mobile services we offer?
![Page 39: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/39.jpg)
UPMC Video Streaming
![Page 40: Delivering Mobile Course Content with uMobile](https://reader034.fdocuments.net/reader034/viewer/2022051816/54670de3af7959c6768b57bf/html5/thumbnails/40.jpg)
Mobile Collaboration
Jasig lists
umobile-user
portlet-user
Sakai lists
http://collab.sakaiproject.org/mailman/listinfo/sakai-mobile