Addressing the issueThe 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. 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 ownershipSince 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
Being a good maintainerI 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.
Have questions about Drupal?
Get in touch today. Our Drupal expert developers love it and can help you find the best solutions for your Drupal questions.