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 -- [EMAIL PROTECTED] [EMAIL PROTECTED] -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff _______________________________________________ Server-devel mailing list [email protected] http://lists.laptop.org/listinfo/server-devel
