Installing third party contributions
As mentioned earlier, one of Moodle's strengths is the ease with which you can install and use third party add-ons. There are a multitude of blocks, modules, and other plugins available from the Moodle.org download area that you can use to enable Moodle to perform all sorts of tasks. One word of caution on third-party blocks, modules, and other plugins; they are not maintained by Moodle headquarters and as such you should check the forums on Moodle.org for any known issues the plugin you are planning to install might have. Likewise, it is a good idea to install these types of plugins on a test site, like the one we've set up in this chapter, to experiment with them and make sure they function as desired. Once you are confident in using the features offered by a plugin and assured that it is what you want, you can install it on your production site.
Blocks and modules
As mentioned at the beginning of this chapter, blocks and modules comprise the majority of feature add-ons available for Moodle. They are also almost always very easy to install provided that you have the necessary level of access to the system that your Moodle site is being served from. Installation on a local XAMPP or MAMP package is extremely easy as it simply involves downloading the add-on from Moodle.org, decompressing it, and placing the folder of components into the appropriate folder/directory within the Moodle directory.
We will install the following block and module to continue to build our CIMS and to demonstrate the installation process:
My Courses block: This provides students with an easy way to navigate to courses in which they are enrolled, and more importantly from the CIMS perspective, it provides an administrator with easy access to all of the courses on the site.
Attendance package: This package actually consists of both a block and a module. The module is the main component, especially from the CIMS perspective and the block is used primarily to present personal attendance data to students in a block that appears in the course area.