SlideShare a Scribd company logo
1 of 47
Best Practices in Moodle
Administration
Jonathan Moore
Founder
Background and Context
●
Managed thousands of Moodle sites
●
Managed millions of Moodle user accounts
●
Over 10 years experience with Moodle
●
Tuning, scalability, and performance expert
●
Author of Moodle Module Development
Format
● Variety of tips / tricks
● Learn the possibilities
● Some hands on
● Ask questions!
● Share your tips
Getting to Know You
● How many were in this
session last year?
● Interest in new features in
2.8 / 2.9?
Getting to Know You
● How many new
admins?
● How many running
Moodle 2.6? Moodle
2.7? Moodle 2.8?
● Anyone running
Moodle older than
2.6?
● Any Moodle 1.9
sites?
● Are you a 'geeky
Getting to Know You
● How many host your own Moodle site?
● What OS are you running?
● What web server are you running?
● What database are you running?
● What are you hoping to learn today?
Outages
● 80% of failures are bad changes
● 80% of downtime finding the bad change
Outages
● 80% of failures are bad changes
● 80% of downtime finding the bad change
Moodle Mission Critical?
Use Change Management!
● Have a stakeholder change advisory board
● Who are our stakeholders?
● What should we control?
● What causes downtime?
● What causes user issues?
Hands-on
● Forming a Change Advisory Board
● Who?
● How often?
● What are we controlling?
Change Management Tips
● Control settings management
● Control module approval
● Control stack changes
● Document the how's and why's
● Be responsive
● Read the Visible Ops book
Hands-on
● Local Moodle install
● Moodle.org
– Downloads
– Current builds
– Choose Mac / PC
Admin Know Thy Server
● Monitoring: Cacti / Zennoss
● SNMP monitoring
● Round robin log storage
● Alerts and Notifications: Nagios
● SNMP alert system
● Have your servers page or text you!
●
Linux most used for scalability
●
Windows lower performance for PHP
apps, but improving
●
Mac OSX forking performance issue
●
Apache and MySQL concurrency issue
Platform Selection
Performance Tips
● PHP Accelerator – APC / OPCache
● MySQL –
– Buffers and Query Caching
– Use InnoDB
– Use MariaDB build
● Sessions
● Moodle source code location
Performance Tweaking
● Memory Budget
● Concurrency
● 5 Things Making Your Site Slow
● Testing
Hands-on
● Visit phpinfo
● Site Administration → Server →
phpInfo
● Confirm PHP version
● Confirm if PHP Accelerator
More Tips
● Batch cron.php runs for multiple Moodles
● Check state of indexes and bigints
● Perform database maintenance
Performance Testing Tools
● Admins
– jMeter
– Apache ab utility
● Devs
– Behat / Sellenium
– XProf
JMeter Benchmarking
● Simulates simultaneous user activity
● Gathers response and throughput results
● Not a browser can't test javascript
● Can use to measure +/- of changes
● Can use to estimate expected concurrency, but
harder
● Moodle 2.6 and onward has builtin integration
User Management
● Plan ahead Moodle sites grow fast!
● Measure twice cut once
● Automate

Great combination: LDAP authentication with
external database enrolment

Automate account creation

Enrollment Plug-ins
− Automate course creation
− Automate teacher assignment
− Automate student enrollments

Synchronization scripts
A Better Way – Automate!

Automate user creation, course creation and
enrolments

Use LDAP auth + external DB enrolment

Get higher adoption rates from instructors

Instructor can focus more time on teaching less on the
technology
Just-in-Case Model
Hands-on
● Bulk upload users with a flat file
● External DB enrollmet setup
Roles
● Avoid changing built in roles
● Remember reset defaults option
● Know what level to apply roles at
– Admin: global
– Course Creator: global, or category
– Student, Teacher: course
● Know what level capabilities work at
● Make new roles by copying most similar existing role
Hands-on
● Duplicate a role and edit
●
Course backups not a full backup!
●
Disable automated course backups?
●
Yesterday instance
●
Backup Elements
●
Moodle code
●
Moodledata
●
Database
Backups Management
Hands-on
● Make a Moodle backup
– Copy Moodle source dir
– Copy Moodle data dir
– 'dump' database to sql file
●
Use an issue tracker / ticket system
●
Get a detailed user report
●
Use Moodle debugger
●
Reproduce issue
●
Use search
●
Google
●
Moodle tracker
●
Moodle forums and docs
Finding and Fixing
Hands-on
● Enable debugging
● Site Admin → Development →
Debugging
● Increase debugging level
● Enable display
● Enable performance info
Moodle Issue Tracker
 Use notification screen to confirm version
 Moodle Issue Tracker
»Vote for bugs
»Set a watch your important bugs
»Store issue ID in your support system
for later reference
»http://tracker.moodle.org
Hands-on
● Visit issue tracker
● Http://tracker.moodle.org
Custom Development and Modules
 Don't load modules just because they are
available
 Use modules over “hacks”
 Use the forums to evaluate modules
 Use the author's profile to research the creator
 Consider long term availability
 Consider security
Common Plug-in Types
● Blocks
● Activity modules
● Filters
● Auth
● Enrollment
● Local
● Themes
PhpMyAdmin / Adminer

Useful and powerful, but dangerous

Useful to pull reports not built into Moodle

Change settings not in GUI

Fix Moodle when “broken” by user error

Reset administrator password if locked out
Hands-on
● Install the certificate module
● Install Adminer
MyODBC
 Windows client software
 Connect MySQL to desktop applications
 Make ad hoc reports in MS Access, Excel,
Open Office, etc.
Various Admin Helpers
● Moodle debug
● General debugging
● Performance debugging
● phpinfo – confirm your php build
● iperf – test your network
● Iostat / sar – linux disk usage stats
● strace – see what a process is doing
Security
● Security report
● Use password salts
● User passwords – less secure then ever!
– Know about password managers like
lastpass and keepass
● Don't give web server user write
permissions to Moodle source
General Security
● Select Enterprise class OS with long term update
support.
● Automate updates / have set release schedule
● Moodledata outside of web root
● Try mod_sec
● Consider using weekly stable git for Moodle auto
updates
● Consider forced logins
● HTTPS logins
General Security
● Select Enterprise class OS with long term update
support.
● Automate updates / have set release schedule
● Moodledata outside of web root
● Try mod_sec
● Consider using weekly stable git for Moodle auto
updates
● Consider forced logins
● HTTPS logins
Hands-on
● Run security report
● Enable force logins
● Show secure logins setting
● Show kpass/last pass password manager
● Go to Moodle Docs security FAQ
Email delivery
 Make sure you have valid reverse DNS
 Make sure you have permission to send email
for primary administrator's email account
 Use email debug to help diagnose problems.
Custom themes
 Start with a basic theme
 Copy existing theme to a new folder name
 Prevents upgrades from wiping out
 Test on a non-production site
 Test with many browsers / screen sizes
Hands-on
● Change theme
● Open theme settings
● Add image
● Change colors
Questions?
● http://elearningconsultancy.com
● jonathan@elearningconsultancy.com
● Twitter: @moorejon
● Skype: moorejon07
What we do
● Expert advice and eLearning program review
● Evangelism and training
● Instructional design
● Custom development
● System tuning
● Performance assessment

More Related Content

What's hot

ITIL Service Operation
ITIL Service OperationITIL Service Operation
ITIL Service OperationMarvin Sirait
 
The Best Moodle Modules and Plugins
The Best Moodle Modules and PluginsThe Best Moodle Modules and Plugins
The Best Moodle Modules and PluginsRafael Scapin, Ph.D.
 
M-Files Enterprise Content Management Software
M-Files Enterprise Content Management SoftwareM-Files Enterprise Content Management Software
M-Files Enterprise Content Management SoftwareChris Davidson
 
Document Management System
Document Management SystemDocument Management System
Document Management SystemSidhartha Sahoo
 
Learning Management System
Learning Management SystemLearning Management System
Learning Management Systemfatimaesolpk
 
Understanding Records Management in Office 365
Understanding Records Management in Office 365Understanding Records Management in Office 365
Understanding Records Management in Office 365RecordPoint
 
Augmenting IT strategy with Enterprise architecture assessment
Augmenting IT strategy with Enterprise architecture assessmentAugmenting IT strategy with Enterprise architecture assessment
Augmenting IT strategy with Enterprise architecture assessmentPrashanth Panduranga
 
15 hacks for better ITAM with ServiceDesk Plus
15 hacks for better ITAM with ServiceDesk Plus15 hacks for better ITAM with ServiceDesk Plus
15 hacks for better ITAM with ServiceDesk PlusLeeben Amirthavasagam
 
Office 365 Mail migration strategies
Office 365 Mail migration strategiesOffice 365 Mail migration strategies
Office 365 Mail migration strategiesFulvio Salanitro
 
Extending OutSystems with Javascript
Extending OutSystems with JavascriptExtending OutSystems with Javascript
Extending OutSystems with JavascriptRitaDias72
 
Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...
Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...
Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...Microsoft Private Cloud
 
Von der Businessstrategie zum Service-Portfolio
Von der Businessstrategie zum Service-PortfolioVon der Businessstrategie zum Service-Portfolio
Von der Businessstrategie zum Service-PortfolioDigicomp Academy AG
 
Office 365 periodic table - editable
Office 365 periodic table - editableOffice 365 periodic table - editable
Office 365 periodic table - editableAmmar Hasayen
 
HOW CAN POWERAPPS AND MICROSOFT FLOW ALLOWS YOUR POWER USERS TO QUICKLY BUILD...
HOW CAN POWERAPPS AND MICROSOFT FLOW ALLOWS YOUR POWER USERS TO QUICKLY BUILD...HOW CAN POWERAPPS AND MICROSOFT FLOW ALLOWS YOUR POWER USERS TO QUICKLY BUILD...
HOW CAN POWERAPPS AND MICROSOFT FLOW ALLOWS YOUR POWER USERS TO QUICKLY BUILD...Sandro Pereira
 
8 Key Elements to Modern IT Operations Management with a Digital Operations C...
8 Key Elements to Modern IT Operations Management with a Digital Operations C...8 Key Elements to Modern IT Operations Management with a Digital Operations C...
8 Key Elements to Modern IT Operations Management with a Digital Operations C...OpsRamp
 
ERP on School Management System
ERP on School Management SystemERP on School Management System
ERP on School Management SystemAmit Gandhi
 

What's hot (20)

ITIL Service Operation
ITIL Service OperationITIL Service Operation
ITIL Service Operation
 
The Best Moodle Modules and Plugins
The Best Moodle Modules and PluginsThe Best Moodle Modules and Plugins
The Best Moodle Modules and Plugins
 
M-Files Enterprise Content Management Software
M-Files Enterprise Content Management SoftwareM-Files Enterprise Content Management Software
M-Files Enterprise Content Management Software
 
Document Management System
Document Management SystemDocument Management System
Document Management System
 
Learning Management System
Learning Management SystemLearning Management System
Learning Management System
 
Moodle - Learning Management System
Moodle - Learning Management SystemMoodle - Learning Management System
Moodle - Learning Management System
 
Understanding Records Management in Office 365
Understanding Records Management in Office 365Understanding Records Management in Office 365
Understanding Records Management in Office 365
 
Learning management system
Learning management systemLearning management system
Learning management system
 
Augmenting IT strategy with Enterprise architecture assessment
Augmenting IT strategy with Enterprise architecture assessmentAugmenting IT strategy with Enterprise architecture assessment
Augmenting IT strategy with Enterprise architecture assessment
 
Moodle.ppt
Moodle.pptMoodle.ppt
Moodle.ppt
 
15 hacks for better ITAM with ServiceDesk Plus
15 hacks for better ITAM with ServiceDesk Plus15 hacks for better ITAM with ServiceDesk Plus
15 hacks for better ITAM with ServiceDesk Plus
 
Office 365 Mail migration strategies
Office 365 Mail migration strategiesOffice 365 Mail migration strategies
Office 365 Mail migration strategies
 
Extending OutSystems with Javascript
Extending OutSystems with JavascriptExtending OutSystems with Javascript
Extending OutSystems with Javascript
 
Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...
Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...
Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...
 
Von der Businessstrategie zum Service-Portfolio
Von der Businessstrategie zum Service-PortfolioVon der Businessstrategie zum Service-Portfolio
Von der Businessstrategie zum Service-Portfolio
 
Office 365 periodic table - editable
Office 365 periodic table - editableOffice 365 periodic table - editable
Office 365 periodic table - editable
 
HOW CAN POWERAPPS AND MICROSOFT FLOW ALLOWS YOUR POWER USERS TO QUICKLY BUILD...
HOW CAN POWERAPPS AND MICROSOFT FLOW ALLOWS YOUR POWER USERS TO QUICKLY BUILD...HOW CAN POWERAPPS AND MICROSOFT FLOW ALLOWS YOUR POWER USERS TO QUICKLY BUILD...
HOW CAN POWERAPPS AND MICROSOFT FLOW ALLOWS YOUR POWER USERS TO QUICKLY BUILD...
 
8 Key Elements to Modern IT Operations Management with a Digital Operations C...
8 Key Elements to Modern IT Operations Management with a Digital Operations C...8 Key Elements to Modern IT Operations Management with a Digital Operations C...
8 Key Elements to Modern IT Operations Management with a Digital Operations C...
 
Moodle: An Open Source Course Management System
Moodle: An Open Source Course Management SystemMoodle: An Open Source Course Management System
Moodle: An Open Source Course Management System
 
ERP on School Management System
ERP on School Management SystemERP on School Management System
ERP on School Management System
 

Viewers also liked

Moodle Course Creator Certificate 2016
Moodle Course Creator Certificate 2016Moodle Course Creator Certificate 2016
Moodle Course Creator Certificate 2016Elearning Experts LLC
 
4TVirtualCon- Moodle Administration
4TVirtualCon- Moodle Administration4TVirtualCon- Moodle Administration
4TVirtualCon- Moodle AdministrationMiguel Guhlin
 
Moodle 2.2, 2.3 and beyond
Moodle 2.2, 2.3 and beyondMoodle 2.2, 2.3 and beyond
Moodle 2.2, 2.3 and beyondMartin Dougiamas
 
Moodle for Small Business
Moodle for Small BusinessMoodle for Small Business
Moodle for Small BusinessTish Kirkland
 
Moodle_Configuration
Moodle_ConfigurationMoodle_Configuration
Moodle_ConfigurationJunaid Shaikh
 
Moodle explained with lego (short version)
Moodle explained with lego (short version)Moodle explained with lego (short version)
Moodle explained with lego (short version)sarahfrederickx
 
Moodle Development Best Pracitces
Moodle Development Best PracitcesMoodle Development Best Pracitces
Moodle Development Best PracitcesJustin Filip
 
Best Practices in Moodle Course Development
Best Practices in Moodle Course DevelopmentBest Practices in Moodle Course Development
Best Practices in Moodle Course Developmentnosh0502
 
Installing moodle on a local machine
Installing moodle on a local machineInstalling moodle on a local machine
Installing moodle on a local machineVag Kats
 
Building a Moodle theme with bootstrap
Building a Moodle theme with bootstrapBuilding a Moodle theme with bootstrap
Building a Moodle theme with bootstrapBas Brands
 
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
 
Best practices in Moodle Course Design
Best practices in Moodle Course DesignBest practices in Moodle Course Design
Best practices in Moodle Course DesignMichelle Moore
 

Viewers also liked (19)

Moodle
MoodleMoodle
Moodle
 
Moodle Course Creator Certificate 2016
Moodle Course Creator Certificate 2016Moodle Course Creator Certificate 2016
Moodle Course Creator Certificate 2016
 
4TVirtualCon- Moodle Administration
4TVirtualCon- Moodle Administration4TVirtualCon- Moodle Administration
4TVirtualCon- Moodle Administration
 
Moodle 2.2, 2.3 and beyond
Moodle 2.2, 2.3 and beyondMoodle 2.2, 2.3 and beyond
Moodle 2.2, 2.3 and beyond
 
Moodle 2 Overview
Moodle 2 OverviewMoodle 2 Overview
Moodle 2 Overview
 
Moodle for Small Business
Moodle for Small BusinessMoodle for Small Business
Moodle for Small Business
 
Moodle_Configuration
Moodle_ConfigurationMoodle_Configuration
Moodle_Configuration
 
Moodle explained with lego (short version)
Moodle explained with lego (short version)Moodle explained with lego (short version)
Moodle explained with lego (short version)
 
moodle on wamp
moodle on wampmoodle on wamp
moodle on wamp
 
Moodlemoot AU 2013
Moodlemoot AU 2013Moodlemoot AU 2013
Moodlemoot AU 2013
 
Moodle
Moodle Moodle
Moodle
 
Moodle Development Best Pracitces
Moodle Development Best PracitcesMoodle Development Best Pracitces
Moodle Development Best Pracitces
 
Best Practices in Moodle Course Development
Best Practices in Moodle Course DevelopmentBest Practices in Moodle Course Development
Best Practices in Moodle Course Development
 
Installing moodle on a local machine
Installing moodle on a local machineInstalling moodle on a local machine
Installing moodle on a local machine
 
Building a Moodle theme with bootstrap
Building a Moodle theme with bootstrapBuilding a Moodle theme with bootstrap
Building a Moodle theme with bootstrap
 
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
 
Best practices in Moodle Course Design
Best practices in Moodle Course DesignBest practices in Moodle Course Design
Best practices in Moodle Course Design
 
Best Ways of Using Moodle
Best Ways of Using MoodleBest Ways of Using Moodle
Best Ways of Using Moodle
 
Moodle Course Design
Moodle Course DesignMoodle Course Design
Moodle Course Design
 

Similar to Best Practices In Moodle Administration

Best practices in Moodle administration Monatana Moot 2014
Best practices in Moodle administration Monatana Moot 2014Best practices in Moodle administration Monatana Moot 2014
Best practices in Moodle administration Monatana Moot 2014moorejon
 
Ireland Moot 2013 Admin Workshop Morning Session
Ireland Moot 2013 Admin Workshop Morning SessionIreland Moot 2013 Admin Workshop Morning Session
Ireland Moot 2013 Admin Workshop Morning SessionRemote-Learner UK
 
Extending Moodle Reporting
Extending Moodle ReportingExtending Moodle Reporting
Extending Moodle Reportingmoorejon
 
JMeter performance and scalability in Moodle Montana Moot 2014
JMeter performance and scalability in Moodle Montana Moot 2014JMeter performance and scalability in Moodle Montana Moot 2014
JMeter performance and scalability in Moodle Montana Moot 2014moorejon
 
Moodle performance and stress testing
Moodle performance and stress testingMoodle performance and stress testing
Moodle performance and stress testingmoorejon
 
Ireland Moot 2013 Admin Workshop Afternoon Session
Ireland Moot 2013 Admin Workshop Afternoon SessionIreland Moot 2013 Admin Workshop Afternoon Session
Ireland Moot 2013 Admin Workshop Afternoon SessionRemote-Learner UK
 
Moodle performance testing presentation - Jonathon Moore
 Moodle performance testing presentation - Jonathon Moore Moodle performance testing presentation - Jonathon Moore
Moodle performance testing presentation - Jonathon MooreIreland & UK Moodlemoot 2012
 
Becoming A Drupal Master Builder
Becoming A Drupal Master BuilderBecoming A Drupal Master Builder
Becoming A Drupal Master BuilderPhilip Norton
 
Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)Per Henrik Lausten
 
Keeping up with the changes: Automating UAT - Damian Sweeney, Student and Aca...
Keeping up with the changes: Automating UAT - Damian Sweeney, Student and Aca...Keeping up with the changes: Automating UAT - Damian Sweeney, Student and Aca...
Keeping up with the changes: Automating UAT - Damian Sweeney, Student and Aca...Blackboard APAC
 
Vietnam qa meetup
Vietnam qa meetupVietnam qa meetup
Vietnam qa meetupSyam Sasi
 
Proper Care and Feeding of a MySQL Database for Busy Linux Administrators
Proper Care and Feeding of a MySQL Database for Busy Linux AdministratorsProper Care and Feeding of a MySQL Database for Busy Linux Administrators
Proper Care and Feeding of a MySQL Database for Busy Linux AdministratorsDave Stokes
 
Successful Joomla migrations that don't hurt Search Engine Rankings
Successful Joomla migrations that don't hurt Search Engine RankingsSuccessful Joomla migrations that don't hurt Search Engine Rankings
Successful Joomla migrations that don't hurt Search Engine RankingsJoomla Day South Africa
 
How to improve your moodle site performance
How to improve your moodle site performanceHow to improve your moodle site performance
How to improve your moodle site performanceDavid Monllaó
 
Introduction to Moodle Development
Introduction to Moodle DevelopmentIntroduction to Moodle Development
Introduction to Moodle Developmentmoorejon
 
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...Dave Stokes
 
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux Admins
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux AdminsLinuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux Admins
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux AdminsDave Stokes
 
10 tips for continuous integration
10 tips for continuous integration10 tips for continuous integration
10 tips for continuous integrationVladimir Roudakov
 
Joomla! future #jd14fr keynote
Joomla! future #jd14fr keynoteJoomla! future #jd14fr keynote
Joomla! future #jd14fr keynoteRoberto Segura
 

Similar to Best Practices In Moodle Administration (20)

Best practices in Moodle administration Monatana Moot 2014
Best practices in Moodle administration Monatana Moot 2014Best practices in Moodle administration Monatana Moot 2014
Best practices in Moodle administration Monatana Moot 2014
 
Ireland Moot 2013 Admin Workshop Morning Session
Ireland Moot 2013 Admin Workshop Morning SessionIreland Moot 2013 Admin Workshop Morning Session
Ireland Moot 2013 Admin Workshop Morning Session
 
Extending Moodle Reporting
Extending Moodle ReportingExtending Moodle Reporting
Extending Moodle Reporting
 
JMeter performance and scalability in Moodle Montana Moot 2014
JMeter performance and scalability in Moodle Montana Moot 2014JMeter performance and scalability in Moodle Montana Moot 2014
JMeter performance and scalability in Moodle Montana Moot 2014
 
Moodle performance and stress testing
Moodle performance and stress testingMoodle performance and stress testing
Moodle performance and stress testing
 
Ireland Moot 2013 Admin Workshop Afternoon Session
Ireland Moot 2013 Admin Workshop Afternoon SessionIreland Moot 2013 Admin Workshop Afternoon Session
Ireland Moot 2013 Admin Workshop Afternoon Session
 
Moodle performance testing presentation - Jonathon Moore
 Moodle performance testing presentation - Jonathon Moore Moodle performance testing presentation - Jonathon Moore
Moodle performance testing presentation - Jonathon Moore
 
Becoming A Drupal Master Builder
Becoming A Drupal Master BuilderBecoming A Drupal Master Builder
Becoming A Drupal Master Builder
 
Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)
 
Keeping up with the changes: Automating UAT - Damian Sweeney, Student and Aca...
Keeping up with the changes: Automating UAT - Damian Sweeney, Student and Aca...Keeping up with the changes: Automating UAT - Damian Sweeney, Student and Aca...
Keeping up with the changes: Automating UAT - Damian Sweeney, Student and Aca...
 
Vietnam qa meetup
Vietnam qa meetupVietnam qa meetup
Vietnam qa meetup
 
Proper Care and Feeding of a MySQL Database for Busy Linux Administrators
Proper Care and Feeding of a MySQL Database for Busy Linux AdministratorsProper Care and Feeding of a MySQL Database for Busy Linux Administrators
Proper Care and Feeding of a MySQL Database for Busy Linux Administrators
 
Successful Joomla migrations that don't hurt Search Engine Rankings
Successful Joomla migrations that don't hurt Search Engine RankingsSuccessful Joomla migrations that don't hurt Search Engine Rankings
Successful Joomla migrations that don't hurt Search Engine Rankings
 
How to improve your moodle site performance
How to improve your moodle site performanceHow to improve your moodle site performance
How to improve your moodle site performance
 
Introduction to Moodle Development
Introduction to Moodle DevelopmentIntroduction to Moodle Development
Introduction to Moodle Development
 
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...
 
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux Admins
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux AdminsLinuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux Admins
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux Admins
 
Managing Moodle Performance Testing Paul Stevens
Managing Moodle Performance Testing 	Paul StevensManaging Moodle Performance Testing 	Paul Stevens
Managing Moodle Performance Testing Paul Stevens
 
10 tips for continuous integration
10 tips for continuous integration10 tips for continuous integration
10 tips for continuous integration
 
Joomla! future #jd14fr keynote
Joomla! future #jd14fr keynoteJoomla! future #jd14fr keynote
Joomla! future #jd14fr keynote
 

More from moorejon

How to encrypt and protect your moodle site for free with let's encrypt
How to encrypt and protect your moodle site for free with let's encryptHow to encrypt and protect your moodle site for free with let's encrypt
How to encrypt and protect your moodle site for free with let's encryptmoorejon
 
Best new features in moodle 3.1
Best new features in moodle 3.1Best new features in moodle 3.1
Best new features in moodle 3.1moorejon
 
Using moodle badges
Using moodle badgesUsing moodle badges
Using moodle badgesmoorejon
 
Using moodle outcomes and competencies
Using moodle outcomes and competenciesUsing moodle outcomes and competencies
Using moodle outcomes and competenciesmoorejon
 
Git for Moodle Administrators
Git for Moodle AdministratorsGit for Moodle Administrators
Git for Moodle Administratorsmoorejon
 
Introduction To Elis
Introduction To ElisIntroduction To Elis
Introduction To Elismoorejon
 
Securing Your Moodle
Securing Your MoodleSecuring Your Moodle
Securing Your Moodlemoorejon
 
Integrating Moodle With Enterprise Systems
Integrating Moodle With Enterprise SystemsIntegrating Moodle With Enterprise Systems
Integrating Moodle With Enterprise Systemsmoorejon
 

More from moorejon (8)

How to encrypt and protect your moodle site for free with let's encrypt
How to encrypt and protect your moodle site for free with let's encryptHow to encrypt and protect your moodle site for free with let's encrypt
How to encrypt and protect your moodle site for free with let's encrypt
 
Best new features in moodle 3.1
Best new features in moodle 3.1Best new features in moodle 3.1
Best new features in moodle 3.1
 
Using moodle badges
Using moodle badgesUsing moodle badges
Using moodle badges
 
Using moodle outcomes and competencies
Using moodle outcomes and competenciesUsing moodle outcomes and competencies
Using moodle outcomes and competencies
 
Git for Moodle Administrators
Git for Moodle AdministratorsGit for Moodle Administrators
Git for Moodle Administrators
 
Introduction To Elis
Introduction To ElisIntroduction To Elis
Introduction To Elis
 
Securing Your Moodle
Securing Your MoodleSecuring Your Moodle
Securing Your Moodle
 
Integrating Moodle With Enterprise Systems
Integrating Moodle With Enterprise SystemsIntegrating Moodle With Enterprise Systems
Integrating Moodle With Enterprise Systems
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Recently uploaded (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Best Practices In Moodle Administration

  • 1. Best Practices in Moodle Administration Jonathan Moore Founder
  • 2. Background and Context ● Managed thousands of Moodle sites ● Managed millions of Moodle user accounts ● Over 10 years experience with Moodle ● Tuning, scalability, and performance expert ● Author of Moodle Module Development
  • 3. Format ● Variety of tips / tricks ● Learn the possibilities ● Some hands on ● Ask questions! ● Share your tips
  • 4. Getting to Know You ● How many were in this session last year? ● Interest in new features in 2.8 / 2.9?
  • 5. Getting to Know You ● How many new admins? ● How many running Moodle 2.6? Moodle 2.7? Moodle 2.8? ● Anyone running Moodle older than 2.6? ● Any Moodle 1.9 sites? ● Are you a 'geeky
  • 6. Getting to Know You ● How many host your own Moodle site? ● What OS are you running? ● What web server are you running? ● What database are you running? ● What are you hoping to learn today?
  • 7. Outages ● 80% of failures are bad changes ● 80% of downtime finding the bad change
  • 8. Outages ● 80% of failures are bad changes ● 80% of downtime finding the bad change
  • 9. Moodle Mission Critical? Use Change Management! ● Have a stakeholder change advisory board ● Who are our stakeholders? ● What should we control? ● What causes downtime? ● What causes user issues?
  • 10. Hands-on ● Forming a Change Advisory Board ● Who? ● How often? ● What are we controlling?
  • 11. Change Management Tips ● Control settings management ● Control module approval ● Control stack changes ● Document the how's and why's ● Be responsive ● Read the Visible Ops book
  • 12. Hands-on ● Local Moodle install ● Moodle.org – Downloads – Current builds – Choose Mac / PC
  • 13. Admin Know Thy Server ● Monitoring: Cacti / Zennoss ● SNMP monitoring ● Round robin log storage ● Alerts and Notifications: Nagios ● SNMP alert system ● Have your servers page or text you!
  • 14. ● Linux most used for scalability ● Windows lower performance for PHP apps, but improving ● Mac OSX forking performance issue ● Apache and MySQL concurrency issue Platform Selection
  • 15. Performance Tips ● PHP Accelerator – APC / OPCache ● MySQL – – Buffers and Query Caching – Use InnoDB – Use MariaDB build ● Sessions ● Moodle source code location
  • 16. Performance Tweaking ● Memory Budget ● Concurrency ● 5 Things Making Your Site Slow ● Testing
  • 17. Hands-on ● Visit phpinfo ● Site Administration → Server → phpInfo ● Confirm PHP version ● Confirm if PHP Accelerator
  • 18. More Tips ● Batch cron.php runs for multiple Moodles ● Check state of indexes and bigints ● Perform database maintenance
  • 19. Performance Testing Tools ● Admins – jMeter – Apache ab utility ● Devs – Behat / Sellenium – XProf
  • 20. JMeter Benchmarking ● Simulates simultaneous user activity ● Gathers response and throughput results ● Not a browser can't test javascript ● Can use to measure +/- of changes ● Can use to estimate expected concurrency, but harder ● Moodle 2.6 and onward has builtin integration
  • 21. User Management ● Plan ahead Moodle sites grow fast! ● Measure twice cut once ● Automate
  • 22.  Great combination: LDAP authentication with external database enrolment  Automate account creation  Enrollment Plug-ins − Automate course creation − Automate teacher assignment − Automate student enrollments  Synchronization scripts A Better Way – Automate!
  • 23.  Automate user creation, course creation and enrolments  Use LDAP auth + external DB enrolment  Get higher adoption rates from instructors  Instructor can focus more time on teaching less on the technology Just-in-Case Model
  • 24. Hands-on ● Bulk upload users with a flat file ● External DB enrollmet setup
  • 25. Roles ● Avoid changing built in roles ● Remember reset defaults option ● Know what level to apply roles at – Admin: global – Course Creator: global, or category – Student, Teacher: course ● Know what level capabilities work at ● Make new roles by copying most similar existing role
  • 26. Hands-on ● Duplicate a role and edit
  • 27. ● Course backups not a full backup! ● Disable automated course backups? ● Yesterday instance ● Backup Elements ● Moodle code ● Moodledata ● Database Backups Management
  • 28. Hands-on ● Make a Moodle backup – Copy Moodle source dir – Copy Moodle data dir – 'dump' database to sql file
  • 29. ● Use an issue tracker / ticket system ● Get a detailed user report ● Use Moodle debugger ● Reproduce issue ● Use search ● Google ● Moodle tracker ● Moodle forums and docs Finding and Fixing
  • 30. Hands-on ● Enable debugging ● Site Admin → Development → Debugging ● Increase debugging level ● Enable display ● Enable performance info
  • 31. Moodle Issue Tracker  Use notification screen to confirm version  Moodle Issue Tracker »Vote for bugs »Set a watch your important bugs »Store issue ID in your support system for later reference »http://tracker.moodle.org
  • 32. Hands-on ● Visit issue tracker ● Http://tracker.moodle.org
  • 33. Custom Development and Modules  Don't load modules just because they are available  Use modules over “hacks”  Use the forums to evaluate modules  Use the author's profile to research the creator  Consider long term availability  Consider security
  • 34. Common Plug-in Types ● Blocks ● Activity modules ● Filters ● Auth ● Enrollment ● Local ● Themes
  • 35. PhpMyAdmin / Adminer  Useful and powerful, but dangerous  Useful to pull reports not built into Moodle  Change settings not in GUI  Fix Moodle when “broken” by user error  Reset administrator password if locked out
  • 36. Hands-on ● Install the certificate module ● Install Adminer
  • 37. MyODBC  Windows client software  Connect MySQL to desktop applications  Make ad hoc reports in MS Access, Excel, Open Office, etc.
  • 38. Various Admin Helpers ● Moodle debug ● General debugging ● Performance debugging ● phpinfo – confirm your php build ● iperf – test your network ● Iostat / sar – linux disk usage stats ● strace – see what a process is doing
  • 39. Security ● Security report ● Use password salts ● User passwords – less secure then ever! – Know about password managers like lastpass and keepass ● Don't give web server user write permissions to Moodle source
  • 40. General Security ● Select Enterprise class OS with long term update support. ● Automate updates / have set release schedule ● Moodledata outside of web root ● Try mod_sec ● Consider using weekly stable git for Moodle auto updates ● Consider forced logins ● HTTPS logins
  • 41. General Security ● Select Enterprise class OS with long term update support. ● Automate updates / have set release schedule ● Moodledata outside of web root ● Try mod_sec ● Consider using weekly stable git for Moodle auto updates ● Consider forced logins ● HTTPS logins
  • 42. Hands-on ● Run security report ● Enable force logins ● Show secure logins setting ● Show kpass/last pass password manager ● Go to Moodle Docs security FAQ
  • 43. Email delivery  Make sure you have valid reverse DNS  Make sure you have permission to send email for primary administrator's email account  Use email debug to help diagnose problems.
  • 44. Custom themes  Start with a basic theme  Copy existing theme to a new folder name  Prevents upgrades from wiping out  Test on a non-production site  Test with many browsers / screen sizes
  • 45. Hands-on ● Change theme ● Open theme settings ● Add image ● Change colors
  • 47. What we do ● Expert advice and eLearning program review ● Evangelism and training ● Instructional design ● Custom development ● System tuning ● Performance assessment