So the Google Gears rpm is finished (good lesson for me on how to package for Fedora) and we are working on the final obstacle for Browse, which is finding where in God's name the chrome subdirs are supposed to go... when thats done, we can create the browse rpm too...<br>
<div class="gmail_quote"><div><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
So I have a slightly different plan :-)<br>
</blockquote><div><br>This is great, but we should look for an interim solution to full blown Offline Moodle, something we can start using soonish... But maybe what you outline below is an interim solution... I guess we'll know when we start coding...<br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
First of all - you will need a good familiarity with Moodle, how it is<br>
used, and how it works internally. I don't know how much you know<br>
Moodle - my notes below assume a reasonable knowledge of the internal<br>
APIs.<br>
<br>
The first stage of the plan is to work on the main "course" page -<br>
look into the "topics" course format. The first step is to make that<br>
course format AJAXy/Gears-y -- there is an AJAX version of it but I am<br>
not sure if it is any good. The goal is to make it cacheable -- this<br>
is the "lesson plan" that Bryan was talking about a few days ago.<br>
Other good things may come with it (better ajaxy editing for teachers<br>
for example) but that is candy on the side. The main thing that *must*<br>
work well is being able to load that page when disconnected.<br>
</blockquote><div><br>Remember that the Jolongo people have already done a lot of this work, so if we can get a hold of what they've done, it might help. That said, they've not responded to my mails in a while now...<br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
[I am not sure how to trigger that with GG - to hook into the browser<br>
and say "if host X doesn't seem present, load up this HTML+JS we<br>
cached here, under the privilege scope of the site.".]<br>
<br>
Together with the course format, we will want to make mod/resource<br>
gears-cacheable.<br>
</blockquote><div><br>From all the Gears demos I've looked at, this has been the main focus of it so far... showing cached data locally and storing that into a sqlite database where necessary. The API seems straight forward enough, and even I can understand most of it (I'm not a born programmer...)<br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
That will give us 80% of the benefits for 20% of the effort - give or<br>
take some % there :-) We will want to be extra careful to make it in<br>
non-intrusive ways, so it is easy to incorporate upstream. 20% of the<br>
effort is still quite a bit of work - there are lots of details to<br>
work through.<br>
<br>
Once the above is done - we can tackle other modules, and perhaps some<br>
blocks, with better knowledge of what works well with GG and what<br>
doesn't. Some Moodle modules are a really bad fit for GG (mod/quiz),<br>
others will take some effort, but work great (mod/forum).<br>
<br>
The general model - as you can see - is one of caching locally, which<br>
simplifies things a lot. As you note, this will be a large long term<br>
effort, so we want to make sure that our work is not OLPC-specific. We<br>
might do things earlier than <a href="http://moodle.org" target="_blank">moodle.org</a> but we sure want to have them<br>
helping with it mid-to-long term.<br>
</blockquote><div><br>Maybe we should talk to Moodle and make this official with them somehow? That might get some of the other projects to join our efforts.. It seems silly to have 3 forks of offline moodle, and from what I've seen so far the Gears method by far outweighs the benefits of the other methods...<br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
As we are caching stuff, and will only have small amounts of "local"<br>
data we need to push up to the server (like action logs), the storage<br>
economy is quite simple - we discard old stuff as we have to - we<br>
might define a quota there, but I think GG sets that for us anyway.<br>
For authentication, I am not sure at the moment - we'll cross that<br>
bridge when we get to it :-) but for OLPC it is an easy bridge due to<br>
the 1:1 and the related auto-login assumptions.<br>
<div></div></blockquote><div><br>Authentication is one of the first things that need looking at, since a Moodle user must login in order to download anything...<br> <br>Some of the first course material should probably be related on how to use Moodle and Offline Moodle... we could use that to create some skeleton courses that work both online and offline...<br>
<br>How do we split the next workload?<br><br>Kind Regards,<br>David<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><br>
m<br>
--<br>
<a href="mailto:martin.langhoff@gmail.com" target="_blank">martin.langhoff@gmail.com</a><br>
</div><div><div></div><div> <a href="mailto:martin@laptop.org" target="_blank">martin@laptop.org</a> -- School Server Architect<br>
- ask interesting questions<br>
- don't get distracted with shiny stuff - working code first<br>
- <a href="http://wiki.laptop.org/go/User:Martinlanghoff" target="_blank">http://wiki.laptop.org/go/User:Martinlanghoff</a><br>
</div></div></blockquote></div><br>