In this chapter, we investigated core Moodle interfaces. In the first half, we enhanced the dual language local plugin we developed in Chapter 1, Getting to Grips with the Moodle 3 Architecture in order to allow a Moodle administrator to configure a primary and a secondary language and also to specify a reading order (either left to right or right to left). We saw how a new settings page can be built and added to the Site administration menu.
In the rest of the chapter, we refactored the "choice" activity into an "enhanced" choice activity--a new teaching interaction based on the "choice" activity but one that allows a teacher to include multimedia (specifically images in this example) in the choice options. Doing so allowed us to consider the internal APIs required to support plugins, such as the Form API, Events API, and the File Storage...