Your SlideShare is downloading. ×
Delivering Mobile Course Content with uMobile
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Delivering Mobile Course Content with uMobile


Published on

Published in: Technology, Education

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Delivering Mobile CourseContent with uMobileJennifer Bourey, UniconJasig-Sakai Conference 2012
  • 2. About UniconTrusted Partner since 1993Expertise in Open Source Software for EducationProfessional Services for uPortal, Sakai, CAS, Shib,Grouper, and soon Student Success PlannerInnovative Cooperative Support Program
  • 3. uMobile Courses Module
  • 4. FeaturesList of courses for authenticated student by semesterImportant course details, recent updatesDeep links to other uMobile modules
  • 5. Courses Portlet API XSD defines XML data structure Generate Java object model from XSD Publish Java object model and use in integration projects
  • 6. Courses XML Structure<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></url> <instructor> <abbreviation>Faculty</abbreviation> <fullName>Joe Faculty, Phd</fullName> <identifier>faculty</identifier> </instructor> <grade>A</grade> <credits>4</credits> </course></course-summary>
  • 7. Multiple Data SourcesMany universities have multiple LMSs Chosen by school, professor, etc. Single student may have courses in eachSome data may be in an SIS system instead!Merge multiple sources together on a unique identifier
  • 8. SIS ERPMoodle Sakai
  • 9. SakaiMerged ERP DSC 101 name: Design Awareness DSC 101DSC 101 announcements: name: Design Awareness instructor: Cross Guest lecture Thursday . . . location: North 162 announcements: IND 120 Guest lecture Thursday . . . time: MWF 1:30-2:30 name: Drawing for Industry IND 120 instructor: cross ENG 101 location: North 162 instructor: Cross name: First-Year Composition ENG 101 time MWF 1:30-2:30 grade: A instructor: CrossIND 120 MAT 170 name: Drawing for Industry instructor: Cross instructor: cross GRA 111 grade: B Moodle instructor: CrossENG 101 name: First-Year Composition MAT 170 instructor: cross name: Precalculus grade: A GRA 111 SISMAT 170 name: Graphic Design History name: Precalculus DSC 101 instructor: cross grade: A grade: B IND 120GRA 111 grade: B name: Graphic Design History ENG 101 instructor: cross grade: A MAT 170 grade: B
  • 10. Controller Merging Courses DAO CachingMoodle DAO Sakai DAO SIS DAO ERP DAO
  • 11. Linking to Other Modules
  • 12. URL Redirection ServiceMap well-defined URL to a portlet or external URLTransform parameter namesDefine additional parameters
  • 13. uMobile URLs<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>
  • 14. External URLs<util:map id="redirectionServices"> <entry key="person"> <bean class="org.jasig.portal.redirect.ExternalRedirectionUrl" p:url=""> <property name="dynamicParameters"> <map> <entry key="id" value="query"/> </map> </property> </bean> </entry></util:map>
  • 15. Courses Module LinksCurrent support for Directory MapFuture other uMobile modules custom campus resources
  • 16. Authentication
  • 17. uMobile AppCurrent implementations encrypt and store userpassword, replay into web-based auth forms uPortal local authentication CAS ShibbolethLooking to implement OAuth support
  • 18. Courses ModuleConfigurable authentication layer will enable Trust relationships Credential replay ProxyCAS Delegated SAML Custom authentication schemes
  • 19. Sakai ConnectorImplementation
  • 20. Custom ModuleProduces XML-formatted REST feedBy default uses Basic Auth but could use ProxyCAS,etc.
  • 21. Sakai Connector@Controllerpublic class CourseSummaryFeed { @RequestMapping("/course-summary") public void getCourseSummary(HttpServletResponse response, Writer out) throws IOException { // collect the users 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); }}
  • 22. Upcoming FeaturesPublic course listConfigurable authenticationAdditional synoptic information Messages Forum postsDocumentation
  • 23. Integration ImprovementsMove from custom feed to Entity Broker Gather data with fewer HTTP requests Support for additional tools XML format improvements
  • 24. Upcoming FeaturesPublic course listConfigurable authenticationSearch integration
  • 25. Longer-Term RoadmapMore Interactive features Create forum posts Upload media
  • 26. Additional IntegrationTargets
  • 27. SearchMerges search results frommultiple search services Google Search Appliance, campus directoryIntegration point allowsJSR-286 portlets to publishsearch results Planned integration with courses portlet
  • 28. CalendarRead-only calendaraggregatorSupports proxiedauthentication, credentialreplay
  • 29. VideosYouTube videos moduleNews reader module supportsAtom, RSSPlanned improvements to bettersupport podcasts, other dataformats
  • 30. Notifications Merges together personalized notifications from multiple campus services Planning to add mobile views
  • 31. Creating Custom Content
  • 32. Custom Portlet ModulesCreate custom portlet modules using JSR-168 /JSR-286 specificationCustom maven archetype for quick project creationAvailable to both mobile browser and native appCan potentially share logic with desktop portal views
  • 33. Custom Native ModulesCreate custom native modules using TitaniumAppceleratorWrite code once in JavaScript, compile to iOS andAndroid native app projects
  • 34. Native Modules using REST Target Server Return user-Request data from specific data as REST service JSON Present native components uMobile based on REST data App
  • 35. External ModulesInclude external browser-based mobile content inuMobile appHelps support content created in other languages,frameworksBest when combined with SSO
  • 36. External ExamplesSakai PDA portalFuture Sakai browser-basedmobile resourcesMobile library websitesOther useful mobile campusresources
  • 37. Moving Forward
  • 38. What do our users want?What content is useful?How do those answers change by role?How do new technologies impact what mobile serviceswe offer?
  • 39. UPMC Video Streaming
  • 40. Mobile Collaboration Jasig lists umobile-user portlet-user Sakai lists mobile
  • 41. Questions? Jen Bourey