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

OpenId Connect Protocol
OpenId Connect ProtocolOpenId Connect Protocol
OpenId Connect ProtocolMichael Furman
 
Proposal complete school college management software.
Proposal complete school college management software.Proposal complete school college management software.
Proposal complete school college management software.Sohel Mahboob
 
MBA Transcript
MBA TranscriptMBA Transcript
MBA Transcriptmanu786
 
Official Transcript Bachelor Degree.PDF
Official Transcript Bachelor Degree.PDFOfficial Transcript Bachelor Degree.PDF
Official Transcript Bachelor Degree.PDFSok Sokuntheara
 
All_GCSE_Results
All_GCSE_ResultsAll_GCSE_Results
All_GCSE_ResultsRosa Gane
 
Moodle structural overview
Moodle structural overviewMoodle structural overview
Moodle structural overviewMark Drechsler
 
UNISA Comp Bookkeeping Certificate
UNISA Comp Bookkeeping CertificateUNISA Comp Bookkeeping Certificate
UNISA Comp Bookkeeping CertificateLaaiqa Shaik-Habeeb
 
Degree Certificate
Degree CertificateDegree Certificate
Degree CertificateWaqas Ahmed
 
MBA Certificate with Transcripts
MBA Certificate with TranscriptsMBA Certificate with Transcripts
MBA Certificate with TranscriptsRoman Solovyov
 

What's hot (14)

HSC Certificate
HSC CertificateHSC Certificate
HSC Certificate
 
MBA-Zubair
MBA-ZubairMBA-Zubair
MBA-Zubair
 
Joomla and cms
Joomla and  cmsJoomla and  cms
Joomla and cms
 
OpenId Connect Protocol
OpenId Connect ProtocolOpenId Connect Protocol
OpenId Connect Protocol
 
Proposal complete school college management software.
Proposal complete school college management software.Proposal complete school college management software.
Proposal complete school college management software.
 
Matric Certificate
Matric CertificateMatric Certificate
Matric Certificate
 
MBA Transcript
MBA TranscriptMBA Transcript
MBA Transcript
 
Official Transcript Bachelor Degree.PDF
Official Transcript Bachelor Degree.PDFOfficial Transcript Bachelor Degree.PDF
Official Transcript Bachelor Degree.PDF
 
All_GCSE_Results
All_GCSE_ResultsAll_GCSE_Results
All_GCSE_Results
 
DEGREE-B.COM COMMERCE
DEGREE-B.COM COMMERCEDEGREE-B.COM COMMERCE
DEGREE-B.COM COMMERCE
 
Moodle structural overview
Moodle structural overviewMoodle structural overview
Moodle structural overview
 
UNISA Comp Bookkeeping Certificate
UNISA Comp Bookkeeping CertificateUNISA Comp Bookkeeping Certificate
UNISA Comp Bookkeeping Certificate
 
Degree Certificate
Degree CertificateDegree Certificate
Degree Certificate
 
MBA Certificate with Transcripts
MBA Certificate with TranscriptsMBA Certificate with Transcripts
MBA Certificate with Transcripts
 

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 (20)

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
 
Moodle.ppt
Moodle.pptMoodle.ppt
Moodle.ppt
 

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

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
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
 
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
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
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
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 

Recently uploaded (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
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
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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
 
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
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
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
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 

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