SlideShare a Scribd company logo
1 of 25
Download to read offline
Hosting Moodle at the OU
Tim Hunt, Leading Technical Developer
iMoot 2014
Outline
1. 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 servers
For 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 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
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.1
git merge –s ours v2.5.4
git checkout ouvle
git merge –X patience helper_branch
then 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:SS
9000J_(72ch)_@_The_Cutting_R
Recording_Studios,_NYC.jpg
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
Summary
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

More Related Content

What's hot

Hyper v ネットワークの基本
Hyper v ネットワークの基本Hyper v ネットワークの基本
Hyper v ネットワークの基本Syuichi Murashima
 
Tìm hiểu về Vmware
Tìm hiểu về VmwareTìm hiểu về Vmware
Tìm hiểu về VmwareBich Tuyen
 
Giới thiệu và triển khai private cloud
Giới thiệu và triển khai private cloudGiới thiệu và triển khai private cloud
Giới thiệu và triển khai private cloudTue Nguyen Dinh
 
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking toolsNobuyuki Matsui
 
MariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムMariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムKouhei Sutou
 
別傻了 你就是不寫測試才會沒時間!CL ft. Hamastar.pdf
別傻了 你就是不寫測試才會沒時間!CL ft. Hamastar.pdf別傻了 你就是不寫測試才會沒時間!CL ft. Hamastar.pdf
別傻了 你就是不寫測試才會沒時間!CL ft. Hamastar.pdfYu-Song Syu
 
BDD勉強会 第6回
BDD勉強会 第6回BDD勉強会 第6回
BDD勉強会 第6回zakihaya
 
Formation Usine Logicielle gratuite par Ippon 2014
Formation Usine Logicielle gratuite par Ippon 2014Formation Usine Logicielle gratuite par Ippon 2014
Formation Usine Logicielle gratuite par Ippon 2014Ippon
 
Odoo Experience 2018 - The Odoo JS Framework
Odoo Experience 2018 - The Odoo JS FrameworkOdoo Experience 2018 - The Odoo JS Framework
Odoo Experience 2018 - The Odoo JS FrameworkElínAnna Jónasdóttir
 
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git민태 김
 
The TileDB Embedded Storage Engine
The TileDB Embedded Storage EngineThe TileDB Embedded Storage Engine
The TileDB Embedded Storage EngineStavros Papadopoulos
 
Storage Requirements and Options for Running Spark on Kubernetes
Storage Requirements and Options for Running Spark on KubernetesStorage Requirements and Options for Running Spark on Kubernetes
Storage Requirements and Options for Running Spark on KubernetesDataWorks Summit
 
Rails MVC Architecture
Rails MVC ArchitectureRails MVC Architecture
Rails MVC ArchitectureMasato TADA
 
An introduction to Maven
An introduction to MavenAn introduction to Maven
An introduction to MavenJoao Pereira
 
Houdini .OBJ から .ABC へ
Houdini .OBJ から .ABC へHoudini .OBJ から .ABC へ
Houdini .OBJ から .ABC へKen Taki
 
DevOps overview and tech interview tips
DevOps overview and tech interview tipsDevOps overview and tech interview tips
DevOps overview and tech interview tipsDaniel Bezerra
 
Application Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateApplication Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateInes Ouaz
 
Java Server Faces (JSF)
Java Server Faces (JSF)Java Server Faces (JSF)
Java Server Faces (JSF)Heithem Abbes
 

What's hot (20)

Hyper v ネットワークの基本
Hyper v ネットワークの基本Hyper v ネットワークの基本
Hyper v ネットワークの基本
 
Tìm hiểu về Vmware
Tìm hiểu về VmwareTìm hiểu về Vmware
Tìm hiểu về Vmware
 
Giới thiệu và triển khai private cloud
Giới thiệu và triển khai private cloudGiới thiệu và triển khai private cloud
Giới thiệu và triển khai private cloud
 
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
 
MariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムMariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システム
 
別傻了 你就是不寫測試才會沒時間!CL ft. Hamastar.pdf
別傻了 你就是不寫測試才會沒時間!CL ft. Hamastar.pdf別傻了 你就是不寫測試才會沒時間!CL ft. Hamastar.pdf
別傻了 你就是不寫測試才會沒時間!CL ft. Hamastar.pdf
 
BDD勉強会 第6回
BDD勉強会 第6回BDD勉強会 第6回
BDD勉強会 第6回
 
Formation Usine Logicielle gratuite par Ippon 2014
Formation Usine Logicielle gratuite par Ippon 2014Formation Usine Logicielle gratuite par Ippon 2014
Formation Usine Logicielle gratuite par Ippon 2014
 
Odoo Experience 2018 - The Odoo JS Framework
Odoo Experience 2018 - The Odoo JS FrameworkOdoo Experience 2018 - The Odoo JS Framework
Odoo Experience 2018 - The Odoo JS Framework
 
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
 
The TileDB Embedded Storage Engine
The TileDB Embedded Storage EngineThe TileDB Embedded Storage Engine
The TileDB Embedded Storage Engine
 
CI/CD with Github Actions
CI/CD with Github ActionsCI/CD with Github Actions
CI/CD with Github Actions
 
Introduction to headless browsers
Introduction to headless browsersIntroduction to headless browsers
Introduction to headless browsers
 
Storage Requirements and Options for Running Spark on Kubernetes
Storage Requirements and Options for Running Spark on KubernetesStorage Requirements and Options for Running Spark on Kubernetes
Storage Requirements and Options for Running Spark on Kubernetes
 
Rails MVC Architecture
Rails MVC ArchitectureRails MVC Architecture
Rails MVC Architecture
 
An introduction to Maven
An introduction to MavenAn introduction to Maven
An introduction to Maven
 
Houdini .OBJ から .ABC へ
Houdini .OBJ から .ABC へHoudini .OBJ から .ABC へ
Houdini .OBJ から .ABC へ
 
DevOps overview and tech interview tips
DevOps overview and tech interview tipsDevOps overview and tech interview tips
DevOps overview and tech interview tips
 
Application Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateApplication Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & Hibernate
 
Java Server Faces (JSF)
Java Server Faces (JSF)Java Server Faces (JSF)
Java Server Faces (JSF)
 

Viewers also liked

B ccampus, lambda solutions moodle shared service presentation moodle moot 2011
B ccampus, lambda solutions moodle shared service presentation moodle moot 2011B ccampus, lambda solutions moodle shared service presentation moodle moot 2011
B ccampus, lambda solutions moodle shared service presentation moodle moot 2011stearle
 
Creative learning spaces
Creative learning spacesCreative learning spaces
Creative learning spacesLiam Dunphy
 
Transforming Moodle - United for Wildlife Implementation Case Study
Transforming Moodle - United for Wildlife Implementation Case StudyTransforming Moodle - United for Wildlife Implementation Case Study
Transforming Moodle - United for Wildlife Implementation Case StudyThomas Bell
 
Implementation of College Management Module in Moodle
Implementation of College Management Module in MoodleImplementation of College Management Module in Moodle
Implementation of College Management Module in MoodleSushil Karampuri
 
Connecting IMS LTI and SAML (Draft)
Connecting IMS LTI and SAML (Draft)Connecting IMS LTI and SAML (Draft)
Connecting IMS LTI and SAML (Draft)Charles Severance
 
Scalable JavaScript Application Architecture
Scalable JavaScript Application ArchitectureScalable JavaScript Application Architecture
Scalable JavaScript Application ArchitectureNicholas Zakas
 

Viewers also liked (8)

B ccampus, lambda solutions moodle shared service presentation moodle moot 2011
B ccampus, lambda solutions moodle shared service presentation moodle moot 2011B ccampus, lambda solutions moodle shared service presentation moodle moot 2011
B ccampus, lambda solutions moodle shared service presentation moodle moot 2011
 
Ley 1286 2009
Ley 1286 2009Ley 1286 2009
Ley 1286 2009
 
Moodle user group – 08/06/11
Moodle user group – 08/06/11Moodle user group – 08/06/11
Moodle user group – 08/06/11
 
Creative learning spaces
Creative learning spacesCreative learning spaces
Creative learning spaces
 
Transforming Moodle - United for Wildlife Implementation Case Study
Transforming Moodle - United for Wildlife Implementation Case StudyTransforming Moodle - United for Wildlife Implementation Case Study
Transforming Moodle - United for Wildlife Implementation Case Study
 
Implementation of College Management Module in Moodle
Implementation of College Management Module in MoodleImplementation of College Management Module in Moodle
Implementation of College Management Module in Moodle
 
Connecting IMS LTI and SAML (Draft)
Connecting IMS LTI and SAML (Draft)Connecting IMS LTI and SAML (Draft)
Connecting IMS LTI and SAML (Draft)
 
Scalable JavaScript Application Architecture
Scalable JavaScript Application ArchitectureScalable JavaScript Application Architecture
Scalable JavaScript Application Architecture
 

Similar to Hosting Moodle at the OU

The Open Science Laboratory - Cosmetic Surgery for Moodle Sam Marshall
The Open Science Laboratory - Cosmetic Surgery for Moodle 	Sam MarshallThe Open Science Laboratory - Cosmetic Surgery for Moodle 	Sam Marshall
The Open Science Laboratory - Cosmetic Surgery for Moodle Sam MarshallIreland & UK Moodlemoot 2012
 
Moodle as the central hub of learning with tools plugged in –learning tool in...
Moodle as the central hub of learning with tools plugged in –learning tool in...Moodle as the central hub of learning with tools plugged in –learning tool in...
Moodle as the central hub of learning with tools plugged in –learning tool in...Gavin Henrick
 
Mootie13 Moving to moodle 2.3 from 1.9 - our experience bridging the gap
Mootie13 Moving to moodle 2.3 from 1.9 - our experience bridging the gapMootie13 Moving to moodle 2.3 from 1.9 - our experience bridging the gap
Mootie13 Moving to moodle 2.3 from 1.9 - our experience bridging the gapIreland & UK Moodlemoot 2012
 
Breaking down the barriers to learning technology imoot 2012 keynote
Breaking down the barriers to learning technology   imoot 2012 keynote Breaking down the barriers to learning technology   imoot 2012 keynote
Breaking down the barriers to learning technology imoot 2012 keynote Gavin Henrick
 
Rsctelmakingthemovetomoodle2 110704062402-phpapp02
Rsctelmakingthemovetomoodle2 110704062402-phpapp02Rsctelmakingthemovetomoodle2 110704062402-phpapp02
Rsctelmakingthemovetomoodle2 110704062402-phpapp02Rebecca Barrington
 
Continuous Integration: Improving Quality in Moodle
Continuous Integration: Improving Quality in Moodle Continuous Integration: Improving Quality in Moodle
Continuous Integration: Improving Quality in Moodle Dan Poltawski
 
Moodle - an industry perspective, how to use & myths
Moodle - an industry perspective, how to use & mythsMoodle - an industry perspective, how to use & myths
Moodle - an industry perspective, how to use & mythsSigny IT Solutions Pvt ltd
 
Introduction to Moodle, myths and truths, perspectives for institues
Introduction to Moodle, myths and truths, perspectives for instituesIntroduction to Moodle, myths and truths, perspectives for institues
Introduction to Moodle, myths and truths, perspectives for instituesMangesh Wagh
 
Mootie13 moodle 2 to move or not to move - wissam nahas
Mootie13 moodle 2   to move or not to move - wissam nahasMootie13 moodle 2   to move or not to move - wissam nahas
Mootie13 moodle 2 to move or not to move - wissam nahasIreland & UK Moodlemoot 2012
 
Selenium at Mozilla: An Essential Element to our Success
Selenium at Mozilla: An Essential Element to our SuccessSelenium at Mozilla: An Essential Element to our Success
Selenium at Mozilla: An Essential Element to our SuccessStephen Donner
 
Nyenrode Masterclass 'DevOps unraveled' Apr 18, 2016
Nyenrode Masterclass 'DevOps unraveled' Apr 18, 2016Nyenrode Masterclass 'DevOps unraveled' Apr 18, 2016
Nyenrode Masterclass 'DevOps unraveled' Apr 18, 2016Inspectie van het Onderwijs
 
Mule soft meetup warsaw november 13th, 2019
Mule soft meetup   warsaw november 13th, 2019Mule soft meetup   warsaw november 13th, 2019
Mule soft meetup warsaw november 13th, 2019Patryk Bandurski
 
Session 01 - Introduction to UFT and Features
Session 01 - Introduction to UFT and FeaturesSession 01 - Introduction to UFT and Features
Session 01 - Introduction to UFT and Featuresrajaselv
 
How to guarantee your change is integrated to Moodle core
How to guarantee your change is integrated to Moodle coreHow to guarantee your change is integrated to Moodle core
How to guarantee your change is integrated to Moodle coreDan Poltawski
 
NDC London 2020 - Challenges of Managing CoreFx Repo -- Karel Zikmund
NDC London 2020 - Challenges of Managing CoreFx Repo -- Karel ZikmundNDC London 2020 - Challenges of Managing CoreFx Repo -- Karel Zikmund
NDC London 2020 - Challenges of Managing CoreFx Repo -- Karel ZikmundKarel Zikmund
 
Experience in teaching devops
Experience in teaching devopsExperience in teaching devops
Experience in teaching devopsLen Bass
 
Enabling e labs experiments delivery using Moodle LMS
Enabling e labs experiments delivery using Moodle LMSEnabling e labs experiments delivery using Moodle LMS
Enabling e labs experiments delivery using Moodle LMSMohamed EL Zayat
 

Similar to Hosting Moodle at the OU (20)

Movingto moodle2 v1 1
Movingto moodle2 v1 1Movingto moodle2 v1 1
Movingto moodle2 v1 1
 
The Open Science Laboratory - Cosmetic Surgery for Moodle Sam Marshall
The Open Science Laboratory - Cosmetic Surgery for Moodle 	Sam MarshallThe Open Science Laboratory - Cosmetic Surgery for Moodle 	Sam Marshall
The Open Science Laboratory - Cosmetic Surgery for Moodle Sam Marshall
 
Moodle as the central hub of learning with tools plugged in –learning tool in...
Moodle as the central hub of learning with tools plugged in –learning tool in...Moodle as the central hub of learning with tools plugged in –learning tool in...
Moodle as the central hub of learning with tools plugged in –learning tool in...
 
Mootie13 Moving to moodle 2.3 from 1.9 - our experience bridging the gap
Mootie13 Moving to moodle 2.3 from 1.9 - our experience bridging the gapMootie13 Moving to moodle 2.3 from 1.9 - our experience bridging the gap
Mootie13 Moving to moodle 2.3 from 1.9 - our experience bridging the gap
 
Breaking down the barriers to learning technology imoot 2012 keynote
Breaking down the barriers to learning technology   imoot 2012 keynote Breaking down the barriers to learning technology   imoot 2012 keynote
Breaking down the barriers to learning technology imoot 2012 keynote
 
Rsctelmakingthemovetomoodle2 110704062402-phpapp02
Rsctelmakingthemovetomoodle2 110704062402-phpapp02Rsctelmakingthemovetomoodle2 110704062402-phpapp02
Rsctelmakingthemovetomoodle2 110704062402-phpapp02
 
Continuous Integration: Improving Quality in Moodle
Continuous Integration: Improving Quality in Moodle Continuous Integration: Improving Quality in Moodle
Continuous Integration: Improving Quality in Moodle
 
Moodle - an industry perspective, how to use & myths
Moodle - an industry perspective, how to use & mythsMoodle - an industry perspective, how to use & myths
Moodle - an industry perspective, how to use & myths
 
Introduction to Moodle, myths and truths, perspectives for institues
Introduction to Moodle, myths and truths, perspectives for instituesIntroduction to Moodle, myths and truths, perspectives for institues
Introduction to Moodle, myths and truths, perspectives for institues
 
Mootie13 moodle 2 to move or not to move - wissam nahas
Mootie13 moodle 2   to move or not to move - wissam nahasMootie13 moodle 2   to move or not to move - wissam nahas
Mootie13 moodle 2 to move or not to move - wissam nahas
 
MoodlemootNZ
MoodlemootNZMoodlemootNZ
MoodlemootNZ
 
Selenium at Mozilla: An Essential Element to our Success
Selenium at Mozilla: An Essential Element to our SuccessSelenium at Mozilla: An Essential Element to our Success
Selenium at Mozilla: An Essential Element to our Success
 
Nyenrode Masterclass 'DevOps unraveled' Apr 18, 2016
Nyenrode Masterclass 'DevOps unraveled' Apr 18, 2016Nyenrode Masterclass 'DevOps unraveled' Apr 18, 2016
Nyenrode Masterclass 'DevOps unraveled' Apr 18, 2016
 
Mule soft meetup warsaw november 13th, 2019
Mule soft meetup   warsaw november 13th, 2019Mule soft meetup   warsaw november 13th, 2019
Mule soft meetup warsaw november 13th, 2019
 
Open Badges for Learning Environments
Open Badges for Learning EnvironmentsOpen Badges for Learning Environments
Open Badges for Learning Environments
 
Session 01 - Introduction to UFT and Features
Session 01 - Introduction to UFT and FeaturesSession 01 - Introduction to UFT and Features
Session 01 - Introduction to UFT and Features
 
How to guarantee your change is integrated to Moodle core
How to guarantee your change is integrated to Moodle coreHow to guarantee your change is integrated to Moodle core
How to guarantee your change is integrated to Moodle core
 
NDC London 2020 - Challenges of Managing CoreFx Repo -- Karel Zikmund
NDC London 2020 - Challenges of Managing CoreFx Repo -- Karel ZikmundNDC London 2020 - Challenges of Managing CoreFx Repo -- Karel Zikmund
NDC London 2020 - Challenges of Managing CoreFx Repo -- Karel Zikmund
 
Experience in teaching devops
Experience in teaching devopsExperience in teaching devops
Experience in teaching devops
 
Enabling e labs experiments delivery using Moodle LMS
Enabling e labs experiments delivery using Moodle LMSEnabling e labs experiments delivery using Moodle LMS
Enabling e labs experiments delivery using Moodle LMS
 

More from Tim Hunt

Writing better Behat tests
Writing better Behat testsWriting better Behat tests
Writing better Behat testsTim Hunt
 
What’s next for the Quiz and Question bank and for Moodle community collabora...
What’s next for the Quiz and Question bank and for Moodle community collabora...What’s next for the Quiz and Question bank and for Moodle community collabora...
What’s next for the Quiz and Question bank and for Moodle community collabora...Tim Hunt
 
Question bank improvements in Moodle 4.0 : A successful community collaboration
Question bank improvements in Moodle 4.0 : A successful community collaborationQuestion bank improvements in Moodle 4.0 : A successful community collaboration
Question bank improvements in Moodle 4.0 : A successful community collaborationTim Hunt
 
Looking after the Open University's Moodle
Looking after the Open University's MoodleLooking after the Open University's Moodle
Looking after the Open University's MoodleTim Hunt
 
Embedding questions anywhere in Moodle
Embedding questions anywhere in MoodleEmbedding questions anywhere in Moodle
Embedding questions anywhere in MoodleTim Hunt
 
Hosting STACK at scale
Hosting STACK at scaleHosting STACK at scale
Hosting STACK at scaleTim Hunt
 
Moodle questions without the quiz
Moodle questions without the quizMoodle questions without the quiz
Moodle questions without the quizTim Hunt
 
2017 UK/IE MoodleMoot: What makes a good moodle quiz? Lessons from the Open U...
2017 UK/IE MoodleMoot: What makes a good moodle quiz? Lessons from the Open U...2017 UK/IE MoodleMoot: What makes a good moodle quiz? Lessons from the Open U...
2017 UK/IE MoodleMoot: What makes a good moodle quiz? Lessons from the Open U...Tim Hunt
 
I wish I could believe you: the frustrating unreliability of some assessment ...
I wish I could believe you: the frustrating unreliability of some assessment ...I wish I could believe you: the frustrating unreliability of some assessment ...
I wish I could believe you: the frustrating unreliability of some assessment ...Tim Hunt
 
The Moodle quiz at the Open University
The Moodle quiz at the Open UniversityThe Moodle quiz at the Open University
The Moodle quiz at the Open UniversityTim Hunt
 
The Moodle Quiz at the Open University: how we use it & how that helps students
The Moodle Quiz at the Open University: how we use it & how that helps studentsThe Moodle Quiz at the Open University: how we use it & how that helps students
The Moodle Quiz at the Open University: how we use it & how that helps studentsTim Hunt
 
2012 Computer-Assisted Assessment
2012 Computer-Assisted Assessment2012 Computer-Assisted Assessment
2012 Computer-Assisted AssessmentTim Hunt
 
Moodle’s building blocks for eAssessment tools
Moodle’s building blocks for eAssessment toolsMoodle’s building blocks for eAssessment tools
Moodle’s building blocks for eAssessment toolsTim Hunt
 
A basic introduction to the Moodle architecture
A basic introduction to the Moodle architectureA basic introduction to the Moodle architecture
A basic introduction to the Moodle architectureTim Hunt
 

More from Tim Hunt (14)

Writing better Behat tests
Writing better Behat testsWriting better Behat tests
Writing better Behat tests
 
What’s next for the Quiz and Question bank and for Moodle community collabora...
What’s next for the Quiz and Question bank and for Moodle community collabora...What’s next for the Quiz and Question bank and for Moodle community collabora...
What’s next for the Quiz and Question bank and for Moodle community collabora...
 
Question bank improvements in Moodle 4.0 : A successful community collaboration
Question bank improvements in Moodle 4.0 : A successful community collaborationQuestion bank improvements in Moodle 4.0 : A successful community collaboration
Question bank improvements in Moodle 4.0 : A successful community collaboration
 
Looking after the Open University's Moodle
Looking after the Open University's MoodleLooking after the Open University's Moodle
Looking after the Open University's Moodle
 
Embedding questions anywhere in Moodle
Embedding questions anywhere in MoodleEmbedding questions anywhere in Moodle
Embedding questions anywhere in Moodle
 
Hosting STACK at scale
Hosting STACK at scaleHosting STACK at scale
Hosting STACK at scale
 
Moodle questions without the quiz
Moodle questions without the quizMoodle questions without the quiz
Moodle questions without the quiz
 
2017 UK/IE MoodleMoot: What makes a good moodle quiz? Lessons from the Open U...
2017 UK/IE MoodleMoot: What makes a good moodle quiz? Lessons from the Open U...2017 UK/IE MoodleMoot: What makes a good moodle quiz? Lessons from the Open U...
2017 UK/IE MoodleMoot: What makes a good moodle quiz? Lessons from the Open U...
 
I wish I could believe you: the frustrating unreliability of some assessment ...
I wish I could believe you: the frustrating unreliability of some assessment ...I wish I could believe you: the frustrating unreliability of some assessment ...
I wish I could believe you: the frustrating unreliability of some assessment ...
 
The Moodle quiz at the Open University
The Moodle quiz at the Open UniversityThe Moodle quiz at the Open University
The Moodle quiz at the Open University
 
The Moodle Quiz at the Open University: how we use it & how that helps students
The Moodle Quiz at the Open University: how we use it & how that helps studentsThe Moodle Quiz at the Open University: how we use it & how that helps students
The Moodle Quiz at the Open University: how we use it & how that helps students
 
2012 Computer-Assisted Assessment
2012 Computer-Assisted Assessment2012 Computer-Assisted Assessment
2012 Computer-Assisted Assessment
 
Moodle’s building blocks for eAssessment tools
Moodle’s building blocks for eAssessment toolsMoodle’s building blocks for eAssessment tools
Moodle’s building blocks for eAssessment tools
 
A basic introduction to the Moodle architecture
A basic introduction to the Moodle architectureA basic introduction to the Moodle architecture
A basic introduction to the Moodle architecture
 

Recently uploaded

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 

Recently uploaded (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 

Hosting Moodle at the OU

  • 1. Hosting Moodle at the OU Tim Hunt, Leading Technical Developer iMoot 2014
  • 2. Outline 1. Moodle at the OU 2. Servers 3. Development 4. Configuration
  • 3. 1. Moodle at the OU
  • 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
  • 16. Code management • Major release: git checkout -b helper_branch v2.6.1 git merge –s ours v2.5.4 git checkout ouvle git merge –X patience helper_branch then fix conflicts
  • 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
  • 19. Configuration • Memcached for sessions • Turn of filtered text caching –but custom glossary filter
  • 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