Hosting Moodle at the OU

Post on 03-Aug-2015

48 views 1 download

transcript

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