4. 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
6. 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
7. 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
10. Test servers
For the VLE
• learn2
• learn2-acct
• learn2upg
• learn2lt
For most other systems
• learnN
• learnN-acct
11. 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
14. Release schedule
4 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
15. 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
17. 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
23. mdl_log table
CREATE 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
25. Outline
1. 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