HW Calendar Module

Hi everyone,

I wanted to share a small milestone and a bit of context.

I started using Gibbon literally about a week ago. I am still very much learning the system and its data model, and I have already posted a couple of questions on the forum that I am waiting for answers to. That said, during this short time, I decided to build a proof of concept module to explore whether Gibbon could realistically replace a specific workflow we currently rely on in ManageBac.

The motivation was very focused. In our implementation of ManageBac, one feature that is heavily used by students, parents, and teachers is the homework calendar style view, which surfaces deadlines visually and independently of the daily timetable. I wanted to see whether something similar could be achieved in Gibbon without modifying core code. I explicitly wanted to avoid touching the core, both for maintainability and upgrade reasons, which led me to explore module development.

The result is my first custom module, called Homework Calendar.

The module provides an alternative view of homework that complements, rather than replaces, the existing Planner. Instead of focusing on lessons and daily schedules, it focuses purely on deadlines, presented in a month calendar grid.

In short, what it does:

Student view
Students see a full month calendar showing all homework deadlines, past and future. Homework appears regardless of whether the corresponding lesson has already taken place, which is something we found important and which is hidden by default in Gibbon’s standard views. Each homework item links back to the full Planner entry. If a homework item is linked to a markbook entry, the title shown comes from the markbook rather than the homework text.

Importantly, homework items are colour-coded by assessment type, with a legend shown at the top. In my implementation, our school would use just “Formative” and “Summative” as assessment type, but the module adapts automatically based on the different types in the Markbook settings.

There is also a new tab in the student dashboard with this information. For our school, we might even set this as the default home tab when students log in.

Parent view
Parents see essentially the same calendar view as students. If a parent has access to multiple children, the calendar can switch context appropriately. Homework visibility respects existing Gibbon permissions, including viewableParents. The idea here was to give parents a quick, visual overview of what is coming up, without needing to interpret timetable structure. There is also a new tab in the parent dashboard with this information.

Teacher view
Teachers see a month calendar grid as well, but with a different purpose. They can select a grade level they teach and see all homework deadlines for that year group at once (including all classes that belong to that year level). Homework is labelled by class, and again, color-coded. They do not have links to any of the homework, literally it is for viewing. This is not meant as a marking or tracking tool, but as a way to quickly sanity check workload distribution before posting new homework and to spot potential deadline clustering.

Admin view

The admin has an extra option for setting up the color coding system. That way you can choose which specific colors to use for the different types of HW/tasks.

Why this view might be useful
For us, the value of this approach is threefold.

First, it is genuinely visual. By removing the clutter of daily lessons and subjects, the calendar makes deadlines stand out immediately.

Second, it is deadline-focused. It answers a very simple question quickly: what is due, and when.

Third, it surfaces future deadlines even when the lesson has not yet happened, which helps students plan ahead and helps parents support that planning (in our context, even if the lesson has not been taught, it is advisable for students when that homework is coming up, specially because many times it is not really what people would normally consider homework, but an online submission of something they already are aware will come up in the future and they want to know when).

Along the way, I also used this as an opportunity to explore Gibbon’s dashboard hook system, permissions, family relationships, and module architecture. The module integrates into student and parent dashboards as a tab, again without modifying core files.

I am sharing this partly as a learning experience and partly because I suspect other schools migrating from ManageBac, or similar platforms, may be looking for a comparable way of presenting homework. I am happy to share the code and discuss design decisions if there is interest. That being said, I am not even sure how I would do that… Paste a ZIP file of the module here?

Thanks to everyone on the forum whose previous posts helped me get this far, and I am very open to feedback, suggestions, or pointers on how to share it (if it is, indeed, worty of sharing ;))

Screenshot of parent dashboard (AI generated student, not a real photo)

1 Like

Hi @rozojc welcome to the Gibbon community :smiley: looks like you’re off to an excellent start, getting up to speed not only on the admin side but also diving into development.

Thank you for sharing your work on this new module, which could certainly be useful to a number of schools. It sounds like you’ve really gotten into the guts of Gibbon if you’re already working out the hook system and module architecture. I know the learning curve can be a bit steep, and the documentation isn’t as extensive as I hope it oneday will be, so well done!

You would be welcome to share your module, the best way to do this is to set the code up in a GitHub repository. This way, you can track your own changes, as well as release versions when you feel its ready to share.

We have a developer Slack group. Feel free to email support@gibbonedu.org if you’d like to join. Its generally pretty quiet, but can be a good place to ask coding-specific questions as you get more into development.

Hi Sandra,

Thanks for the kind words!

I’ll check out GitHub for sure. To be honest, I hadn’t done anything PHP-related in over ten years. I’m sure I would have figured it out eventually, but AI definitely made it possible to do this in one day, which I am happy about. Once I have a moment, I’ll get an account set up and share the code.

Right now, we are just assessing if Gibbon is the right fit for our school. This was mostly to demonstrate that we can replace—and improve on—our current solution (MB).

I’ll shoot an email about the Slack group, too. I’ve been in touch previously inquiring about Gibbon, and since I suspect I’ll be doing more of this work soon, joining the group would be great.

Cheers,

JC

Hi @rozojc - this is looking great, and I’d be very interested in trying it out too. We also migrated from ManageBac (via something that rhymes with ShowerPool) to Gibbon, and this is a feature we also miss.
Migrating our school over to Gibbon has been great though, it is such a flexible platform and certainly much more user friendly than other SIS we have looked at.
Thanks,
Steve.

Hi @SGi .I haven’t had the time to properly create a GitHub account for this and share. But happy to connect individually and share.

Does your school have MYP or PYP by any chance? Not sure if there is a way to send a direct message through here ?