Return to site

Who is creating add-ons to the Webform module?

December 12, 2017

As the Webform module progresses towards a stable release and developers are getting familiar with Drupal 8, some developers are starting to contribute some very cool add-ons to the Webform module’s ecosystem.

Drupal is about collaboratively creating robust, stable, and extendable APIs that developers can use to improve and customize Drupal's functionality. Drupal's core Form API (FAPI) is the backbone of the Webform module for Drupal 8. The Webform module would not exist without FAPI, so here is a shout out to all the past maintainers of Drupal FAPI and its current maintainers, Alex Bronstein (effulgentsia) and Tim Plunkett (tim.plunkett).

I am a dwarf standing on the shoulders of giants.

Because the Webform module Drupal 8 is an entirely new code base, the entire Webform related project ecosystem must be rebuilt from scratch. I see this as a challenge and an opportunity to rethink the functionality that the core Webform module provides and how it is extended.

I strongly feel that the Webform module must be a complete form building solution, which inspires the Drupal community to do what it does best, extend the heck out of powerful APIs

The Webform module for Drupal 8 builds incredible forms, but it is up to the Drupal community to develop the tools and features needed to handle submissions and integrate with third-party applications.

To encourage people to extend the Webform module I decided to track contributed modules within the Webform UI and on Drupal.org in a section that I am calling "Add-Ons."

The Add-ons page lists Drupal modules and projects that extend and provide additional functionality to the Webform module and Drupal's Form API.​​

Laurent is making it possible to analyze webform submissions

Laurent BARAN (lbaran)

Analysis and charts are one of the few features that were available in Webform module for Drupal 7, however it was removed from Drupal 8 version. The Webform module is about collecting data, and there should be a variety of tools built for displaying this data.

A few weeks ago, Laurent created the Webform Analysis module. I was excited to see his first release posted on Twitter, and I immediately download his code. I was delighted to see that it worked as expected. I was surprised how easily he was able to create this functionality. A closer look revealed he was smartly using Google’s Chart API to do the heavy lifting.

Reading someone's code tells you a lot about their level of experience. How someone handles feedback tells you about their real potential.​​

Laurent is new to the Drupal community. His code reflected a lot of programming experience but I felt it needed to be Drupalized and Symphonized a little bit. So I posted an issue in his queue and he started to improve his module immediately.

Laurent is on his way to building a module that is going to be used by most Webform projects, including my own. It’s great to see a new developer to the Drupal community contribute something back that will make such a significant impact.

Rich is building a user interface for reusable composite element

Rich Gerdes (richgerdes)

Composite elements are a completely new feature to the Webform module for Drupal 8. Composites are groups of elements working together to collect information like addresses and names. Webform composites are similar to Drupal’s Field collection module.

Last month, I managed to implement custom composite elements in the UI, but this feature was not reusable across multiple forms.

A few people, including Rich, requested reusable composites, but I don’t have the bandwidth to support this feature in the core Webform module. Rich and I talked about this problem, and he was up for the task of taking out the Webform composite module. Since the Webform module is still in beta, we were able to make a few API tweaks to core Webform module that have paved the way for him to create and maintain the Webform Composite Tools module.

Alexander continues to be a ​Webform Ninja throwing out a few patches and disappearing back into the shadows.

Alexander Trotsenko (bucefal9)

Like many developers, Alexander had a project that needed Webforms and required Views integration. I was finding setting up Views integration to be a daunting task and Alexander just threw together a patch and posted it. I suggested that he take over the Webform Views Integration namespace and he took me up on it. Alexander did such an amazing job that I was happy to praise his recent contribution to the Webform module.

He admittedly does not have a lot of time to contribute back to Drupal, but he periodically reviews the issue queue and applies some patches. I am calling Alexander a "Webform Ninja" because he got the 'mad skillz' and and randomly appears to do his impressive work and then disappears.

Conclusions

Laurent, Rich, Alexander, and myself have different skill levels and experience with each one of us contributing to Drupal in different ways. While contributing to Drupal helps build our resumes and professional profiles, I think it is very important that Drupal recognizes who is contributing back. Recognition is key to motivation and motivation is an essential ingredient to contribution, especially in an open-source community. Hopefully, our work inspires more people to contribute something back to the Drupal. For now, everyone should take our work for a spin, post an issue in our issue queue, and even tweet a thank you.

Community community community.

Thank you.