[Server-devel] volunteer for offline Moodle

Martin Langhoff martin.langhoff at gmail.com
Fri Jul 11 16:22:56 EDT 2008


Hi Tony!

welcome! Your analysis is good, and similar to one of the "offline
moodle" projects that is already underway. Unfortunately - as an
experienced moodle core programmer - I can see that building offline
moodle that way has significant roadblocks, some of which are a
deal-killer for the long term.

So I have a slightly different plan :-)

First of all - you will need a good familiarity with Moodle, how it is
used, and how it works internally. I don't know how much you know
Moodle - my notes below assume a reasonable knowledge of the internal
APIs.

The first stage of the plan is to work on the main "course" page -
look into the "topics" course format. The first step is to make that
course format AJAXy/Gears-y -- there is an AJAX version of it but I am
not sure if it is any good.  The goal is to make it cacheable -- this
is the "lesson plan" that Bryan was talking about a few days ago.
Other good things may come with it (better ajaxy editing for teachers
for example) but that is candy on the side. The main thing that *must*
work well is being able to load that page when disconnected.

[I am not sure how to trigger that with GG - to hook into the browser
and say "if host X doesn't seem present, load up this HTML+JS we
cached here, under the privilege scope of the site.".]

Together with the course format, we will want to make mod/resource
gears-cacheable.

That will give us 80% of the benefits for 20% of the effort - give or
take some % there :-) We will want to be extra careful to make it in
non-intrusive ways, so it is easy to incorporate upstream. 20% of the
effort is still quite a bit of work - there are lots of details to
work through.

Once the above is done - we can tackle other modules, and perhaps some
blocks, with better knowledge of what works well with GG and what
doesn't. Some Moodle modules are a really bad fit for GG (mod/quiz),
others will take some effort, but work great (mod/forum).

The general model - as you can see - is one of caching locally, which
simplifies things a lot. As you note, this will be a large long term
effort, so we want to make sure that our work is not OLPC-specific. We
might do things earlier than moodle.org but we sure want to have them
helping with it mid-to-long term.

As we are caching stuff, and will only have small amounts of "local"
data we need to push up to the server (like action logs), the storage
economy is quite simple - we discard old stuff as we have to - we
might define a quota there, but I think GG sets that for us anyway.
For authentication, I am not sure at the moment - we'll cross that
bridge when we get to it :-) but for OLPC it is an easy bridge due to
the 1:1 and the related auto-login assumptions.

> 7. I also assume that course development offline will not require special
> support. The teacher would prepare course materials as independent documents
> and then do course-building when he or she has access to server-side Moodle.

Correct.

cheers,



m
-- 
 martin.langhoff at gmail.com
 martin at laptop.org -- School Server Architect
 - ask interesting questions
 - don't get distracted with shiny stuff - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff


More information about the Server-devel mailing list