You are previewing Moodle 3 Administration - Third Edition.
O'Reilly logo
Moodle 3 Administration - Third Edition

Book Description

An administrator’s guide to configuring, securing, customizing, and extending Moodle

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.

    Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.

    Table of Contents

    1. Moodle 3 Administration Third Edition
      1. Table of Contents
      2. Moodle 3 Administration Third Edition
      3. Credits
      4. About the Author
      5. About the Reviewers
      6. www.PacktPub.com
        1. eBooks, discount offers, and more
          1. Why subscribe?
      7. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
          1. VLE job functions
          2. Obligations and skill sets of a VLE administrator
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Downloading the color images of this book
          2. Errata
          3. Piracy
          4. Questions
      8. 1. Moodle Installation
        1. Moodle installation – an overview
          1. Choosing the best setup
          2. Moodle prerequisites
            1. Hardware requirements
            2. Software requirements
        2. Installation in a LAMP environment
          1. Downloading Moodle
          2. Creating the Moodle database and the data directory
            1. Using a hosted server
            2. Using the command line
            3. Creating the Moodle data directory
          3. Running the installer script
          4. Finalizing the installation
          5. Setting up the cron process
        3. Installation in a Windows environment
        4. Installation in a Mac OS X environment
        5. Installation via the Command Line Interface
        6. Updating Moodle
          1. Manual update
            1. Creating a backup
            2. Creating your new Moodle system
            3. Running the update script
          2. Updating Moodle via CLI
            1. Update notifications
        7. Summary
      9. 2. The Moodle System
        1. Moodle architecture
          1. The LAMP architecture
          2. The Moodle layer
          3. Code and data locations
        2. Finding your way around in Moodle
          1. The Navigation bar
          2. The administrator search facility
          3. Moodle bookmarks
          4. Moodle Docs and Help
        3. File management
          1. The Moodle file management interface
            1. Uploading files
            2. Private files
            3. To link or to copy?
            4. File types
            5. The upload limit
          2. Web host file management
          3. File management via the file system repository
        4. Summary
      10. 3. Courses, Users, and Roles
        1. A high-level overview
        2. Moodle courses
        3. Moodle users
        4. Moodle roles
        5. Summary
      11. 4. Course Management
        1. Course categories
          1. Course categories – an overview
          2. Managing course categories
            1. Adding course categories
            2. Course sub-categories
            3. Deleting course categories
            4. Organizing courses and categories
        2. Creating courses
          1. Course requests – enabling teachers to ask for new courses
          2. Managing courses in bulk
        3. Forms of enrolment
          1. Internal enrolment
            1. Manual enrolment
            2. Self enrolment
            3. Guest access
          2. Cohort enrolment and synchronization
          3. Database-driven enrolment
            1. LDAP
            2. External databases
            3. Flat files
            4. The IMS Enterprise file
          4. Meta courses – sharing enrolment across courses
          5. Enrolment with payment
            1. PayPal
        4. Summary
      12. 5. User Management
        1. User profiles
          1. Profile fields
            1. General category
            2. User picture category
            3. Additional names
            4. Interests category
            5. Optional category
          2. Creating user-defined profile fields
            1. Profile categories
            2. Profile fields
            3. User preferences
        2. Standard user actions
          1. Browsing users
          2. Filtering users
          3. Bulk user actions
        3. Manual accounts
          1. Adding individual users
          2. Bulk uploading and updating of users and their pictures
            1. The text file format
              1. Required fields
              2. Password
              3. Optional fields
              4. Custom profile fields
              5. Enrolment fields
              6. Cohort fields
              7. System role
              8. Special fields
            2. Uploading users
            3. Setting default values and templates
            4. Loading of data
            5. Uploading user pictures
          3. Manual account settings
        4. Cohorts
        5. User authentication
          1. Common authentication settings
          2. Email-based self-registration
          3. The LDAP server
            1. The LDAP server settings
            2. Data mapping
          4. External databases
            1. Connection settings
            2. Data mapping
          5. Other authentication mechanisms
            1. External Moodle authentication methods
            2. Internal Moodle authentication methods
        6. Usernames – best practice
        7. Summary
      13. 6. Managing Permissions – Roles and Capabilities
        1. Moodle predefined roles
        2. Contexts
        3. Assigning roles
          1. The System context
          2. The Course Category context
          3. The Course context
          4. The Module context
          5. The Block context
          6. The User context
          7. The Front page context
          8. Multiple roles
        4. Capabilities
          1. Role definitions
          2. Modifying roles
          3. Overriding roles
          4. Creating custom roles
            1. Example roles
            2. The parent/mentor role
            3. Testing new roles
        5. Roles management
          1. Allowing roles assignments and overrides
          2. Assigning of default roles
          3. Moodle role assignment – best practice
        6. Summary
      14. 7. Moodle Look and Feel
        1. An overview of the look and feel
        2. Site versus Dashboard
        3. Customizing your front page
          1. The front page settings
          2. Arranging front page blocks
            1. Logging in from a different website
          3. Other front page items
            1. Front page users
            2. Front page filters
            3. Front page reports
            4. The front page backup and restore
            5. Front page questions
            6. The default Dashboard and Profile pages
          4. Customizing navigation
          5. Replacing the front page
        4. Moodle themes
          1. Fixed width versus fluid versus responsive themes
          2. Selecting a Moodle theme
          3. Theme types
          4. Theme settings
          5. Customizing themes
            1. Theme customization basics
        5. The Moodle editor
          1. Configuring the Atto editor
            1. Extending the functionality of tables
            2. Supporting mathematical equations
          2. Adding some awesomeness
        6. Accessibility
          1. Guaranteeing accessibility through Moodle themes
          2. Accessibility support through the Moodle editor
          3. Support for a screen reader
        7. Summary
      15. 8. Moodle Plugins
        1. Plugins – an overview
        2. Module plugins
          1. Activity modules
          2. Configuring blocks
          3. Configuring filters
        3. Moodle repositories
          1. Internal repository plugins
          2. External repository plugins
            1. Data storage repositories
            2. Application repositories
        4. Moodle portfolios
        5. Miscellaneous plugins
          1. Course formats
            1. Question types and behaviors
            2. Availability restrictions
            3. Licences
            4. Plagiarism prevention
        6. Installing third-party plugins
          1. Third-party software – an overview
        7. Good add-ons and bad add-ons
          1. Popular add-ons
          2. Organizational decisions around plugins
          3. Installing third-party add-ons
            1. Installing the Collapsed Topics format plugin via the web interface
            2. Installing the Configurable Reports plugin manually
            3. Installing the Certificate module via Git
          4. Installing plugins via the command line
          5. Keeping plugins up to date
          6. Uninstalling third-party add-ons
        8. Summary
      16. 9. Moodle Configuration
        1. Collaboration
          1. Configuring blogs
          2. Supporting comments
          3. Managing tags
        2. Configuring and managing badges
          1. Adding badges
        3. Supporting the LTI consumers and producers
        4. Localization
          1. Languages, idiomas, 语言, and اللغات
            1. Language packs
            2. Language settings
            3. Language customization
            4. Multilingual content
          2. Calendaric information
            1. Calendars
            2. Time zones
        5. Grades and gradebook settings
        6. Miscellaneous educational settings
        7. Communication
          1. Synchronous communication
            1. Instant messaging
            2. Video conferencing
          2. Asynchronous communication
            1. Messaging configuration
              1. Outbound messaging
                1. E-mail configuration
                2. The Jabber configuration
                3. Mobile notifications
                4. Default message output
              2. Inbound messaging
              3. Support contact
            2. Configuration RSS feeds
        8. Experimental settings
        9. Summary
      17. 10. Moodle Logging and Reporting
        1. Moodle's logging framework
          1. Events
            1. Event lists
            2. Event monitoring rules
          2. The log manager
          3. The log store
          4. Reports
        2. An overview of reporting
        3. Moodle's reporting facilities
          1. Live logs
          2. Error reports
          3. Course and user reports
        4. Statistics

          1. Statistics settings
          2. Statistics view
        5. Report generation
          1. Configurable reports
          2. The Totara report builder
        6. Data analysis
          1. Web log analyzers
          2. Google Analytics and Piwik
        7. Miscellaneous reports
        8. Summary
      18. 11. Moodle Security and Privacy
        1. Security – an overview
        2. Security notifications
          1. Moodle notifications
          2. Security report
        3. User security
          1. Access to Moodle
            1. Self-registration
            2. Guest access
            3. Protection of user details
            4. Course contacts
          2. Moodle passwords
          3. Security in roles
          4. Spam prevention
        4. Data and content security
          1. Content created within Moodle
          2. Visibility of content
          3. Site policy
          4. Antivirus
        5. System security
          1. Configuration security
            1. Access to dataroot
            2. The cron process
          2. HTTP security
          3. The IP blocker
        6. Moodle privacy
          1. Information stored about users
          2. Information available to other users
        7. Summary
      19. 12. Moodle Performance and Optimization
        1. An overview of performance and optimization
        2. The Moodle content
          1. Content creation
          2. Content volume
          3. Content types
          4. Moodle's filter settings
        3. Moodle Universal Cache
          1. The MUC background
            1. Cache types
            2. Cache stores
            3. Cache definitions
          2. MUC configuration and testing
        4. The Moodle system settings
          1. Session handling
          2. Cron management and scheduled tasks
          3. Module settings
            1. Gradebook optimization
            2. Chat optimization
            3. Forums
          4. Miscellaneous settings
            1. Course backups
            2. Log files
            3. System paths
            4. Front page courses
            5. Roles and users
        5. Moodle performance profiling and monitoring
          1. Built-in profiling
          2. System profiling
        6. Summary
      20. 13. Backup and Restore
        1. The course-level backup and restore
          1. The course backup
            1. Initial settings
              1. Backup default values
              2. Content-only backup versus full-course backup
            2. Schema settings
            3. Confirmation and review
            4. Finalizing a backup
          2. The course restore
            1. The restore destination
            2. Restore settings
            3. The backup schema
            4. Finalizing a restore
          3. The course Import
        2. Site-level backups
          1. Backup settings
          2. Backup reports and notifications
          3. The backup strategy
          4. Drawbacks of site-level backups
        3. System-level backups
          1. Moodle backups
            1. The Moodle software
            2. The Moodle data
          2. Snapshot creation
        4. Uses of backup and restore
          1. The year-end procedure
          2. Course templates
        5. Summary
      21. 14. Moodle Admin Tools
        1. Web-based admin tools
          1. Upgrade tools
          2. Database tools
          3. Other tools
        2. Command Line Interface (CLI)
        3. Moosh – the Moodle shell
        4. Moodle Adminer
        5. Summary
      22. 15. Moodle Integration
        1. Web services overview
        2. Web services in Moodle
        3. Enabling web services for external systems
          1. Create a specific user
          2. Check user capability
          3. Select a service
          4. Add functions
          5. Select a specific user
          6. Create a token for a user
          7. Enable developer documentation
          8. Test the service
        4. Enabling web services for users
        5. The Moodle mobile web service
          1. Customizing styles for the Moodle app
          2. Mobile app notifications
        6. Summary
      23. 16. Moodle Networking
        1. Networking overview
        2. Networking prerequisites and security
          1. Required PHP extensions
          2. Networking security
        3. Peer-to-peer networks
          1. Adding a peer
            1. Peer services
            2. Profile fields
          2. Network authentication
          3. Allowing roaming
          4. Network servers block
          5. Network enrolment
        4. Moodle hubs
        5. Integrating Mahara or Totara Social
          1. Mahoodle!
          2. Mahara networking
          3. Adding Mahara to Moodle
          4. The Mahara portfolio
        6. The Moodle Community Hub (Moodle.net)
        7. Summary
      24. A. Configuration Settings
        1. Configuration reference: an overview
        2. Configuration reference: administration settings
        3. Configuration reference: system settings
          1. Default parameters
          2. Optional parameters
      25. Index