Blog Insights
Taking Over the “Maintainership” of a Drupal Module

One truism about open source website software is that, much of the time, it is developed to meet a specific need, at a specific time. As time passes, the individual or team that originally developed a particular module may have moved on, which can pose a significant challenge to those continuing to use it. This is where becoming a module maintainer may be just what’s needed. At Forum One, we are passionate about open source software. We are also passionate about making sure that our clients’ web projects succeed so that they are able to create a real impact across important causes worldwide.  Working with a system such as Drupal can sometimes bring these two goals to a crossroads, which was the case for us recently when a critical Drupal module on a large client platform became too buggy to patch, and the original creator of the module had moved on and wasn’t able to continue maintaining it. From my point of view, this particular module was not just needed for our client but it was a valuable solution for the larger Drupal community, of which I’ve been a part of for many years. This is why I stepped in and offered to become the module’s new owner, or as it’s sometimes referenced in Drupal, I offered to take over “maintainership.”

Addressing the issue

The Drupal Views iCal module is a critical feature on the Fairfax County Public Schools (FCPS) website platform. The central FCPS platform serves the needs of students, parents, and employees across 205 school websites. Drupal’s Views iCal module provides support for the Internet Calendaring and Scheduling Core Object Specification, which enables the county as well as each of the 205 school websites to provide an events calendar feed that people can subscribe to. Events are then able to be displayed in subscribers’ personal calendars, regardless of the software they are using.  Drupal FCPS The Views iCal module was originally created by a Drupal community developer in 2012. Forum One began using it when we built the FCPS platform in 2016 to provide the calendar subscription feature for the county and school websites. Unfortunately, there was a handful of bugs in the Drupal 8 version of the module. Our developers were able to provide some patches to address them on the FCPS platform; however, as the original creator and maintainer of the Views iCal module had moved on, there was little we could do to update the module itself. Between our very real need to improve the module for our client, and to give back to the Drupal community so that the module could be made useful to others, I stepped in and offered to become the new maintainer.  

Taking ownership

Since I’ve taken over the “maintainership” of the Drupal Views iCal module, I’ve been able to fix the bugs that were causing problems, as well as add a number of new features that I came to realize would be helpful based on my experience implementing it for our client. As luck would have it, many were easy to add as the module’s issue queue already had a number of patches from other developers waiting to be incorporated. Clearly, I wasn’t the only one that saw its value! Improvements I have been able to implement to the module include:
  • The ability to configure the name of the file that gets downloaded so that it doesn’t have to match the name of the last item in the URL path
  • Removing a mime-type header bug
  • Providing a default date formatting tool to manually configure calendar feeds
  • Creating a Wizard that maps fields in the view with calendar event properties 
Now as an updated module in Drupal, Views iCal continues to play a key role for FCPS and its 205 school websites, as well as being a great option for others to use in the Drupal community. 

Being a good maintainer

I am excited to continue supporting this module for the foreseeable future, with plans already in the works to optimize it further, including expanding automated tests to prevent regressions during future development, incorporating all-day field support (once that feature is added to Drupal core), setting refresh interval properties, and providing iCal icon support.  I also really appreciate and am grateful for the open source community’s input to the module to ensure that it continues to be useful for everyone. The Drupal community is full of great developers who start projects like this, and more that continue them. I hope this post provides not just a vignette into the work Forum One is doing for its clients, but also serves as an inspiration to other developers out there who are curious about becoming module maintainers themselves. 

Are you ready to create impact?

We'd love to connect and discuss your next project.