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
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?
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/
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/
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
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 isnt 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?
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
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
Hosting: Operating System• Windows Server • Skills are more widely available • Easier support for other MS systems • Cant 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
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
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
Hosting: Database• A few choices: • MySQL (5.0.25 or later) • Standard, & best supported by Moodle • MS-SQL (2005 or later) • Microsofts, good software • Should be fine but has had unique bugs in the past • Oracle (10.2 or later) • PostgreSQL (8.3)
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
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
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
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
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.
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
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
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
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 • Theyre really just a source for getting files• Keep an eye on whats ahead • A new version every 6 months