Group Support for FormBuilder

Publicat
2024-10-03 08:30
Written by
kurund - member of the CiviCRM community - view blog guidelines

At Third Sector Design, we’re excited to have contributed to adding Group support to FormBuilder, a key feature included in the 5.77 release. We extend our thanks to the Core Team and Coleman for their review and support in getting this important feature across the finish line.

With this new functionality, you can now use FormBuilder to create forms like newsletter sign-ups and other highly configurable group signup scenarios. We believe this is a powerful enhancement, making FormBuilder more versatile for a wide variety of use cases.

How it all started

Our journey toward Group support began a few years ago, driven by a request from one of our clients. They needed an easy way for their constituents to manage their communication preferences. We conceptualized a solution they loved, and we decided to use FormBuilder as the base.

Initially, we built a custom extension, which worked well. However, as more clients began requesting similar functionality, we recognized the broader potential of this feature. That’s when we decided it was time to contribute it to the core, so the wider community could benefit. An added advantage was that we would no longer need to maintain a custom extension which needed to survive the upgrade cycle, a win for both us and the community.

Key functionalities in our custom extension

Our original custom extension included two main functionalities:

1. Displaying Groups in FormBuilder: CiviCRM Issue #4370

2. Submission Approval Workflow: CiviCRM Issue #4233

The submission approval workflow was successfully merged into the core last year, and Group support is now part of the 5.77 release.

How do you use it?

Below is a sample newsletter signup form configuration. Users are given the option to subscribe to specific groups of their choice. After completing a double opt-in process (where they confirm their subscription via email), they are automatically added to the selected groups. In addition, all subscribers are also added to a default "Subscribe" group.

Here is the sign up form for the end users:

Lessons learned and recommendations

From this experience, we’ve gathered a few valuable lessons and recommendations for others looking to contribute:

  • Start small with custom extensions: If you’re working with a limited budget, it’s fine to develop a custom extension to meet specific needs.
  • Reach out to the community: If you find that more than two clients require the same functionality, it’s time to file an issue and start a conversation with the community. You might be surprised to learn that someone else has already been working on a similar solution!
  • Incremental progress: Break down big projects into smaller, manageable issues. Incremental steps are key to making lasting progress in open source development.

Acknowledgments

We’d like to take a moment to thank our clients, whose funding made these improvements possible. Their support has helped enrich the entire CiviCRM community, and we’re excited to continue contributing to the platform.