XS Moodle plan: Difference between revisions

From OLPC
Jump to navigation Jump to search
(move to subcategory Moodle)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This is the general workplan for the Moodle implementation. See entries in the tracker for actual schedules and such.
This is the general workplan for the Moodle implementation. See entries in the tracker for actual schedules and such.


=Stage 1=
==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
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
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
* '''Test''' Moodle with current Browse
* Basic authentication scheme (auth plugin)
** Note popup window behaviour
* Sitewide role management scheme to answer "Who's a teacher/admin?"
** Will probably have to disable HTMLArea editor
* Admin preset
* Trivial authentication scheme ('''auth plugin''') - this will be proof-of-concept
* Admin page lockdown / scary warning
* Define a content management strategy covering
* 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
** 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 ===


* Many DNS names - using punycode
* Many DNS names - using punycode
Line 51: Line 56:
** Use shmem for Moodle's $MCACHE
** Use shmem for Moodle's $MCACHE


=Stage 2=
==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.
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
* '''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.
* '''DS-restore UI''' attached to user page. We can probably add hooks to moodle for this.
* Moodle/XS homepage enhancements
* '''Moodle/XS homepage''' enhancements
** Main XS navigation (installable activities, new OS images available...)
** Main XS navigation (installable activities, new OS images available...)
** "What's new" relnotes for admins/teachers
** "What's new" relnotes for admins/teachers
** Local content of this school
** Local content of this school
** Regional content (as per content mgmt strategy)
** Regional content (as per content mgmt strategy)
* Simplify
* '''Simplify'''
** Course creation screen and workflow...
** Course creation screen and workflow...
* Provide some sample courses
* Provide some '''sample courses'''


=Stage Later=
==Stage Later==


Stage ''Later'' is faraway horizon. We'll know more when we get closer...
Stage ''Later'' is faraway horizon. We'll know more when we get closer...


* [[XS_Offline_Moodle|Offline Moodle]]
* '''[[XS_Offline_Moodle|Offline Moodle]]'''
* '''Course enrolment''' communicates groups info with presence svc and laptops
* '''Course enrolment''' communicates groups info with presence svc and laptops
* Simplified admin options
* '''Simplified admin''' options
* Teaching materials repository
* '''Teaching materials repository'''
** Publish ''push'' upstream
** Publish ''push'' upstream
** Consume
** Consume
Line 87: Line 92:
** Ability to publish upstream?
** Ability to publish upstream?
* '''Portfolio''' - to Mahara?
* '''Portfolio''' - to Mahara?

== See also ==
[[XS Moodle design]]

[[Category:Moodle]]

Latest revision as of 02:10, 10 August 2009

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