Moodle is a web application used in educational settings. While this chapter will try to give an overview of all aspects of how Moodle works, it focuses on those areas where Moodle’s design is particularly interesting:The way the application is divided into plugins;The permission system, which controls which users can perform which actions in different parts of the system;The way output is generated, so that different themes skins can be used to give different appearances, and so that the interface can be localised.The database abstraction layer.
ב-The Architecture of Open Source Applications Volume 2: Moodle.