Form Builder roadmap
This roadmap is based on a Google Doc created as part of the regular Form Builder / SearchKit meetings.
It could do with some tidying up and more details on some items.
See also #3912 for tracking conversion of Admin screens and #3762 (closed) for SearchKit items
Support more entities
-
CiviCase -
Participants https://github.com/civicrm/civicrm-core/pull/24420 -
Surveys/Petitions -
Grants -
Contributions (JMA funded $5k more work starting Nov '24) -
Group opt ins https://github.com/civicrm/civicrm-core/pull/30706 -
Generalized entity support (generic create/edit forms for any entity type, including custom civix-generated entities) -
CiviMail in order to send transactional e-mails
Support more workflows
-
Ability to add tokens to form submission redirect URL https://github.com/civicrm/civicrm-core/pull/24016 -
Add to navigation menu https://github.com/civicrm/civicrm-core/pull/24013 -
CAPTCHA support #3173 (closed) -
Multi-step forms -
Conditional fields https://github.com/civicrm/civicrm-core/pull/24699 -
Form-only fields that can be used in conditionals. Eg. "for example I want to ask 'Do you want to add another child?' and have yes or no, the yes then opens another individual contact to be created on the form, but i don't want to have this question as a custom field as it will never be looked at." -
extend conditional logic to field options (if A then show options 1 - 2 -3, if B show options 1 - 3) -
date comparison (X hours / days / weeks before/after now)
-
-
Display values after submission -
Support remote display and submission (https://civicrm.org/make-it-happen/formbuilder-remote-forms)
Other improvements
-
Improve validation - [.] Client side validation https://github.com/civicrm/civicrm-core/pull/23604
- This is only partially implemented and does not work for select2 and multiple checkboxes (at least) - see https://github.com/civicrm/civicrm-core/pull/25535 and https://github.com/civicrm/civicrm-core/pull/25536 for details.
-
Server side validation #3760
- [.] Client side validation https://github.com/civicrm/civicrm-core/pull/23604
-
Payment processors - #5275 -
Price sets -
“Pagebuilder” -
Support entity ref with pre-population -
Embed on remote site - check inlay (https://lab.civicrm.org/extensions/inlay) or iframe/oembed (#5464) -
Display-only fields (#3779 (closed)) -
‘Add New’ button (Added to SearchKit) -
Add a config link shown to admins -
More/better APIs/examples for hooking into forms (from extensions) -
post-submit tokens -
contact widget in drupal webform - limit an entity-ref
- pull up data for contact from entity-ref (get their name/address)
-
entity-ref: is it api4 or api3? https://github.com/civicrm/civicrm-core/pull/24832 -
More in-place “Edit” links (for admins) -
WordPress Gutenberg block - see Afform - support embedding forms via WP for inspiration
-
Tag support -
Deduplication https://github.com/civicrm/civicrm-core/pull/24552 -
Support url-params and other config options for Values in Submmission forms #3910 -
Hidden fields https://github.com/civicrm/civicrm-core/pull/24161 -
Copy a search display in the UI -
Add a 'Copy' button for repeating elements - like the existing 'Add' button but copying the values entered in the source. Was "Bulk create defaults" #3986 (closed) https://github.com/civicrm/civicrm-core/pull/26071 -
Date filtering options #3985 (closed) -
Add tab display see https://github.com/civicrm/civicrm-core/pull/24981 -
Add way to link to local URL's in helptext see https://github.com/civicrm/civicrm-core/pull/24981 -
Decide how to handle popup help text currently in .hlp
files - new element on form? eg see https://github.com/civicrm/civicrm-core/pull/24981 -
Add way to handle popup warnings before action see https://github.com/civicrm/civicrm-core/pull/24981 -
Allow 'Add New' button to open full-page, not just pop-up - eg https://github.com/civicrm/civicrm-core/pull/24937 -
Add general purpose button? eg 'Manage Personal Campaign Pages' button - see https://github.com/civicrm/civicrm-core/pull/24937 -
Improve SK UX - see user-interface#49 -
Allow generic / "preset" formatting instead of hardcoding colours etc. per form. Eg specify preset "Generic search form" to make it look like every other search form. -
Conditional field formatting based on other field values. -
Create a way to add someone to a group from a Submission form -
In SK, be able to use custom fields in joins. (Eg with Related Contacts, want to include if custom field matches criteria. NB you can use custom fields in Where clauses but that turns 'with (optional)' into 'with (required)' #3972 (closed) -
Smart totals for monetary amounts: a listing of contributions £1, £2, $3 should show a total of £3, $3 not '6'. Many contribution reports need this. More generically, allow aggregates over more multiple fields but summing contribution amounts is possibly the main use case. #4207 (closed) -
accept GDPR fields
Reimplement in a framework other than AngularJS
AngularJS was released in 2010 with Google discontinuing support at the end of 2021. It is the primary javascript technology used in SearchKit and especially FormBuilder.
-
Research options including health and market share momentum of project/community, impact on developer experience, etc. Options might include React, Angular, etc. -
discuss with community at Manchester Sprint -
Develop scope and estimates for migrating to React as part of a large grant proposal -
develop prioritized epics for migration starting with some proof of concept LExIM extensions -
through MIHs and developer commitments plan how to resource a phased migration to the selected new technology option
Edited by JoeMurray