XS Moodle plan: Difference between revisions

From OLPC
Jump to navigation Jump to search
Line 11: Line 11:
To do:
To do:


* RPM package of a custom git-tracked 1.9
* '''RPM package''' of a custom git-tracked 1.9
* Unattended RPM installation/upgrade using the cli installer
* Unattended RPM installation/upgrade using the '''cli installer'''
* Limit growth of data
* Limit '''data footprint'''
** datastore quota
** datastore quota
** database log pruning
** database log pruning
** database storage quota
** database storage quota
* Localisation groundwork
* '''Localisation''' groundwork
** PO to Moodle-langfile translator
** PO to Moodle-langfile translator
** Understand (reconciliate) models for string interpolation and plurals
** Understand (reconciliate) models for string interpolation and plurals
* Basic authentication scheme (auth plugin)
* Trivial authentication scheme ('''auth plugin''') - this will be proof-of-concept
* Sitewide role management scheme to answer "Who's a teacher/admin?"
* Sitewide '''role management scheme''' to answer ''Who's a teacher/admin?''
* '''Presets''' for admin settings
* Admin preset
* Admin page lockdown / scary warning
* '''Admin page lockdown''' / scary warning
* Define a content management strategy covering
* Define '''a content management strategy''' covering
** School content
** School content
** Regional content
** Regional content
** OLPC content
** OLPC content
* Simplify
* '''Simplify'''
** Remove/disable blocks, modules
** Remove/disable blocks, modules
** Simplify default blocks -- (also brings performance benefits ;-) )
** Simplify default blocks -- (also brings performance benefits ;-) )
* Moodle/XS homepage - basic
* '''Moodle/XS homepage''' - very basic
* Initial theme
* Initial '''theme'''
* No SMTP email (except for teachers)
* '''No SMTP email'''
** But do enable moodle messaging
** But do enable moodle messaging
** Nepal team will want to enable emails for teachers




== System stuff ==
== System stuff ==

Revision as of 00:01, 10 September 2008

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
  • 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?