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

No notes for slide

Delivering Mobile Course Content with uMobile

  1. 1. Delivering Mobile CourseContent with uMobileJennifer Bourey, UniconJasig-Sakai Conference 2012
  2. 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. 3. uMobile Courses Module
  4. 4. FeaturesList of courses for authenticated student by semesterImportant course details, recent updatesDeep links to other uMobile modules
  5. 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. 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. 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. 8. SIS ERPMoodle Sakai
  9. 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. 10. Controller Merging Courses DAO CachingMoodle DAO Sakai DAO SIS DAO ERP DAO
  11. 11. Linking to Other Modules
  12. 12. URL Redirection ServiceMap well-defined URL to a portlet or external URLTransform parameter namesDefine additional parameters
  13. 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. 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. 15. Courses Module LinksCurrent support for Directory MapFuture other uMobile modules custom campus resources
  16. 16. Authentication
  17. 17. uMobile AppCurrent implementations encrypt and store userpassword, replay into web-based auth forms uPortal local authentication CAS ShibbolethLooking to implement OAuth support
  18. 18. Courses ModuleConfigurable authentication layer will enable Trust relationships Credential replay ProxyCAS Delegated SAML Custom authentication schemes
  19. 19. Sakai ConnectorImplementation
  20. 20. Custom ModuleProduces XML-formatted REST feedBy default uses Basic Auth but could use ProxyCAS,etc.
  21. 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. 22. Upcoming FeaturesPublic course listConfigurable authenticationAdditional synoptic information Messages Forum postsDocumentation
  23. 23. Integration ImprovementsMove from custom feed to Entity Broker Gather data with fewer HTTP requests Support for additional tools XML format improvements
  24. 24. Upcoming FeaturesPublic course listConfigurable authenticationSearch integration
  25. 25. Longer-Term RoadmapMore Interactive features Create forum posts Upload media
  26. 26. Additional IntegrationTargets
  27. 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. 28. CalendarRead-only calendaraggregatorSupports proxiedauthentication, credentialreplay
  29. 29. VideosYouTube videos moduleNews reader module supportsAtom, RSSPlanned improvements to bettersupport podcasts, other dataformats
  30. 30. Notifications Merges together personalized notifications from multiple campus services Planning to add mobile views
  31. 31. Creating Custom Content
  32. 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. 33. Custom Native ModulesCreate custom native modules using TitaniumAppceleratorWrite code once in JavaScript, compile to iOS andAndroid native app projects
  34. 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. 35. External ModulesInclude external browser-based mobile content inuMobile appHelps support content created in other languages,frameworksBest when combined with SSO
  36. 36. External ExamplesSakai PDA portalFuture Sakai browser-basedmobile resourcesMobile library websitesOther useful mobile campusresources
  37. 37. Moving Forward
  38. 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. 39. UPMC Video Streaming
  40. 40. Mobile Collaboration Jasig lists umobile-user portlet-user Sakai lists mobile
  41. 41. Questions? Jen Bourey