← blogs.sussex.ac.uk

Google docs and Moodle integration

Collaborative working is a useful practice to enhance learning. Online document sharing such as that possible with Google docs provides a platform for collaborative working online.  This is one of the reasons why we are excited by the possibility of a Google docs and Moodle integration.

Another reason we are excited by the integration is that Google docs provides friendly access to file types that are otherwise difficult or impossible to view on mobile and tablet devices. This is particularly important as access to our Moodle through mobiles and tablets increased five times since the same time last year and articles such as “Why mobile matters” lead us to believe that our Moodle will soon be accessed more by mobile and tablet devices than laptops or desktops.

On a development Moodle install we have integrated Google docs and Moodle. On this system a tutor can make files available through a download, Google docs itself for collaborative work or a Google docs viewer respecting the Moodle permissions.


There are issues about allowing our files to be accessed by Google docs as the files become subject to the standard Web 2 licensing models. We don’t know how our academics would respond to this. We are investigating other options too such as Crocodocs and Zoho viewer.

I welcome any comments or suggestions regarding the issues that this integration raises.

Security and technical details

The Google file viewer can respect the Moodle permissions. This is how we did it.

When the Google file viewer views a file  it does not have the user or session variables available and so the script which serves the file cannot require login.

To get around this we write a record storing the url and time of access is written to a database table at the time of selecting to view the file. When the Google file viewer attempts to view the file, the url and time (within a second) must match the record just written. If they match the file viewer can access the file and the record is deleted, otherwise access is denied.

We figured out the technical details with Moodle developer Mark Johnson at the 2012 Dev8D conference.