Moodle offline

Long Title: Moodle Offline
Scuola Universitaria Professionale della Svizzera Italiana
Universita della Svizzera Italiana
Domain: ELS
Status: finished
Start Date: 01.08.2011
End Date: 31.03.2012
Project Leader: R. Mazza

Commuting from home to university, travelling, or working in locations where the access to an internet connection is not available? Fed up with instable internet connection during transport? Moodle Offline allows you to synchronize with the Moodle server and to work with your offline client providing access to course materials and activities.


The Moodle Offline software is available as open source code under GPL software license.

The project team has implemented the software for offering students the possibility to access Moodle courses in off-line mode, without a stable internet connection. It works as a client-server approach, where the server part is represented by a specific module to be installed on the "master" Moodle server and a client part as a standard version of Moodle, enriched by some interfaces for coupling with the server. The client part is able to retrieve (when the internet connection is on) the list of available offline courses from the server and import a copy of the course. Such an architecture could support the access, in a read-only way, to the resources available in different cases, like commuting without Internet access, or being in a place where the network is not economically affordable or enough stable.

Initial Situation

There are several situations where an internet connection is not available: when people are travelling/commuting from home to office or schools, or when people are in locations where the access to an internet connection is not available (for instance, in rural or mountains area) or because of financial issues such that they cannot afford constant connectivity. There are other situations where the internet connection is available, but it is not enough reliable to allow a fluid and optimal access to the content of the course: this is the case of people traveling with their internet connected laptop on public transports (train, bus, ...) or for users in developing countries, such as in Africa, where the internet infrastructures are not yet reliable and are sometimes down.
These users have intermittent connectivity that makes the online learning experience frustrating.
In USI about 40% of students of Communication Sciences come from Italy or from other Swiss Cantons. Analysis of access of the Moodle platform show an increasing interest to access Moodle using mobile devices.


A technical solution based on an extension of Moodle (v2.x) that will be installed on the learners' laptop will be implemented. It allows people to use the Moodle courses when they are not online or have unsatisfactory access to the internet.
This personal installation of Moodle will allow learners to access the content of the courses even when the internet connection is not available, and can synchronize with a remote Moodle server when the connection is up. The offline mode will allow students with no or limited internet connection to browse resources or do some limited activities, while the online mode will allow to do any type of activity, since the users are connected with a central server.
Differently from other offline Moodle solutions, such as Poodle, or MoWeS' Portable, which allows running Moodle Offline on a USB stick and does not sync with a Moodle site, this solution is focused on the synchronization of the courses.


Target users are learners who need to access Moodle when they are not connected to internet for a long time. All students and lecturers using Moodle might benefit when traveling on public transports or at home.
Moodle is a very popular LMS, with several installations in Switzerland. As Moodle is free software, it is used also in developing countries. The software that will be produced will be released as free software (GNU general public license); hence the involved number of users could be very large.


Offline Moodle will be implemented as a client-server architecture:

  • the client part consists of a Moodle software application that runs on the learner's computer,
  • the server part consists of a Moodle software application that runs on a server.

Client part: The client has the ability to connect to the server when the internet connection is available and synchronize with the central server. It is a fully working Moodle instance that run in a local computer/laptop of the student. This Moodle instance will have additional software module that gives the local Moodle instance the capability of synchronizing with a remote Moodle server. The student can have full admin control of that Moodle instance. In order to avoid any technical difficulties to the student on the installation of the Moodle instance on their computer, a way to install and run the client part on a USB stick should be provided. In this way, the installation is as simple as downloading the package and copying to the USB stick. Then it can be used on different devices simply by detaching the stick from one a computer and connecting it to another.
The user will be notified when he/she is working offline, since in this modality the activities can be used only in read-only modality.

Server part: It consists of a regular Moodle instance that contains additional software to support the synchronization process. The Moodle server will respond to client requests, decides whether to accept or reject the requests from Moodle clients, and selects what data processing operations to perform. Only Moodle clients that have included synchronization capabilities can connect to the server.

Synchronization: A partial, one-way synchronization will be implemented. Only the server updates the client with the changes. After the synchronization process is completed, the client will possess the same data as the Moodle server. The other way synchronization (from the client to the server) is not possible, that means that learners or instructors cannot perform operations on the client, since these operations cannot be reflected to the server. Because of this restriction, the offline client Moodle will provide access to

  • course materials (namely, the files, resources, and Scorm contents) and to
  • all activities - in particular, quizzes, database, glossary, wiki, forum, assignment (those that can be used without an internet connection and don't require a synchronization with the Moodle server)

in modality read-only.
The advantage of this simple synchronization between two Moodle instances is that the needed infrastructure to support this processes requires a minimal changes to Moodle core code and is technically feasible with a limited amount of work.