How you can help making Caldera Forms PHP 8 ready

2023-05-03 05:35
Written by
Andreas - member of the CiviCRM community - view blog guidelines

For complex forms with CiviCRM integration, many WordPress users still rely on Caldera Forms. In order to share bug fixes and further developments of the plugin, which is no longer maintained by the original developers, some users have joined forces to form the Caldera Forms Collaboration Initiative.

All eight participants of our last meeting on the 2nd of May 2023 are CiviCRM professionals, whose clients are sometimes more, sometimes less committed to Caldera for various reasons. In detail, there are several reasons that make Caldera (still?) attractive for them or without a real alternative: The conditionals, the very user-friendly interface of its form builder, the add-ons, e.g. for the payment integrations or the user add-on, the sophisticated integration with several plug-ins, the remote integration with CMRF or simply the high migration effort of complex forms. Thus, there was a general agreement that the PHP 8 compatibility of Caldera Forms is an important topic.

But there are also some questions - here are some answers:

Isn't Caldera Forms already PHP8 compatible? – Yes, indeed several people reported that they run Caldera Forms productively on PHP 8.0+ and have no problems at all. However, for some features (e.g. the calculation fields) there seem to be PHP bugs. Our impression is that these can be fixed quickly. By the way, the compatibility with the WordPress core has proven to be robust so far and in view of the long security updates of WordPress, we continue to be optimistic here.

Ok, so why don't we just fix the PHP problems and be done with it? – Good question! Caldera Forms has a lot of dependencies, numerous add-ons and integrations and its own complex build environment. Thanks to Kevin's involvement, we have all of this at hand. But: Do we want to build up expertise regarding the build environment in order to be able to handle other possibly necessary adaptations more easily in the future or do we "only" want to fix the PHP bugs? Which add-ons and integrations should be checked? How do we proceed practically?

Eh, and now? – To make it short: We do have a plan now :-)

  1. We will fix specific PHP8 incompatibilities first. For this we will use the community fork of Caldera Forms on the CiviCRM GitLab.
    There are many ways to get involved here: report bugs, share fixes, participate in testing or support others with time or funding. If you are unfamiliar with GitLab, talk to us in this Mattermost channel, someone will be happy to support you.
  2. We will dive a little deeper into the Caldera build environment. Specifically, Klaas will do that first and then share his findings.
    This is a lot of work – we are happy to receive support, e.g. by funding some of his work.
  3. We will prioritise – first we will look at the Caldera Forms plugin itself, then we will look at the most important plugins and add-ons in use. We will record those in this GitLab issue.

Sounds like a good plan, doesn't it? But - isn't that a lot of work? – Yep, that's exactly why "we" are getting together. If you also use Caldera and are willing to contribute, these are your channels:

Thanks to all who contribute!