A screenshot of a custom Moodle module I created.
Moodle custom development

Moodle custom development

January 4, 2011
Written by
FNFrederic Nevers

Note: I no longer maintain this system as I moved schools mid-2011. This post was written on January 4th 2011.

I have spent the past 3 years heavily modifying our installation of Moodle. This is a showcase of the new capabilities I have added to our site. Our site is still using 1.9 as the changes are not compatible with Moodle 2.

The main modifications consist of 3 parts:

  • Design
  • Reward System
  • Electronic Attendance

Design

I adapted the ‘Round Corners’ CSS theme to match it with the St Andrews colour scheme. I also added a HTML table to the homepage to make it easy for students (and teachers) to find their way around the site.

Customised theme and Moodle homepage

Whole School Reward System

Students at my school can receive ‘credits’ for their academic achievements, or ‘House Points” for their achievement outside of the classroom. However, there is a quirk – a credit is automatically counted as a house point, but the opposite is not true. I used the following 3rd party plugins as a basis for my customisation work:

Teachers are now able to quickly award credits/house points, certificates of achievement are produced automatically, and graphical representation of credits is available to teachers. One of the students’ favourites is the automatically updated ‘House Points’ tally on the homepage – a great motivator!

Here is a bunch of screenshots showcasing the capabilities of the system I created. Let me know if you’d be interested in knowing more, or if you’d like something similar for your Moodle installation.

Teacher selects a studentList narrows down as more letters are enteredTeacher enters a reason for adding the point(s)
Teacher selects a studentList narrows down as more letters are enteredTeacher enters a reason for adding the point(s)
A graphical report for all of the creditsTop tens, for rewards during assemblies, etc.A report per class/tutor group
A graphical report for all of the creditsTop tens, for rewards during assemblies, etc.A report per class/tutor group
An individual reportThis is what students seeA student's own 'credits' page
An individual reportThis is what students seeA student’s own ‘credits’ page

Electronic attendance

The attendance is taken twice a day at my current school, during morning & afternoon registration periods. Teachers have a lot to do during those short periods and attendance taking must be prompt and not confusing.

Attendance is serious business; Senior Management needs to see at a glance whether there is any truancy, what the overall attendance looks like, etc. The office staff have the obligation to keep attendance records indefinitely, and have always up-to date attendance lists in case fire (or other disaster) strikes, and finally tutors need accurate numbers for any communication with parents.

I used the ‘Attendance‘ module as a starting point for my work.

Again, here are some screenshots showing you the main functions of my developments.

Teacher is automatically directed to the correct session/groupThe 'Attendance' pageNavigation
Teacher is automatically directed to the correct session/groupThe ‘Attendance’ pageNavigation
Teacher is presented with unauthorized absenceStatistics pageIndividual student report - Overview
Teacher is presented with unauthorized absenceStatistics pageIndividual student report – Overview
Individual student report - DetailAll teachers receive an automatic email showing absenteesSenior management receive an automatic email in case attendance is not taken
Individual studentreport – DetailAll teachers receive an automatic email showing absenteesSenior management receive an automatic email in case attendance is not taken
Teachers and SMT can view detailed reports for each tutor groupSMT can filter results in reportsList of absentees - automatically updated
Teachers and SMT can view detailed reports for each tutor groupSMT can filter results in reportsList of absentees – automatically updated
MoodleDevelopmentBespokeCustom code