grist-core
grist-core copied to clipboard
Native form support
Grist has a card view that is similar to forms. A polished form experience would be useful to add, in addition to the existing option of integrations via e.g. Zapier.
I would like to share some takeaways from an ongoing research into participatory forms environments, from which KoBo Toolbox, Oh My Form! and Nextcloud Forms can be used as good examples for further idea harvesting.
From Drupal Webforms I would like to highlight the very flexible email response module, which not only allows to use templates in messages and multiple outbound paths, e.g. for an administrative notification about a new entry to oneself, and another reply fabricated in direction of the user, recapitulating the entry and offering further interaction possibilites.
Which use cases would you like to see supported from an alternative to "Google Forms" and "Airtable Forms"?
For me having all this data available via a documented API is already worth the effort.
To extend from the examples of common form editors, we can also look at other No Code environments, to see how they solve the question:
- https://github.com/nocodb/nocodb intent to build a form view, but only announced it
- https://gitlab.com/bramw/baserow have a nice form builder with a lovely public interface, but cannot trigger emails
- https://github.com/saltcorn/saltcorn brings a complex data and form builder, plus allows to configure triggers to send emails by itself
- https://github.com/Budibase/budibase also brings interfaces for data modelling, visual design and automation of triggered processes
For all of those Docker (Compose) examples are available to try out.
Given the examples in https://support.getgrist.com/zapier/ the use cases (1) to receive form inputs and (2) to send confirmation mails are very common. Having these natively within grist, and fully self-hosted without reliance on 3rd-party APIs, will allow for deployment of this function in privacy sensitive environments.
What are the requirements for such form interface?
I'd welcome something like:
- it's "live" (i.e. it can react to user input as well as to backend data changing - e.g. if an input validator depends on some existing backend data and someone changes the data during me filling in the form, I'd like the form to use these newest data in the validator without manually stopping filling the form and reloading it (potentially losing my filling work...) )
- it supports input of "rich data" (especially those which can be easily visualized - pictures, videos, tables, charts, vector graphics, drawings - yes a simple drawing would be very useful, rich text - in the form discussed in https://github.com/gristlabs/grist-core/issues/67 , etc.)
- please add your requirements in the following comments!
Potential base building block: http://demo.bpmn.io/form (didn't check license compatibility with Grist though).
Appsmith forms, and it`s Json form is the best reference IMHO https://www.appsmith.com/blog/introducing-json-forms-in-appsmith
nocodb now has a form view for quite a long time, sufficient for record input
@dumblob I would think to focus on just supporting basic forms first. None of the things you listed are common or essential?
@endolith the point (1) is an absolute must have as Grist is all live and making something non-live would break the whole product.
And to the point (2), I agree that all such functionality must not necessarily be part of the first release. Yet I am certain that it should be part of the roadmap and thus at least from the UX perspective be already "present" in the very first release as otherwise it would be super hard to change UX.
@dumblob Maybe you're talking about a different meaning of the word "form"? A form is a static page, you enter data into each field, and then press Submit, and the data gets added as a new row in the table.
Hi, I'm just checking in on the progress of this task. I'm excited about the new native forms. Do you have an estimated date for when they'll be available?
We're excited too. Odds are good of a first release this month (Jan 2024) @bioanywhere. It is currently our top priority.