2. Topics
• How we planned for the move
• Upgrade or fresh install?
• Issues that needed an early decision
• What technical problems we faced
• How we handled them
• Organisational planning
• Involved curriculum teams
• Reflection
3. How we planned for the move
• Key things to consider:
• Installed modules and services
• Are they still needed?
• Are these available for Moodle 2?
• Type of usage and level of usage
• Age/type of courses
• Quality of courses
• Staff skills with Moodle
• What are your objectives?
4. B&SD College
• Before the project:
• Well established but unmanaged
• Few plugins or modules being used
• Mostly old courses
• Some not used at all
• Others needed a restart
• Good usage in few areas
• Confusion around student enrolment
• Windows Server
• http://moodle2.bsdc.ac.uk/vle/
5. Sandwell College
• Before the project:
• Well managed Moodle 1.9
• Courses maintained on an annual basis
• Fractured/Stagnated
• Mostly file storage
• Considered difficult to use by some
• Good selection of plugins & modules installed
• SLES 10 Server
• http://svc.sandwell.ac.uk/student/
6. Possible Objectives
• Simplified usage for all users
• Improved integration w/ infrastructure
• Relaunch, rejuvenation, reinvention
• Preparation for future development
• Encourage resource sharing
• Make use of improved theming
• Ensure support from moodle.org
7. Upgrade or Fresh Install?
• Depends greatly on objectives
• What content you have to bring across
• A fresh start will be a more stable base
• But after 18 months this isn't such a problem
• Moodle 2.1 and onwards can import individual
backups
• Also consider the spin for users
• Do you want this to be a fresh start?
8. Issues needing an early decision
• How to host
• Internal / External
• Operating System
• Hosting Software
• Database Options
• Whether to link to infrastructure
• Information Systems
• Domains
• Staff engagement required
9. Hosting: Internal or External?
• Probably know this already if running
Moodle 1.9
• Internal requires certain skills and will
probably cost more
• But it also makes it easier to:
• Integrate Moodle with other services
• Customise Moodle to meet specific needs
• Test and debug problems
10. Hosting: Operating System
• Windows Server
• Skills are more widely available
• Easier support for other MS systems
• Can't handle large amounts of processes
• Prefers threading work within one process
• Linux Server
• Apache/PHP on Linux is native software
• Support dependant on "flavour" of Linux
11. Hosting: Hosting Software
• HTTP Hosting:
• Apache
• Best established, plenty of guides
• IIS (Windows Only)
• Microsoft support, about 10 to 20% slower
• Lighttp
• Designed to handle modern web usage
• Really quick if well configured
• Little support online
12. Hosting: Hosting Software - PHP
• PHP 5.2 for Moodle 2.0, PHP 5.3 for 2.1
• For Windows Server download from here
• What is VC6 and VC9?
• Compiler used, should match http host
• What about TS or NTS?
• Use a NTS install with a FCGI connector
• For Linux depends on type used
• Pre-compiled or Compile from source
• PHP Extensions
• Moodle requirements are all common and easily
obtainable
13. Hosting: Database
• A few choices:
• MySQL (5.0.25 or later)
• Standard, & best supported by Moodle
• MS-SQL (2005 or later)
• Microsoft's, good software
• Should be fine but has had unique bugs in the past
• Oracle (10.2 or later)
• PostgreSQL (8.3)
14. Technical Problems we Faced
• Updating Moodle 1.9 to 2.X
• Database differences
• Developing plug-ins
• Creating a new theme
• IE Compatibility
• Stress testing
• Streamlining configurations
15. Updating from 1.9 to 2.X
• File storage completely changed
• No folders on server per course id!
• Update essentially the same as usual
• Backup everything! Moodle, Files & Database
• Replace / Moodle contents
• Log in as Admin to start process
• Lots of processing required
• Modifying Databases
• Restructure File Storage
• Rebuild Questions/Quizzes
16. Database Differences
• For MySQL, Moodle uses InnoDB storage
engine.
• Should be more reliable
• Transaction safe, capable of row locking
• A little bit slower & uses more resources
• Different operations available
• no repair, just check
• Issue w/ mdl_backup_controllers (MDL-29262)
• Gets massive when backing up and restoring.
• Not important, so no need to backup
• Use --ignore-table option with mysqldump
17. Developing Plugins
• Many new types of plug-ins possible
• Enrolment Methods, Repositories, Plagiarism
Detectors, Sub-Activities, Question-types
• Get around poor documentation
• Dissected other plugins to understand them
• Found Moodle XREF sites very useful
• Comments found in lib & locallib files
• Such as lib/enrollib.php and enrol/locallib.php
• Familiarise yourself with Moodle
coding guidelines if intend to publish
18. Creating a new theme
• Lots of guides and docs for this
• Inherit as few themes as possible
• Fastest themes inherit from Base
• config.php holds a lot of functionality
• Javascripts for header or footer
• Exclude inherited styles
• Apply custom renderer
• Check through other themes,
• particularly "Afterburner" from 2.1 onwards
• Be aware of standard folders
• Such as "pix_core" and "pix_plugins"
21. IE Compatibility
• Targeting specific browsers with
• Body classes (.ie .ie7)
• Check out CSS3PIE
• IE6 woes? Two main choices:
• Eliminate IE6 and update to IE8
• Try and make Moodle 2 support IE6
• Support will always be clonky for IE6
• Can improve support with a few tweaks
to CSS.
22. Stress Testing
• Useful free tools like Apache JMeter
• Allows you to "record" a test session
• Includes logging in and out
• Test can then be scaled up to include:
• Variable amount of test users
• Variable time between user page loads.
• Also check intensive activities
• Like language check-in/out for customisation
• Course backups and importing
• Bulk user avatar importing
23. Streamlining Configurations
• Be aware Apache/PHP has different
settings/recommendations for
Linux/Windows
• Caching
• PHP - eAccelerator, APC
• Database
• Bigger caches can reduce execution times
• Giant caches misbehave, issues with recovery
24. Organisational Planning
• How will usage differ across the
organisation?
• Will you be able to meet these needs?
• Is there an opportunity for
improvement?
• New ways of working maybe?
• Are people aware of what will change?
• Offer to attend meetings to discuss
these things
25. On Reflection - What we learnt
• Migration is an opportunity for change
• Not just changes in Moodle itself
• But also for organisations using it
• Some big changes have been made
• But each of them for a good reason
• Repositories sound scary but are important
• They're really just a source for getting files
• Keep an eye on what's ahead
• A new version every 6 months