moodbile, a moodle web services extension and mobile apps
DESCRIPTION
Jordi Piguillem, Marc Alier Forment, Maria Jose Casan, Enric Mayol, Nikolas Galanis, Francisco Jose Garcia Penalvo and Miguel Angel Conde.TRANSCRIPT
1st Moodle Research Conference 2012
Moodbile: a Moodle web services extension for mobile applications
Jordi Piguillem, Marc Alier, María José Casany, Enric Mayol, Nikolas Galanis, Franciso J. García-Peñalvo, Miguel
Ángel Conde
1st Moodle Research Conference 2012
Motivation
Accessibility of internet-enabled mobile devices (smartphones, tablets, ultrabooks, etc.)
Moodle UI not optimized for small touch screens
Increasing percentage of accesses of Atenea (UPC Moodle server) done via mobile devices
1st Moodle Research Conference 2012
Motivation
Atenea: UPC’s Moodle based digital platform
Some access numbers for the first 6 months of 2011 (Casany et al. 2012): Total number of logged actions: ~15M Actions from mobile devices: 3,76% % of actions from PCs that are logins: 30,41% % of actions from mobile devices that are logins: 49,51%
1st Moodle Research Conference 2012
Issues
Moodle 2.0 shipped with Web Services Architecture
Provided web services are mostly geared towards:
– Bulk Operations– Administration
We need web services for accessing:– Activity modules– Contents– Language strings– Messages– Capabilities
1st Moodle Research Conference 2012
Moodle Web Services Architecture
Adds two logical layers to Moodle’s architecture
1. Moodle External API Layer
2. Web Services Connector Layer
1st Moodle Research Conference 2012
Moodbile
Design an extension to Moodle Web Services Architecture that provides access to the most suitable features for mobile applications
Features identified using two sources (Casany et al. 2012):
1. Atenea’s web server logs
2. Atenea’s Moodle logs
1st Moodle Research Conference 2012
Moodbile Architecture
1st Moodle Research Conference 2012
External API Layer
Implementation of the services for mobile integration Basic Services
– Course, User, Groups
Course Content Services– Assignment, Forum, Resource, Quiz
Personal Content Services– Blog, Calendar, Grade, Message
System Services– Lang, System
1st Moodle Research Conference 2012
External Functions Implementation
1st Moodle Research Conference 2012
Implementation of a class
1st Moodle Research Conference 2012
WS Connectors Layer
Provides additional web service protocols• JSON (AJAX with JSON format messages)• JSONP• JSON-RPC• JSON-RPC with OAuth• REST with OAuth
1st Moodle Research Conference 2012
Connector Architecture
1st Moodle Research Conference 2012
Authentication
In a mobile environment, security issues are critical
IP filtering is not possible for mobile devices OAuth as an alternative to username/password
and token methods Choice of protocol and authentication left to the
various clients.• HTML5: JSON-AJAX• Android: JSON-RPC, JSON-RPC/OAuth• iOS: Rest/OAuth
1st Moodle Research Conference 2012
Moodbile Clients
HTML5 Android iOS
1st Moodle Research Conference 2012
Some Useful Links
Moodbile web:
http://www.moodbile.org/
Moodbile documentation:
http://docs.moodbile.org/
Moodbile Web Services Documentation:
http://docs.moodbile.org/index.php?title=Moodbile_WS_Latest_Version_Documentation