Align www.open-contracting.org with www.open-spending.eu, which uses Fluent Forms with Cloudflare Turnstile.
This is not a prerequisite for dropping Akismet — Gravity Forms has an official Turnstile add-on, free on every licence tier (gravityformsturnstile 1.5.0 appears in our licensed manifest). The case for migrating is coalition alignment.
What's actually in scope
Only one form is live:
| Form |
Fields |
Live? |
| 2 — Office Hours |
11 |
Yes, /contact-office-hours/ |
| 1 — Contact us |
11 |
No — not embedded on any published page |
/about/contact/ returns 200 with no Gravity Forms markup; the only wp:gravityforms blocks are on page 29984 and one draft.
The live form: 4 text, 1 email, 3 select, 1 textarea, 1 checkbox; 3 conditional-logic fields; 83 choices (45 of them country names); one notification to {admin_email}; one message confirmation; no honeypot; 0 stored entries (notification-only).
Translation burden is zero
gravity_form-1 620 strings 613 translated <- not published anywhere
gravity_form-2 192 strings 0 translated <- the live one, authored in Spanish
Theme coupling is two filters
app/Providers/FormServiceProvider.php is the only Gravity Forms reference in the theme:
add_filter('gform_disable_css', '__return_true');
add_filter('gform_disable_form_theme_css', '__return_true');
There are no .gform/.gfield/.ginput selectors anywhere in the theme's SCSS. Gravity Forms' own CSS is disabled and forms inherit generic element styles from resources/scss/base/_forms.scss, so there is no form CSS to port.
Steps
Notes
Fluent Forms now has an official WPML bridge (multilingual-forms-fluent-forms-wpml) covering labels, placeholders and select/radio/checkbox choices. It is young (1.0.6) and WPML's certification was last tested against Fluent Forms 6.0.2. Only relevant if form 1 is rebuilt bilingually.
Refs #568
🤖 Generated with Claude Code
Align www.open-contracting.org with www.open-spending.eu, which uses Fluent Forms with Cloudflare Turnstile.
This is not a prerequisite for dropping Akismet — Gravity Forms has an official Turnstile add-on, free on every licence tier (
gravityformsturnstile1.5.0 appears in our licensed manifest). The case for migrating is coalition alignment.What's actually in scope
Only one form is live:
/contact-office-hours//about/contact/returns 200 with no Gravity Forms markup; the onlywp:gravityformsblocks are on page 29984 and one draft.The live form: 4 text, 1 email, 3 select, 1 textarea, 1 checkbox; 3 conditional-logic fields; 83 choices (45 of them country names); one notification to
{admin_email}; onemessageconfirmation; no honeypot; 0 stored entries (notification-only).Translation burden is zero
Theme coupling is two filters
app/Providers/FormServiceProvider.phpis the only Gravity Forms reference in the theme:There are no
.gform/.gfield/.ginputselectors anywhere in the theme's SCSS. Gravity Forms' own CSS is disabled and forms inherit generic element styles fromresources/scss/base/_forms.scss, so there is no form CSS to port.Steps
_fluentform_turnstile_details){admin_email}and the message confirmationFormServiceProviderfor the Fluent Forms equivalent (Idea Bureau)gravityformsandakismetNotes
Fluent Forms now has an official WPML bridge (
multilingual-forms-fluent-forms-wpml) covering labels, placeholders and select/radio/checkbox choices. It is young (1.0.6) and WPML's certification was last tested against Fluent Forms 6.0.2. Only relevant if form 1 is rebuilt bilingually.Refs #568
🤖 Generated with Claude Code