Moodle: Major Assignments Calendar Idea

Our faculty wants a “major assignments” master calendar, in order to identify days on which too many teachers have scheduled major assignments before they impact students. In Moodle, students automatically see all the assignments in their courses. I want a way for each teacher to see a summary of major assignments schoolwide as they schedule their own. To complicate matters further, it would be most helpful for a teacher to automatically see what major assignments their students (not all students) have on a given day.

I am thinking about how to implement such a feature in Moodle. (I am an average programmer). Since we want to track only major assignments, we need to find a way to distinguish major from regular assignments. We also need to write a function to count major assignments for the given day only for students enrolled in the class.

Ideally, this counting function would fire as the teacher selects the assignment date. That way, the teacher could easily move the assignment from one day to another and see the impact on students’ workloads.

In our school, it would be less work to create a new assignment type called “major assignment” than it would be to add a “major” checkbox to each assignment type. In our school, major assignments are not likely to be submitted electronically, and keeping the function in a separate module would avoid making changes to Moodle core code.

I could use your advice and feedback on this idea. Is anyone else working on a similar idea? Is there a better way to approach this task? Am I missing an existing feature in Moodle that could help me achieve this end?

Many thanks.


I also posted this to the Moodle forums. Here’s an encouraging reply I received only seven minutes after submitting the question. Isn’t that amazing?

Re: Idea for a “major assignments calendar”
by Gary Anderson – Sunday, 27 July 2008, 07:42 PM

Hi Richard:

We have implemented this at our school. We have teachers label assignments by putting them in bold (we have a patch that adds the tag to the title. We also have a simple block that looks for assignments that have this tag and counts the number of affected users. We have taken the extra step of having a user profile field that shows if they are in the class of 2007, etc.

It works nicely and has avoided many scheduling conflicts. While we are not prepared to put this in Contrib, hopefully the above ideas will get you started, and I can send you are code on an “as is” basis if you contact me.


I also just figured out that Gary is from Seattle Academy of Arts and Science, which I hope to visit in October.


  1. Paul Monheimer says:

    Low-Tech approach which the German Gymnasium students use. When a teacher wants to give a major assignment, he/she has students take out their calendars, gives the date and waits to see if any students signal a conflict. In most parts of Germany, students are allowed by law to take only 1 test or 2 quizzes per day. If there is a conflict, then a new date must be chosen. Because of this, most teachers choose their major project/test/quiz dates early in the year in order to avoid conflicts. Students manage the system quite well!

  2. Richard says:

    Yes, I am sure that would work well. In this case, we are using technology in about the same way.


  3. Adam Gerson says:

    We are very interested in this exact idea.