moodbile, a moodle web services extension and mobile apps

15
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

Upload: mrc12

Post on 15-Jun-2015

2.655 views

Category:

Technology


0 download

DESCRIPTION

Jordi Piguillem, Marc Alier Forment, Maria Jose Casan, Enric Mayol, Nikolas Galanis, Francisco Jose Garcia Penalvo and Miguel Angel Conde.

TRANSCRIPT

Page 1: Moodbile, a Moodle web services extension and mobile apps

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

Page 2: Moodbile, a Moodle web services extension and mobile apps

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

Page 3: Moodbile, a Moodle web services extension and mobile apps

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%

Page 4: Moodbile, a Moodle web services extension and mobile apps

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

Page 5: Moodbile, a Moodle web services extension and mobile apps

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

Page 6: Moodbile, a Moodle web services extension and mobile apps

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

Page 7: Moodbile, a Moodle web services extension and mobile apps

1st Moodle Research Conference 2012

Moodbile Architecture

Page 8: Moodbile, a Moodle web services extension and mobile apps

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

Page 9: Moodbile, a Moodle web services extension and mobile apps

1st Moodle Research Conference 2012

External Functions Implementation

Page 10: Moodbile, a Moodle web services extension and mobile apps

1st Moodle Research Conference 2012

Implementation of a class

Page 11: Moodbile, a Moodle web services extension and mobile apps

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

Page 12: Moodbile, a Moodle web services extension and mobile apps

1st Moodle Research Conference 2012

Connector Architecture

Page 13: Moodbile, a Moodle web services extension and mobile apps

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

Page 14: Moodbile, a Moodle web services extension and mobile apps

1st Moodle Research Conference 2012

Moodbile Clients

HTML5 Android iOS

Page 15: Moodbile, a Moodle web services extension and mobile apps

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