200 likes | 376 Views
Jonathan Moore Vice President Remote-Learner. Best Practices in Moodle Administration A variety of topics from technical to practical. Moodle 1.9 Extension Development. Develop your own blocks, activities, filters, and organize your content with secure code
E N D
Jonathan Moore Vice President Remote-Learner Best Practices in Moodle AdministrationA variety of topics from technical to practical
Moodle 1.9 Extension Development Develop 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 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 Your Server • Monitoring: Cacti • SNMP monitoring • Round robin log storage • Alerts and Notifications: Nagios • SNMP alert system • Have your servers page or text you!
Roles • 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 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 - 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
Backups • 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 Selection • Linux most used for scalability • Windows significantly lower performance for PHP apps • Mac OSX forking performance issue • Apache and MySQL concurrency issue
Issue Tracker • Use notification screen to confirm version • Moodle Issue Tracker • Vote for bugs • Set a Watch your important bugs
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
MyODBC • Windows client software • Connect MySQL to desktop applications • Make ad hoc reports in MS Access, Excel, Open Office, etc.
Various 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 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
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 Security • Consider turning off self registration • Set the Mysql root user password • See Moodle Docs Security Page • http://docs.moodle.org/en/Security
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
Location 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