XS Moodle plan

From OLPC
Jump to navigation Jump to search

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