XS Moodle plan

From OLPC
Revision as of 02:08, 10 August 2009 by Skierpage (talk | contribs) (fix header levels, see also XS Moodle design)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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)

To do:

  • 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
  • Simplify
    • 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
  • Apache-PHP
    • 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...
    • keepalive
  • PostgreSQL - define a small memory configuration that can handle expected DB sizes and moderate-to-high loads.
  • PHP-APC
    • Package
    • 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)
  • Simplify
    • 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
    • Consume
  • 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?

See also

XS Moodle design