XS Moodle plan
This is the general workplan for the Moodle implementation. See entries in the tracker for actual schedules and such.
 Stage 1
In this stage, we get a basic Moodle installation that has the basics to be usable as a homepage for the XS and basic (but clunky) publishing and course mgmt system. A few key points to note
- We must support tiered control of content - local school, regional, OLPC
- We must provide an upgrade path that preserves local school content and data - for every bit we host for users.
- It must not cause trouble (DoS the XS with load, disk usage, etc)
- RPM package of a custom git-tracked 1.9
- Unattended RPM installation/upgrade using the cli installer
- Limit data footprint
- datastore quota
- database log pruning
- database storage quota
- Localisation groundwork
- PO to Moodle-langfile translator
- Understand (reconciliate) models for string interpolation and plurals
- Test Moodle with current Browse
- Note popup window behaviour
- Will probably have to disable HTMLArea editor
- Trivial authentication scheme (auth plugin) - this will be proof-of-concept
- Sitewide role management scheme to answer Who's a teacher/admin?
- Presets for admin settings
- Admin page lockdown / scary warning
- Define a content management strategy covering
- School content
- Regional content
- OLPC content
- Remove/disable blocks, modules
- Simplify default blocks -- (also brings performance benefits ;-) )
- Moodle/XS homepage - very basic
- Initial theme
- No SMTP email
- But do enable moodle messaging
- Nepal team will want to enable emails for teachers
 System stuff
- Many DNS names - using punycode
- Define a sane maxclients related to the memory we have. Measure current 1.9 memory usage with modern smap tools. PeterB may have material here...
- PostgreSQL - define a small memory configuration that can handle expected DB sizes and moderate-to-high loads.
- Set to precompile
- Hook up apache init script to nuke the precompiled files to workaround potential issues with corrupt precompiled files
- Prevent precompiled files from using the shmem segment - Linux fs caching is better
- Use shmem for Moodle's $MCACHE
 Stage 2
Show a bit more sophistication. Stage 2 will hopefully be paired with xo-9.1 so we can take a stab at the automagic authentication scheme.
- Automagic user authentication (auth plugin) - interops with Browse.xo
- DS-restore UI attached to user page. We can probably add hooks to moodle for this.
- Moodle/XS homepage enhancements
- Main XS navigation (installable activities, new OS images available...)
- "What's new" relnotes for admins/teachers
- Local content of this school
- Regional content (as per content mgmt strategy)
- Course creation screen and workflow...
- Provide some sample courses
 Stage Later
Stage Later is faraway horizon. We'll know more when we get closer...
- Offline Moodle
- Course enrolment communicates groups info with presence svc and laptops
- Simplified admin options
- Teaching materials repository
- Publish push upstream
- Replace mod/chat with an xochat callback/trigger
- Study delivering email to users
- With a 'walled garden' email setup?
- Via XMPP?
- Now go for a really good theme! :-)
- DS-Backup enhancements
- WebJournal / XO Journal "time extension" implementation?
- Moodle file picker - can also read from DS-backup?
- Blogging tools (see Tarun's project)
- Ability to publish upstream?
- Portfolio - to Mahara?