“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
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.
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.
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.
“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.
Simple plugin implementing a personal ToDo list on the user’s Moodle dashboard.
The main purpose of this plugin is to demonstrate usage of advanced coding techniques available in recent Moodle versions. Most notably:
- Rendering HTML output via Mustache templates
- AJAX based workflow of the elementary CRUD operations.
- Organising JS into AMD modules.
- Organising external functions into traits.
- Low-level access to the database via persistent models.
- Using exporters for handling the data structures in rendering and AJAX.
phpcs-security-audit is a set of PHP_CodeSniffer rules that finds flaws or weaknesses related to security in PHP and its popular CMS or frameworks.
It currently has core PHP rules as well as Drupal 7 specific rules. Next planned CMS/framework is Symfony 2, which are also relevant to Moodle.
As a bonus set of rules, the tool also check for CVE issues and security advisories related to CMS/framework. You can use it in order to follow the versioning of components during static code analysis.
The main reasons of this project for being an extension of PHP_CodeSniffer is to have easy integration into continuous integration systems and to be able to find security bugs that are not detected with object oriented analysis (like in RIPS or PHPMD).
- Install: https://moodle.org/plugins/local_codechecker
- Git clone above github project (phpcs-security-audit)
- Follow project’s README install instructions, and also…
- Copy https://github.com/FloeDesignTechnologies/phpcs-security-audit/tree/master/Security/Sniffs/BadFunctions folder into your Moodle local/codechecker/moodle/Sniffs
- Copy https://github.com/FloeDesignTechnologies/phpcs-security-audit/tree/master/Security/Sniffs/CVE folder into your Moodle local/codechecker/moodle/Sniffs
Dynomite, inspired by Dynamo whitepaper, is a thin, distributed dynamo layer for different storage engines and protocols. Currently these include Redis and Memcached. Dynomite supports multi-datacenter replication and is designed for high availability.
The ultimate goal with Dynomite is to be able to implement high availability and cross-datacenter replication on storage engines that do not inherently provide that functionality. The implementation is efficient, not complex (few moving parts), and highly performant.
Also, checkout (alternatives?):