Upload
tim-hunt
View
48
Download
1
Embed Size (px)
Citation preview
Hosting Moodle at the OU
Tim Hunt, Leading Technical Developer
iMoot 2014
Outline1. Moodle at the OU
2. Servers
3. Development
4. Configuration
1. Moodle at the OU
We have lots of Moodles• learn2 – the main VLE for module web sites• learn4 – programme / qualification web sites• learn1 – student resource websites• learn3 – staff resource websites• learn5 – The OpenScience Laboratory• learn6 – online exams (pilot)• OpenLearn – open courseware• OpenLearn Works – collaborative open courseware
OU VLE
People• Host systems (servers) team in IT• Development team in IT• Requirements/project management team in LTS• Moodle administration team in LTS• Academic and admin staff in faculties• Associate lecturers (tutors)• Students
Typical load• 450 open web sites• 150 000 student enrolments• 50 roles
Each day• 1 250 000 page-views• 50 000 unique students• 20 000 forum posts 6 500 000 total• 2 000 quiz attempts 700 000 total
2. Servers
Server architecture – main VLE
Test serversFor the VLE• learn2• learn2-acct• learn2upg• learn2lt
For most other systems• learnN• learnN-acct
Load testing• Simulated load using JMeter
–Course page view–Resource view–Forum view–Forum post
• 6 VMs used to generate the load
• Compare releases. Try not to get slower.http://tjhunt.blogspot.co.uk/2014/04/load-testing-moodle-262-at-ou.html
Server monitoring
3. Development
Release schedule4 releases per year, March, June, September & December
June 2014• 28th January: Development started• 29th January: Moodle 2.6.1 code merged• Early Feb: 211 add-ons tested for compatibility • 12th March: Moodle 2.6.2 code merged• 29th April: code freeze – September work starts• 3rd June: release
Code management• development branch ouvle based on v2.6.1• features developed on topic branches wip1234• stable branches OUVLE_419 for each release
Minor release:• git merge v2.6.2• cherry-pick security fixes to stable branch
http://tjhunt.blogspot.co.uk/2014/01/moving-ou-moodle-code-to-moodle-261.html
Code management• Major release:
git checkout -b helper_branch v2.6.1git merge –s ours v2.5.4git checkout ouvlegit merge –X patience helper_branchthen fix conflicts
Testing• Two human testers
– test new features before merge– regression testing before release
• We use PHPUnit http://docs.moodle.org/dev/PHPUnit• Don’t use Behat yet http://docs.moodle.org/dev/Behat
4. Moodle configuration
Configuration• Memcached for sessions• Turn of filtered text caching
–but custom glossary filter
Moodle configuration - MUC
Moodle configuration - MUC
http://en.wikipedia.org/wiki/File:SSL_SL9000J_(72ch)_@_The_Cutting_Room_Recording_Studios,_NYC.jpg
mdl_log tableCREATE OR REPLACE VIEW mdl_log AS ( SELECT * FROM mdl_log_2014_02_12 UNION ALL SELECT * FROM mdl_log_2014_02_05 UNION ALL SELECT * FROM mdl_log_2014_01_01
);
CREATE OR REPLACE RULE mdl_log_delete AS ON DELETE TO mdl_log DO INSTEAD NOTHING;
CREATE OR REPLACE RULE mdl_log_insert AS ON INSERT TO mdl_log DO INSTEAD INSERT INTO mdl_log_2014_02_12 (time, userid, ip, course, module, cmid, action, url, info) VALUES (new.time, new.userid, new.ip, new.course, new.module, new.cmid, new.action, new.url, new.info);
https://moodle.org/mod/forum/discuss.php?d=243531
Summary
Outline1. Moodle at the OU
2. Servers
3. Development
4. Configuration
Questions please!
https://learn5.open.ac.uk/ – The OpenScience Laboratory
http://www.open.edu/openlearn/ – OpenLearn