Moodle 3 Administration - Third Edition
By Alex Buchner
()
About this ebook
About This Book
- Learn how to plan, install, optimize, customize, and configure Moodle
- Guarantee a cutting-edge learning experience in a secure and customizable environment while optimizing your day-to-day workload
- A one-stop guide with a problem-solution approach and a wide range of real-world examples
Who This Book Is For
If you are a technician, systems administrator, or part of academic staff, this is the book for you. This book is ideal for anyone who has to administer a Moodle system. Whether you are dealing with a small-scale local Moodle system or a large-scale multi-site Virtual Learning Environment, this book will assist you with any administrative task. Some basic Moodle knowledge is helpful, but not essential.
What You Will Learn
- Install and update Moodle on multiple platforms manually and via CLI and GIT
- Manage courses and categories, users and cohorts, as well as roles
- Get Moodle hooked up to repositories, portfolios, and open badges
- Configure Moodle for mobile usage, accessibility, localization, communication, and collaboration
- Guarantee backups, security and privacy, and achieve maximum performance via the Moodle Universal Cache and the new cron system
- Configure the Moodle events system to generate comprehensive reports, statistics, and learning analytics
- Network Moodle with Mahara and extend it with third-party add-ons and via LTI
- Customize Moodle web services to enable mobile learning and integration with other IT systems
In Detail
Moodle is the de facto standard for open source learning platforms. However, setting up and managing a learning environment can be a complex task since it covers a wide range of technical, organizational, and pedagogical topics. This ranges from basic user and course management, to configuring plugins and design elements, all the way to system settings, performance optimization, events frameworks, and so on.
This book concentrates on basic tasks such as how to set up and configure Moodle and how to perform day-to-day administration activities, and progresses on to more advanced topics that show you how to customize and extend Moodle, manage courses, cohorts, and users, and how to work with roles and capabilities. You’ll learn to configure Moodle plugins and ensure your VLE conforms to pedagogical and technical requirements in your organization. You’ll then learn how to integrate the VLE via web services and network it with other sites, including Mahara, and extend your system via plugins and LTI. By the end of this book, you will be able to set up an efficient, fully fledged, and secure Moodle system.
Style and approach
The book takes a problem-solution approach to fall in line with your day-to-day operations. This is a one-stop reference for any task you will ever come across when administering a Moodle site of any shape and size.
Read more from Alex Buchner
Narvik: The Struggle of Battle Group Dietl in the Spring of 1940 Rating: 4 out of 5 stars4/5Moodle Administration Rating: 4 out of 5 stars4/5Moodle 2.0 Administration Rating: 3 out of 5 stars3/5
Related to Moodle 3 Administration - Third Edition
Related ebooks
Moodle Security Rating: 0 out of 5 stars0 ratingsMoodle as a Curriculum and Information Management System Rating: 0 out of 5 stars0 ratingsMoodle Administration Essentials Rating: 5 out of 5 stars5/5Moodle E-Learning Course Development - Third Edition Rating: 0 out of 5 stars0 ratingsMoodle 3.x Teaching Techniques - Third Edition Rating: 0 out of 5 stars0 ratingsMoodle Theme Development Rating: 0 out of 5 stars0 ratingsMoodle Gradebook Rating: 0 out of 5 stars0 ratingsMoodle Gradebook - Second Edition Rating: 0 out of 5 stars0 ratingsMoodle for Mobile Learning Rating: 0 out of 5 stars0 ratingsInstant Moodle Quiz Module How-to Rating: 0 out of 5 stars0 ratingsMoodle A Clear and Concise Reference Rating: 0 out of 5 stars0 ratingsMoodle 3.x Developer's Guide Rating: 0 out of 5 stars0 ratingsManaging the Moodle 2.5 School Rating: 0 out of 5 stars0 ratingsResponsive Web Design A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsMicrosoft Conversational AI Platform for Developers: End-to-End Chatbot Development from Planning to Deployment Rating: 0 out of 5 stars0 ratingsJourney to becoming an Information Technology Leader Rating: 0 out of 5 stars0 ratingsMoodle 1.9 Multimedia Rating: 0 out of 5 stars0 ratingsCoding Languages: Angular With Typescript, Machine Learning With Python And React Javascript Rating: 0 out of 5 stars0 ratingsHow to Learn Rating: 4 out of 5 stars4/5Technology-Enabled Blended Learning Experiences for Chemistry Education and Outreach Rating: 0 out of 5 stars0 ratingsMoodle JavaScript Cookbook Rating: 0 out of 5 stars0 ratingsData-oriented Development with AngularJS Rating: 0 out of 5 stars0 ratingsE-Habits: What You Must Do to Optimize Your Professional Digital Presence Rating: 0 out of 5 stars0 ratingsJira Service Desk A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsBuilding Single-page Web Apps with Meteor Rating: 5 out of 5 stars5/5Maven Essentials Rating: 0 out of 5 stars0 ratingsGamification Of Learning A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsLet's Get Coding Rating: 0 out of 5 stars0 ratingsAndroid Studio 2 Essentials - Second Edition Rating: 0 out of 5 stars0 ratings
Programming For You
Python Programming : How to Code Python Fast In Just 24 Hours With 7 Simple Steps Rating: 4 out of 5 stars4/5Learn to Code. Get a Job. The Ultimate Guide to Learning and Getting Hired as a Developer. Rating: 5 out of 5 stars5/5Coding All-in-One For Dummies Rating: 4 out of 5 stars4/5Python QuickStart Guide: The Simplified Beginner's Guide to Python Programming Using Hands-On Projects and Real-World Applications Rating: 0 out of 5 stars0 ratingsHTML & CSS: Learn the Fundaments in 7 Days Rating: 4 out of 5 stars4/5SQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and Manipulating Data With SQL Rating: 4 out of 5 stars4/5Grokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5Learn PowerShell in a Month of Lunches, Fourth Edition: Covers Windows, Linux, and macOS Rating: 0 out of 5 stars0 ratingsExcel : The Ultimate Comprehensive Step-By-Step Guide to the Basics of Excel Programming: 1 Rating: 5 out of 5 stars5/5Python Machine Learning By Example Rating: 4 out of 5 stars4/5Photoshop For Beginners: Learn Adobe Photoshop cs5 Basics With Tutorials Rating: 0 out of 5 stars0 ratingsMastering Windows PowerShell Scripting Rating: 4 out of 5 stars4/5Modern C++ for Absolute Beginners: A Friendly Introduction to C++ Programming Language and C++11 to C++20 Standards Rating: 0 out of 5 stars0 ratingsSQL: For Beginners: Your Guide To Easily Learn SQL Programming in 7 Days Rating: 5 out of 5 stars5/5Web Designer's Idea Book, Volume 4: Inspiration from the Best Web Design Trends, Themes and Styles Rating: 4 out of 5 stars4/5Python: For Beginners A Crash Course Guide To Learn Python in 1 Week Rating: 4 out of 5 stars4/5The Absolute Beginner's Guide to Binary, Hex, Bits, and Bytes! How to Master Your Computer's Love Language Rating: 5 out of 5 stars5/5HTML in 30 Pages Rating: 5 out of 5 stars5/5PYTHON: Practical Python Programming For Beginners & Experts With Hands-on Project Rating: 5 out of 5 stars5/5SQL All-in-One For Dummies Rating: 3 out of 5 stars3/5Hacking: Ultimate Beginner's Guide for Computer Hacking in 2018 and Beyond: Hacking in 2018, #1 Rating: 4 out of 5 stars4/5Python Essentials Rating: 5 out of 5 stars5/5
Reviews for Moodle 3 Administration - Third Edition
0 ratings0 reviews
Book preview
Moodle 3 Administration - Third Edition - Alex Buchner
Table of Contents
Moodle 3 Administration Third Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
eBooks, discount offers, and more
Why subscribe?
Preface
What this book covers
What you need for this book
Who this book is for
VLE job functions
Obligations and skill sets of a VLE administrator
Conventions
Reader feedback
Customer support
Downloading the color images of this book
Errata
Piracy
Questions
1. Moodle Installation
Moodle installation – an overview
Choosing the best setup
Moodle prerequisites
Hardware requirements
Software requirements
Installation in a LAMP environment
Downloading Moodle
Creating the Moodle database and the data directory
Using a hosted server
Using the command line
Creating the Moodle data directory
Running the installer script
Finalizing the installation
Setting up the cron process
Installation in a Windows environment
Installation in a Mac OS X environment
Installation via the Command Line Interface
Updating Moodle
Manual update
Creating a backup
Creating your new Moodle system
Running the update script
Updating Moodle via CLI
Update notifications
Summary
2. The Moodle System
Moodle architecture
The LAMP architecture
The Moodle layer
Code and data locations
Finding your way around in Moodle
The Navigation bar
The administrator search facility
Moodle bookmarks
Moodle Docs and Help
File management
The Moodle file management interface
Uploading files
Private files
To link or to copy?
File types
The upload limit
Web host file management
File management via the file system repository
Summary
3. Courses, Users, and Roles
A high-level overview
Moodle courses
Moodle users
Moodle roles
Summary
4. Course Management
Course categories
Course categories – an overview
Managing course categories
Adding course categories
Course sub-categories
Deleting course categories
Organizing courses and categories
Creating courses
Course requests – enabling teachers to ask for new courses
Managing courses in bulk
Forms of enrolment
Internal enrolment
Manual enrolment
Self enrolment
Guest access
Cohort enrolment and synchronization
Database-driven enrolment
LDAP
External databases
Flat files
The IMS Enterprise file
Meta courses – sharing enrolment across courses
Enrolment with payment
PayPal
Summary
5. User Management
User profiles
Profile fields
General category
User picture category
Additional names
Interests category
Optional category
Creating user-defined profile fields
Profile categories
Profile fields
User preferences
Standard user actions
Browsing users
Filtering users
Bulk user actions
Manual accounts
Adding individual users
Bulk uploading and updating of users and their pictures
The text file format
Required fields
Password
Optional fields
Custom profile fields
Enrolment fields
Cohort fields
System role
Special fields
Uploading users
Setting default values and templates
Loading of data
Uploading user pictures
Manual account settings
Cohorts
User authentication
Common authentication settings
Email-based self-registration
The LDAP server
The LDAP server settings
Data mapping
External databases
Connection settings
Data mapping
Other authentication mechanisms
External Moodle authentication methods
Internal Moodle authentication methods
Usernames – best practice
Summary
6. Managing Permissions – Roles and Capabilities
Moodle predefined roles
Contexts
Assigning roles
The System context
The Course Category context
The Course context
The Module context
The Block context
The User context
The Front page context
Multiple roles
Capabilities
Role definitions
Modifying roles
Overriding roles
Creating custom roles
Example roles
The parent/mentor role
Testing new roles
Roles management
Allowing roles assignments and overrides
Assigning of default roles
Moodle role assignment – best practice
Summary
7. Moodle Look and Feel
An overview of the look and feel
Site versus Dashboard
Customizing your front page
The front page settings
Arranging front page blocks
Logging in from a different website
Other front page items
Front page users
Front page filters
Front page reports
The front page backup and restore
Front page questions
The default Dashboard and Profile pages
Customizing navigation
Replacing the front page
Moodle themes
Fixed width versus fluid versus responsive themes
Selecting a Moodle theme
Theme types
Theme settings
Customizing themes
Theme customization basics
The Moodle editor
Configuring the Atto editor
Extending the functionality of tables
Supporting mathematical equations
Adding some awesomeness
Accessibility
Guaranteeing accessibility through Moodle themes
Accessibility support through the Moodle editor
Support for a screen reader
Summary
8. Moodle Plugins
Plugins – an overview
Module plugins
Activity modules
Configuring blocks
Configuring filters
Moodle repositories
Internal repository plugins
External repository plugins
Data storage repositories
Application repositories
Moodle portfolios
Miscellaneous plugins
Course formats
Question types and behaviors
Availability restrictions
Licences
Plagiarism prevention
Installing third-party plugins
Third-party software – an overview
Good add-ons and bad add-ons
Popular add-ons
Organizational decisions around plugins
Installing third-party add-ons
Installing the Collapsed Topics format plugin via the web interface
Installing the Configurable Reports plugin manually
Installing the Certificate module via Git
Installing plugins via the command line
Keeping plugins up to date
Uninstalling third-party add-ons
Summary
9. Moodle Configuration
Collaboration
Configuring blogs
Supporting comments
Managing tags
Configuring and managing badges
Adding badges
Supporting the LTI consumers and producers
Localization
Languages, idiomas, 语言, and اللغات
Language packs
Language settings
Language customization
Multilingual content
Calendaric information
Calendars
Time zones
Grades and gradebook settings
Miscellaneous educational settings
Communication
Synchronous communication
Instant messaging
Video conferencing
Asynchronous communication
Messaging configuration
Outbound messaging
E-mail configuration
The Jabber configuration
Mobile notifications
Default message output
Inbound messaging
Support contact
Configuration RSS feeds
Experimental settings
Summary
10. Moodle Logging and Reporting
Moodle's logging framework
Events
Event lists
Event monitoring rules
The log manager
The log store
Reports
An overview of reporting
Moodle's reporting facilities
Live logs
Error reports
Course and user reports
Statistics
Statistics settings
Statistics view
Report generation
Configurable reports
The Totara report builder
Data analysis
Web log analyzers
Google Analytics and Piwik
Miscellaneous reports
Summary
11. Moodle Security and Privacy
Security – an overview
Security notifications
Moodle notifications
Security report
User security
Access to Moodle
Self-registration
Guest access
Protection of user details
Course contacts
Moodle passwords
Security in roles
Spam prevention
Data and content security
Content created within Moodle
Visibility of content
Site policy
Antivirus
System security
Configuration security
Access to dataroot
The cron process
HTTP security
The IP blocker
Moodle privacy
Information stored about users
Information available to other users
Summary
12. Moodle Performance and Optimization
An overview of performance and optimization
The Moodle content
Content creation
Content volume
Content types
Moodle's filter settings
Moodle Universal Cache
The MUC background
Cache types
Cache stores
Cache definitions
MUC configuration and testing
The Moodle system settings
Session handling
Cron management and scheduled tasks
Module settings
Gradebook optimization
Chat optimization
Forums
Miscellaneous settings
Course backups
Log files
System paths
Front page courses
Roles and users
Moodle performance profiling and monitoring
Built-in profiling
System profiling
Summary
13. Backup and Restore
The course-level backup and restore
The course backup
Initial settings
Backup default values
Content-only backup versus full-course backup
Schema settings
Confirmation and review
Finalizing a backup
The course restore
The restore destination
Restore settings
The backup schema
Finalizing a restore
The course Import
Site-level backups
Backup settings
Backup reports and notifications
The backup strategy
Drawbacks of site-level backups
System-level backups
Moodle backups
The Moodle software
The Moodle data
Snapshot creation
Uses of backup and restore
The year-end procedure
Course templates
Summary
14. Moodle Admin Tools
Web-based admin tools
Upgrade tools
Database tools
Other tools
Command Line Interface (CLI)
Moosh – the Moodle shell
Moodle Adminer
Summary
15. Moodle Integration
Web services overview
Web services in Moodle
Enabling web services for external systems
Create a specific user
Check user capability
Select a service
Add functions
Select a specific user
Create a token for a user
Enable developer documentation
Test the service
Enabling web services for users
The Moodle mobile web service
Customizing styles for the Moodle app
Mobile app notifications
Summary
16. Moodle Networking
Networking overview
Networking prerequisites and security
Required PHP extensions
Networking security
Peer-to-peer networks
Adding a peer
Peer services
Profile fields
Network authentication
Allowing roaming
Network servers block
Network enrolment
Moodle hubs
Integrating Mahara or Totara Social
Mahoodle!
Mahara networking
Adding Mahara to Moodle
The Mahara portfolio
The Moodle Community Hub (Moodle.net)
Summary
A. Configuration Settings
Configuration reference: an overview
Configuration reference: administration settings
Configuration reference: system settings
Default parameters
Optional parameters
Index
Moodle 3 Administration Third Edition
Moodle 3 Administration Third Edition
Copyright © 2016 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: September 2008
Second Edition: October 2011
Third Edition: February 2016
Production reference: 1240216
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78328-971-4
www.packtpub.com
Credits
Author
Alex Büchner
Reviewers
Chad Outten
Ian Rifkin
Shashikant Vaishnav
Acquisition Editors
Reshma Raman
Rebecca Youe
Content Development Editor
Rashmi Suvarna
Technical Editor
Shivani Kiran Mistry
Copy Editor
Sonia Cheema
Project Coordinator
Suzanne Coutinho
Proofreader
Safis Editing
Indexer
Tejal Daruwale Soni
Production Coordinator
Nilesh Mohite
Cover Work
Nilesh Mohite
About the Author
Alex Büchner is the co-founder and technical director of the Platinum Totara, Moodle, and Mahara partner, Synergy Learning. He has been involved in system and database administration for more than two decades and has been administering virtual learning environments of all shapes and sizes since their advent on the educational landscape.
Alex holds a PhD in computer science and an MSc in software engineering. He has authored over 50 international publications, including two books, and is a frequent speaker on Totara, Moodle, Mahara, and related open source technologies. His first two books on Moodle Administration by Packt Publishing have become the de facto standard on the topic.
The best learning experience in Moodle is provided when communication and collaboration is utilized. The same has been applied in writing this book, which would not have been possible without the support of the Packt editorial team.
I would like to thank the reviewers for their constructive feedback provided during the reviewing process. This book would not be the same without your comments and suggestions.
Special thanks must go to all my colleagues at Synergy Learning. No matter how tricky the Moodle problem, somebody will always be there to come up with a rock solid solution.
I have to thank all our customers. Without you, we wouldn't be aware of all the Moodle hitches and glitches that are out there. Keep them coming!
Last but not least, I have to thank AB + ab for their support and patience while I have been hiding away writing yet another book. I will make up for it. Promise!
About the Reviewers
Chad Outten is a qualified educator and technologist with more than 15 years of experience in the education and ICT sectors. He is the Managing Director at My Learning Space, an Australian e-learning company, and has worked closely with high-profile organizations such as eBay, Shell, Ricoh, iiNet, Rip Curl, and Queensland Health, among a diverse range of clients to help them improve staff performance and business outcomes through better learning, training, and compliance programs.
Chad is a Moodle certified teacher and has acted as a mentor and assessor for the internationally recognized Moodle Teacher Certification program. He is a proud member of the esteemed Particularly Helpful Moodlers and Quality Assurance Testers groups at moodle.org, and in 2008, he organized the Australian Moodle Moot. Chad is passionate about e-learning, admires educators, and understands the value of a good learning management system to address the challenges of 21st century education.
Ian Rifkin has experience with servers and applications (purchased, open source, and custom), and acts as a release engineer for his institution. He has in-depth knowledge of web application development and middleware integrations, including identity management systems. He is a developer and manager who has intimate knowledge of command-line Unix environments.
He has worked with Moodle as a student, faculty member, and administrator. Currently, he is employed as the software systems manager at Brandeis University, where he manages a small web team. He also holds a part-time adjunct instructor role for the Graduate Professional Studies division at Brandeis University, where he teaches web content management and web application development.
Ian holds an M.Sc. degree in information technology management and a BA degree in anthropology (with a minor in Internet studies). In his spare time, he enjoys computer games, genealogy research, baking, gardening, and spending time with his wife, Valerie, and son, Caleb.
Shashikant Vaishnav was born and brought up in Jodhpur, a desert town in Rajasthan, India. He's involved with a London-based Seedcamp-supported start-up, Shoprocket. It's an e-commerce system delivered over the cloud and integrates seamlessly into any application with a single line of code.
He is been involved with Moodle for quite a long time as a student. While an undergraduate, he participated in Google's Summer of Code program and integrated Apache Solr with Moodle. He also participated as a mentor in Google's Code-in program for the Sugar Labs organization.
He finished his graduation from the Government Engineering college Bikaner with a bachelor's of engineering and technology degree in computer science in 2013. His focus on academics aside, he harbors a deep interest in music and sports.
He loves to blog about his experiences with open source technology, travel, and life. He reads spiritual books, indulges in photography, and hacks around with open source projects.
He previously collaborated with Packt Publishing as a technical reviewer of Git Version Control Cookbook and Moodle 3 Administration Third Edition.
www.PacktPub.com
eBooks, discount offers, and more
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.
https://www2.packtpub.com/books/subscription/packtlib
Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can search, access, and read Packt's entire library of books.
Why subscribe?
Fully searchable across every book published by Packt
Copy and paste, print, and bookmark content
On demand and accessible via a web browser
Preface
Since its launch in 2002, Moodle has become the benchmark that every learning management system is measured against. It has won a wide range of international accolades and established itself as an ecosystem for a large number of educational tools and services.
Moodle 3 Administration, Third Edition is a complete, practical guide for administering Moodle sites. It covers setting up Moodle, configuration, and day-to-day administrative tasks as well as advanced options to customize and extend Moodle.
The author, who has been at the cutting edge of Moodle administration since its advent, has adopted a problem-solution approach to bring the content in line with your day-to-day operations. The practical examples will help you to set up Moodle for large organizations and small courses alike.
This is a one-stop reference for tasks that you will come across when administering a Moodle site of any shape or size. It not only covers core Moodle functionality, but also third-party tools and add-ons that will increase your flexibility and efficiency even further when dealing with administrative duties.
Why another book on Moodle administration? Since the second edition of the title in 2011, the system has been modified and extended significantly to cover all the relevant new functionality in Moodle 3.
What this book covers
Moodle has grown into a mature, sophisticated, and complex software system. As a result, Moodle Administration covers a wide range of topics. A fun way to demonstrate the various subjects is in the form of a tube/subway/metro/ underground map (under the Creative Commons license by Synergy Learning):
Chapter 1, Moodle Installation, tells you about the most suitable Moodle setup for your organization, including software and hardware requirements. You will learn how to install Moodle in three environments, namely, LAMP/Unix, Windows, and Mac OS, before Moodle updates options are covered in detail. Throughout the chapter, you will also learn how to perform some of the described operations using the Moodle Command-line Interface (CLI), Git, and Moodle Shell (Moosh).
Chapter 2, The Moodle System, covers the building blocks of the learning platform. First, we cover the Moodle architecture, that is, the main Moodle components and where its data and code is stored. We then provide you with the skills to find your way a round in Moodle via its intuitive user and administration interface. Finally, we deal with the management of files, which includes Moodle's standard file management, web host file management, and file management via the file system repository.
Chapter 3, Courses, Users, and Roles, gives you an overview of Moodle courses, users, and roles. It covers the basics of the three key concepts and demonstrates how the three core elements are inherently intertwined.
Chapter 4, Course Management, shows you how to set up new courses (also in bulk) and organize them in categories. The remainder of the chapter deals with an array of enrolment options, covering Moodle's internal enrolment (manual, self, and guest), cohort enrolment and synchronization, database-driven enrolment, for instance, via LDAP, meta courses, and payment-driven enrolments.
Chapter 5, User Management, explains how to manage users on your system. We first cover what user profiles look like and how they can be extended before presenting (manual and bulk) standard user actions. We then explain how to add users to Moodle manually, that is, one-by-one, and via batch upload before dealing with cohorts. Then, you will learn about a plethora of authentication mechanisms that Moodle equips us with. Finally, we discuss the best practices of user naming schemes.
Chapter 6, Managing Permissions – Roles and Capabilities, guides you through permission management. It applies roles and capabilities to users in different contexts. We will cover the assignment of roles, modification of existing roles, and creation of new roles before we deal with any administrative role-related settings.
Chapter 7, Moodle Look and Feel, tells you how to adapt your Moodle system to bring it in line with the corporate branding of your organization. We will cover the customization of the front page, basic creation of Moodle themes, and support for mobile devices via responsive themes. You will also learn how to configure the Moodle editor and support users with accessibility requirements.
Chapter 8, Moodle Plugins, explains in detail how to extend your Moodle system via third-party add-ons. You will be able to distinguish between good add-ons and not-so-good add-ons before we cover extensions that are popular with other users. We will then cover how to install, configure, and uninstall third-party add-ons. Plugins that are covered are activities, blocks and filters, repositories, portfolios, text editors, licenses, question types and behaviors, plagiarism prevention, licenses, and availability restrictions.
Chapter 9, Moodle Configuration, deals with the educational and technical configuration of your Moodle system. Pedagogical topics that are covered are badges, collaboration (blogs, comments and tags), LTI, localization, grades and gradebook settings, and a number of miscellaneous parameters. Technical subjects that are dealt with include synchronous communication (instant messaging and video conferencing), asynchronous communication (inbound and messaging as well as RSS feeds), and a number of experimental settings.
Chapter 10, Moodle Logging and Reporting, equips you with the tools that you require in order to interpret and analyze the vast amount of usage data that Moodle is collecting. You will learn about the logging framework and monitoring facilities provided by Moodle that include activity reporting, user tracking, and some basic statistics. Then, we will take a look at third-party tools that cover learning analytics, report generation, web log analyzers, and live data trackers such as Google Analytics and Piwik.
Chapter 11, Moodle Security and Privacy, focuses on ensuring that the data in your Moodle system is protected from any misuse. You will learn about security notifications, user security, data and content security, and system security. We will conclude the chapter with information on privacy and data protection concerns.
Chapter 12, Moodle Performance and Optimization, makes sure that your Moodle system runs to its full potential. We will cover configuring, monitoring, and fine-tuning your virtual learning environment for maximum speed. You will learn how to optimize Moodle content before we focus on system parameters, namely, caching via the Moodle Universal Cache (MUC), session handling, cron management, scheduled tasks, module settings, and miscellaneous settings. We also present some basic performance profiling and monitoring tools.
Chapter 13, Backup and Restore, focuses on ensuring that your data would not be lost in the event of a disaster. We will cover course backups, site backups, system backups, and restoring data from the taken data archives.
Chapter 14, Moodle Admin Tools, covers Moodle admin tools that assist you with certain specific administrative tasks. These include web-based helpers such as upgrade and database tools as well as CLI scripts. We will also be looking at some add-ons, especially the powerful Moodle Shell, Moosh.
Chapter 15, Moodle Integration, looks at ways to integrate Moodle with other systems via web services. We will provide information about the basic concepts of Moodle web services before you learn how to set up external systems and users controlling Moodle. This also covers the support for the official mobile app.
Chapter 16, Moodle Networking, tells you how to connect disparate Moodle and Totara systems either in a peer-to-peer setup or via a Moodle hub. You will also be able to apply the learned networking techniques to connect the popular open source e-portfolio system, Mahara, and the social learning tool, Totara Social, to Moodle. We will further show you how to connect to Moodle.net and set up your own community hub.
Appendix, Configuration Settings, provides you with a list of parameters that can be modified in Moodle's configuration file and the impact that each of these values will have. The areas covered are Administration Settings and System Settings.
What you need for this book
For Moodle, you must have the following components up and running on your server (at the time of writing for version 3.0):
Database: MySQL (version 5.5.31 or later with the InnoDB storage engine activated), PostgreSQL (9.1 or later), Microsoft SQL Server (2008 or later), Oracle (10.2 or later), or Maria DB (5.5.31 or later)
Web server: Apache is the preferred web server, but Microsoft IIS is also possible
PHP 5.4.4 or later is required to run Moodle (PHP 7 is supported as well)
PHP extensions: Moodle makes use of a number of PHP extensions—most of which are compiled in PHP by default.
Depending on your specific setup, additional software and hardware might be required.
Who this book is for
This book is written for technicians and systems administrators as well as academic staff, that is, basically for anyone who has to administer a Moodle system. Whether you are dealing with a small-scale local Moodle system or a large-scale multi-site Virtual Learning Environment (VLE), this book will assist you with any administrative tasks. Some basic Moodle knowledge is helpful, but not essential.
VLE job functions
A Moodle administrator is basically a VLE administrator who manages a Moodle system. A quick search through recruitment agencies specializing in the educational sector reveals a growing number of dedicated job titles that are closely related to VLE administration. A few examples are as follows:
VLE administrator (or LMS administrator or MLE administrator)
VLE support officer
VLE architect
VLE engineer
VLE coordinator
The list does not include functions that regularly act in an administrative capacity, such as IT support. It also does not include roles that are situated in the pedagogical field, but often take on the work of a VLE administrator, such as learning technologists or e-learning coordinators.
A VLE administrator usually works very closely with the staff who has the responsibility for the administration of IT systems, databases, and networks. It has been proven beneficial to have some basic skills in these areas. Additionally, links are likely in larger organizations where content management systems, student information management systems, and other related infrastructure is present.
Given this growing number of VLE administration-related roles, let's look at some key obligations of the job functions and what skills are essential and desirable.
Obligations and skill sets of a VLE administrator
The responsibilities of a VLE administrator differ from organization to organization. However, there are some obligations that are common across installations and setups:
User management (learners, teachers, and others)
Course management (prospectus mapping)
Module management (functionality provided to users)
Look and feel of the VLE (often carried out by a web designer)
Year-end maintenance (if applicable)
Beginning-of-year setup (if applicable)
Support teaching staff and learners
In addition to these VLE-specific features, you are required to make sure that the virtual learning environment is secure and stable and performs well. Backups have to be in place, monitoring has to be set up, reports about usage have to be produced, and regular system maintenance has to be carried out.
If you host your own system, you will be responsible for all of the listed tasks and many more. If your VLE is hosted in a managed environment, some of the tasks closer to system level will be carried out by the hosting provider. So, it is important that they have a good understanding of Moodle. Either way, you will be the first person to be contacted by staff and learners if anything goes wrong, if they require new functionality, or if some administrative task has to be carried out.
Note
With great power comes great responsibility!
While a range of e-learning-related activities are now taught as part of some academic and vocational qualifications (for instance, instructional design or e-moderation), VLE administration per se is not. Most VLE administrators have a technical background and often have some system or database administration knowledge. Again, it entirely depends on whether you host your VLE locally or externally. The administration skills of a remotely hosted system can be learned by anybody with some technical knowledge. However, for an internally hosted system, you will require a good working knowledge of the operating system on which the VLE is installed, the underlying database that is used, the network in which the VLE has to operate, and any further components that have to work with the learning system.
Conventions
In this book, you will find a number of text styles that distinguish between different kinds of information. Here are some examples of these styles and an explanation of their meaning.
Code words in text are shown as follows:
If the cron.php script is invoked over HTTP (either using wget or curl), more memory is used than calling directly via the php –f command.
Any command-line input and output is written as follows:
There are two ways you can create a so-called database dump from a MySQL database, either via command line or via Moodle's optional database interface.
The simplest syntax for the command line tool is:
mysqldump -u
New terms and important words are introduced in a bold-type font. Words that you see on the screen, in menus or dialog boxes for example, appear in our text like this:
Clicking on the Enabled protocols link in the overview table will guide you to Plugins | Web services | Manage protocols screen.
Note
Warnings or important notes appear in a box like this.
Tip
Tips and tricks appear like this.
Reader feedback
Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or disliked. Reader feedback is important for us as it helps us develop titles that you will really get the most out of.
To send us general feedback, simply e-mail <feedback@packtpub.com>, and mention the book's title in the subject of your message.
If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide at www.packtpub.com/authors.
Customer support
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.
Downloading the color images of this book
We also provide you with a PDF file that has color images of the screenshots/diagrams used in this book. The color images will help you better understand the changes in the output. You can download this file from http://www.packtpub.com/sites/default/files/downloads/Moodle3AdministrationThirdEdition_ColorImages.pdf.
Errata
Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in the text or the code—we would be grateful if you could report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded to our website or added to any list of existing errata under the Errata section of that title.
To view the previously submitted errata, go to https://www.packtpub.com/books/content/support and enter the name of the book in the search field. The required information will appear under the Errata section.
Piracy
Piracy of copyrighted material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works in any form on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.
Please contact us at <copyright@packtpub.com> with a link to the suspected pirated material.
We appreciate your help in protecting our authors and our ability to bring you valuable content.
Questions
If you have a problem with any aspect of this book, you can contact us at <questions@packtpub.com>, and we will do our best to address the problem.
Chapter 1. Moodle Installation
Let's get started by installing Moodle.
After providing an overview that describes which setup is most suitable, software as well as hardware requirements are outlined.
We will then cover the following installations:
Installing Moodle in a LAMP/Unix environment
Installing Moodle in a Windows environment
Installing Moodle in a Mac OS X environment
Installing Moodle via the Command Line Interface (CLI)
Upgrading Moodle manually and via CLI and Git
You will only need to study the section(s) of the operating system(s) you are planning to use. Moodle can be scaled from a single instructor to an entire institution. We will only be able to cover the most common installations and present solutions to some common problems. We also have to assume that you are familiar with basic system administration of the operating system on which you will be installing Moodle.
Moodle installation – an overview
Before we start installing Moodle, you have to decide which setup is right for your organization. Once you have come to a conclusion, there are a number of prerequisites that you have to provide before we can get started.
Choosing the best setup
There are a number of different environments in which you can set up Moodle. The three main criteria that should dictate the choice of the correct setup are:
Flexibility: If you want to have full control over your system, be able to tweak system settings, and make frequent changes to the setup, you are best suited to host your own server. However, if your preferred choice is to only administer Moodle while somebody else is looking after the operating system, the web server, and backups, it is better to opt for a professionally-hosted setup, and particularly, the offerings provided by the authorized Moodle Partners.
Scalability: This is entirely driven by the number of concurrent users, that is, the number of active learners and teachers logged in to Moodle at the same time. A Moodle on a single-processor desktop computer will not be able to cope with hundreds of simultaneously logged-in users. A load-balanced cluster, on the other hand, would be overkill for a small institution with a handful of learners. The following table provides some indicative setups for different types of educational organizations, and is by no means complete:
Please bear in mind that these are only indicative numbers, which are not written in stone, and also depend on the other factors mentioned here. The mentioned hosting option on https://moodlecloud.com/en/ offers free Moodle hosting by Moodle HQ with a number of limitations: maximum number of users is set to 50, storage capacity is limited to 200 MB, there is no ability to install plugins, and there is advertisement displayed throughout the site. This is a good way to try out Moodle, but not intended for production sites.
Organizations require a server (either dedicated or shared) that is either hosted in-house or externally. If you decide to go down the hosted route, it is highly recommended to avoid a cheap hosting package as their systems are not optimized for Moodle usage. This will have a significant impact on the performance of the system, especially with an increasing number of users.
Cost: Budgetary constraints will certainly play an important role in your setup. Unless you