MoodleBites Theme Design Level 2
Updated for 2019 – for Moodle 3.6
If you are interested in continuing in Moodle Theme development, and have some development experience, experience with php, and experience with Moodle Themes, then this MoodleBites Theme Design Level 2 is for you! You should have completed, or be familiar with the content of MoodleBites Theme Design Level 1 before taking this advanced course.
This course is 3 weeks in duration, asynchronous, and completely online. Each week contains approximately 2-4 hours work, although this varies depending on your experience with Moodle and themes in general, and how much extension work you wish to complete.
The course is focused on adapting existing Themes (standard Themes and plugin Themes). After successfully completing this course:
- You will understand how Moodle Themes really work.
- You will be able to customise existing Themes.
- You will be able to use simple debugging tools and understand important aspects of the Moodle Theme development and testing process.
There are no live sessions, but participants are encouraged to participate in forums and to share their practical work for others to see and learn from. Note that for this course you should be using Moodle 3.5 or later.
Source: MoodleBites: MoodleBites Theme Design Level 2
- Here we cover the basic background of Moodle as a PHP app and its dependencies
- Where to find everything in the project (Dev doc, dev forums, chats, tracker … not only what those things are but when you need them).
- Tools that developers recommend to develop for Moodle (what and why and when)
- How to start and manage development of your own Moodle plugin
Contents of the “Moodle Development” course include:
- Moodle Development Process
- Plugin Types
- Developing a plugin
- Language strings
- Anatomy of a Moodle page
- Simple Input\Output
- Navigation and Settings
- Querying the Database
- Creating New Database Tables
- Roles, Capabilities, Contexts
- Forms API
- Acceptance Testing Using behat
- Unit Testing Using phpunit
- Handling Files
- Events and Logging
- Web Services and AJAX
- Backup and Restore
- Cache API
- Other Plugin Types
- Further Reading and Resources
Source: Course: Moodle development course
A collection of views, functions and procedures to help MySQL administrators get insight in to MySQL Database usage.
Source: mysql/mysql-sys: The MySQL sys schema
The power of Open Source. has committed a first pass at adding mobile support to the Questionnaire plug-in! Getting closer.
Source: Moodle Mobile 3.5 Support · tigusigalpa/moodle-mod_questionnaire@467a15c
“It is essential to support such thing likes event observers in any framework. In this post, I will show how to defined your observers in Moodle.”
Source: Event Observers in Moodle
One way to customize specific page in your theme is to override a renderer. This post will show you an example of how to do this.
Source: Overriding a Renderer
Simple SQL statements debugging with MySQL global general_log variable turned ON
and a standalone php script that display the relevant SQL statements that are sent by a specific Moodle instance, filtered by the instance admin db username.
PHP Script: github/nadavkav/gist/nadavkav/mysql_statements_monitoring.php
APM (Alternative PHP Monitor) is a monitoring extension enabling native Application Performance Management (APM) for PHP. It doesn’t require any modification to your application’s code and let’s you collect performance metrics as well as catching issues that may arise.
Source: patrickallaert/php-apm: PHP APM (Alternative PHP Monitor)
Searching the Moodle database schema is no longer a challenge and table fields names and purposes are no longer a mystery 🙂
With the Zoola analytics DB schema explorer, we can now search and filter tables, table fields, and explorer 1st and 2nd level external key connections between tables.
Source: Moodle 3.3 Database schema / Zoola Analytics
“You manage your PHP project dependencies with Composer, right? But are you sure that your project is not dependent on a package with known security issues? The SensioLabs security advisories checker is a simple tool, available as a web service or as an online application, that uses the information from your
composer.lock file to check for known security vulnerabilities. This checker is a frontend for the security advisories database.” / SensioLabs.
Source: Check your PHP project for known security issues – SensioLabs Security Advisories Checker