Having readied our development environment and explored the thought processes that support building a Moodle plugin, in this chapter we will be investigating the types of
plugin Moodle supports. Remember that the "M" in Moodle stands for modular; if there is a feature you need that Moodle doesn't support then we can build a plugin to implement it. Any aspect of the user experience can be enhanced and/or modified by a plugin. In this chapter, we will be mapping out the most common user journeys through the platform, from initial log on (authentication), through being assigned to courses (enrolment), and ultimately completion reporting.
As described in the previous chapter, we will be taking an Agile approach to plugin development, and that means we will be working with user stories (a description of what our work needs to achieve...