SlideShare une entreprise Scribd logo
1  sur  45
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 new admins?
● How many running Moodle 2.5? Moodle
2.6? Moodle 2.7?
● Anyone running Moodle older than 2.5?
● Any Moodle 1.9 sites?
● Are you a 'geeky admin' or instructional
admin?
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
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
Admin Know Thy Server
● Monitoring: Cacti
● 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

Contenu connexe

Similaire à Best practices in Moodle administration Monatana Moot 2014

Best Practices In Moodle Administration
Best Practices In Moodle AdministrationBest Practices In Moodle Administration
Best Practices In Moodle Administrationmoorejon
 
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 Development Best Pracitces
Moodle Development Best PracitcesMoodle Development Best Pracitces
Moodle Development Best PracitcesJustin Filip
 
Moodle performance and stress testing
Moodle performance and stress testingMoodle performance and stress testing
Moodle performance and stress testingmoorejon
 
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
 
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
 
Git for Moodle Administrators
Git for Moodle AdministratorsGit for Moodle Administrators
Git for Moodle Administratorsmoorejon
 
JUG Utrecht 2013 - Have you tried turning it off and on again? Problemen oplo...
JUG Utrecht 2013 - Have you tried turning it off and on again? Problemen oplo...JUG Utrecht 2013 - Have you tried turning it off and on again? Problemen oplo...
JUG Utrecht 2013 - Have you tried turning it off and on again? Problemen oplo...Peter Martin
 
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
 
Cynthia Wu: Satisfaction Not Guaranteed
Cynthia Wu: Satisfaction Not GuaranteedCynthia Wu: Satisfaction Not Guaranteed
Cynthia Wu: Satisfaction Not GuaranteedAnna Royzman
 
Joomla! future #jd14fr keynote
Joomla! future #jd14fr keynoteJoomla! future #jd14fr keynote
Joomla! future #jd14fr keynoteRoberto Segura
 
BADCamp 2012- Drupal Support
BADCamp 2012- Drupal SupportBADCamp 2012- Drupal Support
BADCamp 2012- Drupal Supportmeghsweet
 
Drupal 7 performance and optimization
Drupal 7 performance and optimizationDrupal 7 performance and optimization
Drupal 7 performance and optimizationShafqat Hussain
 
Introduction to Moodle Development
Introduction to Moodle DevelopmentIntroduction to Moodle Development
Introduction to Moodle Developmentmoorejon
 
WHY MOODLE PLUGIN DEVELOPMENT NEEDS APPROVAL
WHY MOODLE PLUGIN DEVELOPMENT NEEDS APPROVALWHY MOODLE PLUGIN DEVELOPMENT NEEDS APPROVAL
WHY MOODLE PLUGIN DEVELOPMENT NEEDS APPROVALAditi Sharma
 
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ó
 

Similaire à Best practices in Moodle administration Monatana Moot 2014 (20)

Best Practices In Moodle Administration
Best Practices In Moodle AdministrationBest Practices In Moodle Administration
Best Practices In Moodle Administration
 
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 Development Best Pracitces
Moodle Development Best PracitcesMoodle Development Best Pracitces
Moodle Development Best Pracitces
 
Moodle performance and stress testing
Moodle performance and stress testingMoodle performance and stress testing
Moodle performance and stress testing
 
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
 
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
 
Git for Moodle Administrators
Git for Moodle AdministratorsGit for Moodle Administrators
Git for Moodle Administrators
 
JUG Utrecht 2013 - Have you tried turning it off and on again? Problemen oplo...
JUG Utrecht 2013 - Have you tried turning it off and on again? Problemen oplo...JUG Utrecht 2013 - Have you tried turning it off and on again? Problemen oplo...
JUG Utrecht 2013 - Have you tried turning it off and on again? Problemen oplo...
 
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)
 
Cynthia Wu: Satisfaction Not Guaranteed
Cynthia Wu: Satisfaction Not GuaranteedCynthia Wu: Satisfaction Not Guaranteed
Cynthia Wu: Satisfaction Not Guaranteed
 
Joomla! future #jd14fr keynote
Joomla! future #jd14fr keynoteJoomla! future #jd14fr keynote
Joomla! future #jd14fr keynote
 
BADCamp 2012- Drupal Support
BADCamp 2012- Drupal SupportBADCamp 2012- Drupal Support
BADCamp 2012- Drupal Support
 
Drupal 7 performance and optimization
Drupal 7 performance and optimizationDrupal 7 performance and optimization
Drupal 7 performance and optimization
 
Introduction to Moodle Development
Introduction to Moodle DevelopmentIntroduction to Moodle Development
Introduction to Moodle Development
 
WHY MOODLE PLUGIN DEVELOPMENT NEEDS APPROVAL
WHY MOODLE PLUGIN DEVELOPMENT NEEDS APPROVALWHY MOODLE PLUGIN DEVELOPMENT NEEDS APPROVAL
WHY MOODLE PLUGIN DEVELOPMENT NEEDS APPROVAL
 
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
 

Dernier

ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptshraddhaparab530
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationRosabel UA
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsManeerUddin
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 

Dernier (20)

ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.ppt
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translation
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture hons
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 

Best practices in Moodle administration Monatana Moot 2014

  • 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 new admins? ● How many running Moodle 2.5? Moodle 2.6? Moodle 2.7? ● Anyone running Moodle older than 2.5? ● Any Moodle 1.9 sites? ● Are you a 'geeky admin' or instructional admin?
  • 5. 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?
  • 6. Outages ● 80% of failures are bad changes ● 80% of downtime finding the bad change
  • 7. 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?
  • 8. Hands-on ● Forming a Change Advisory Board ● Who? ● How often? ● What are we controlling?
  • 9. 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
  • 11. Admin Know Thy Server ● Monitoring: Cacti ● SNMP monitoring ● Round robin log storage ● Alerts and Notifications: Nagios ● SNMP alert system ● Have your servers page or text you!
  • 12. ● 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
  • 13. Performance Tips ● PHP Accelerator – APC / OPCache ● MySQL – – Buffers and Query Caching – Use InnoDB – Use MariaDB build ● Sessions ● Moodle source code location
  • 14. Performance Tweaking ● Memory Budget ● Concurrency ● 5 Things Making Your Site Slow ● Testing
  • 15. Hands-on ● Visit phpinfo ● Site Administration → Server → phpInfo ● Confirm PHP version ● Confirm if PHP Accelerator
  • 16. More Tips ● Batch cron.php runs for multiple Moodles ● Check state of indexes and bigints ● Perform database maintenance
  • 17. Performance Testing Tools ● Admins – jMeter – Apache ab utility ● Devs – Behat / Sellenium – XProf
  • 18. 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
  • 19. User Management ● Plan ahead Moodle sites grow fast! ● Measure twice cut once ● Automate
  • 20.  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!
  • 21.  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
  • 22. Hands-on ● Bulk upload users with a flat file ● External DB enrollmet setup
  • 23. 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
  • 24. Hands-on ● Duplicate a role and edit
  • 25. ● Course backups not a full backup! ● Disable automated course backups? ● Yesterday instance ● Backup Elements ● Moodle code ● Moodledata ● Database Backups Management
  • 26. Hands-on ● Make a Moodle backup – Copy Moodle source dir – Copy Moodle data dir – 'dump' database to sql file
  • 27. ● 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
  • 28. Hands-on ● Enable debugging ● Site Admin → Development → Debugging ● Increase debugging level ● Enable display ● Enable performance info
  • 29. 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
  • 30. Hands-on ● Visit issue tracker ● Http://tracker.moodle.org
  • 31. 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
  • 32. Common Plug-in Types ● Blocks ● Activity modules ● Filters ● Auth ● Enrollment ● Local ● Themes
  • 33. 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
  • 34. Hands-on ● Install the certificate module ● Install Adminer
  • 35. MyODBC  Windows client software  Connect MySQL to desktop applications  Make ad hoc reports in MS Access, Excel, Open Office, etc.
  • 36. 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
  • 37. 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
  • 38. 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
  • 39. 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
  • 40. Hands-on ● Run security report ● Enable force logins ● Show secure logins setting ● Show kpass/last pass password manager ● Go to Moodle Docs security FAQ
  • 41. 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.
  • 42. 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
  • 43. Hands-on ● Change theme ● Open theme settings ● Add image ● Change colors
  • 45. What we do ● Expert advice and eLearning program review ● Evangelism and training ● Instructional design ● Custom development ● System tuning ● Performance assessment