Best Practices in Moodle Best Practices in Moodle AdministrationAdministration
A variety of topics from technical to practical
Jonathan MooreVice President
Remote-Learner
Moodle 1.9 Extension DevelopmentDevelop your own blocks,
activities, filters, and organize your content with secure code
Thoroughly covers key libraries of Moodle and best practices to use them
Explore the Moodle architectural concepts, how it is structured, and how it works
Detailed examples and screenshots for easy learning
Background and ContextBackground and Context
Origin of Practices Nearly 1,000 hosted organizations Approximately 3 million hosted user
accounts Dedicated technical and instructional
teams Using Moodle since 1.0
A variety of topics from technical to practical for Administrators
Know What is Happening on Know What is Happening on Your ServerYour Server
Monitoring: Cacti SNMP monitoring Round robin log storage
Alerts and Notifications: Nagios SNMP alert system Have your servers page or text you!
RolesRoles Do not change 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
Easy performance optimizationsEasy performance optimizations
Run a PHP accelerator eAccelerator and APC up to 10x performance improvement
MySQL Query caching Increase buffer sizes
Set Server-> System Paths Batch cron.php runs for multiple
Moodles Check state of indexes and bigints
A Better Way - AutomationA Better Way - Automation Great combination: LDAP authentication
with external database enrollment External authentication
Automate account creation LDAP/Active Directory and Database
Enrollment Plug ins Automate course creation Automate teacher assignment Automate student enrollments
Synchronization scripts
BackupsBackups Recommend against using the internal
automated course backups due to performance issues.
Internal Moodle Backups not for disaster recovery
Elements of a Moodle Backup Moodle software Moodle data folder SQL data
Moodle yesterday instance
Platform SelectionPlatform Selection
Linux most used for scalability Windows significantly lower performance
for PHP apps Mac OSX forking performance issue
Apache and MySQL concurrency issue
Issue TrackerIssue Tracker
Use notification screen to confirm version
Moodle Issue Tracker Vote for bugs Set a Watch your important bugs
phpMyAdmin phpMyAdmin
Useful and powerful, but dangerous Useful to pull reports not built into
Moodle Change settings values not in GUI Fix Moodle when “broken” by user error Reset administrator password if locked
out
MyODBCMyODBC Windows client software Connect MySQL to desktop applications Make ad hoc reports in MS Access,
Excel, Open Office, etc.
Various Other Admin ToolsVarious Other Admin Tools
Moodle debug General debugging Performance debugging
phpinfo – confirm your php build iperf – test your network iostat – linux disk usage stats strace – see what a process is doing
Custom Development and Custom Development and ModulesModules
Don't load modules just because they are Don't load modules just because they are availableavailable
Use modules over “hacks”Use modules over “hacks” Use the forums to evaluate modulesUse the forums to evaluate modules Use the author's profile to research the Use the author's profile to research the
creatorcreator
Security Security Select Enterprise class OS with long term
update support. Automate updates Moodledata outside of web root Try mod_sec Consider using weekly stable cvs for
Moodle auto updates Consider forced logins HTTPS logins
More SecurityMore Security
Consider turning off self registration Set the Mysql root user password See Moodle Docs Security Page
http://docs.moodle.org/en/Security
Email deliveryEmail 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 themesCustom themes
Start with a basic theme Copy existing theme to a new folder
name Prevents upgrades from wiping out
Location and LanguageLocation and Language
Use geography based time zones over UTC (for new US daylight savings time)
Set an appropriate default language language (fix “spelling errors”) default is UK English
Questions?Questions?
Top Related