WordPress … the web software I love to hate. It’s what runs this site, and, indeed, most of the sites I manage. It’s o.k., particularly when one can keep the number of plugins used to a bare minimum. The more plugins that are used, the more one is at their mercy, particularly if one or more of them which play a pivotal role suddenly get abandoned by the creator/maintainer. This happens frequently because many plugins are free and, understandably, it can get overwhelming for developers—particularly those not getting paid for their work—to maintain as WordPress itself evolves.

Form software is a lucrative business. Currently, most form software (like the very popular WPForms and Gravity Forms) cost upwards of $250/year. This is a perfectly reasonable business expense, but, for an individual’s use, it is prohibitive. This kind of form software looks pretty and has decent integrations with Zapier, Stripe, PayPal, etc., but the drag & drop mechanism which has become so popular and ubiquitous has its drawbacks.

Four times a year I am required to make a membership ballot for an organization where I do volunteer work. If there are just a handful of membership candidates, making a ballot isn’t such a hassle using standard drag & drop form software. But, when there are 10 or 20+ candidates, the annoyance and frustration creating a ballot reaches new heights—it’s a lot of repetitive work and, with so many fields on the form, the interface becomes confusing and hard to manage. For each candidate on our ballot, I must provide options to either vote Yes or Abstain. If Abstain is chosen, then conditional logic is needed: "if a voter abstains on any candidate, then show an abstain box where the voter can (and must) justify the abstention." So, for every candidate, two fields are needed, and the second one remains hidden unless needed.

Thankfully, there’s one form software that is not only free, it uses text to create its forms—Contact Form 7—and I’m all about using text. Since all of these candidates are already in a database (FileMaker, of course), I can use FileMaker’s scripting capabilities to generate the exact text the forms software needs. Further, I can use that same script to generate the html code needed in an email blast announcing the candidates to the general membership.

Contact Forms 7 uses several text fields to make a form. There’s the Form Text (in my scenario, this creates the actual ballot for the voter), the Mail Text (code used to send a notification to the ballot receiver after a vote is cast), and the Conditional Text (code that handles any conditional field calculations on the ballot).

Then it’s just a simple copy/paste action. Making a ballot this way is the polar opposite of frustrating, and I’m so grateful that this software exists. ◼︎