grist-core icon indicating copy to clipboard operation
grist-core copied to clipboard

Native form support

Open paulfitz opened this issue 3 years ago • 11 comments

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.

paulfitz avatar Jul 19 '21 18:07 paulfitz

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.

almereyda avatar Aug 12 '21 14:08 almereyda

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.

almereyda avatar Sep 07 '21 22:09 almereyda

What are the requirements for such form interface?

I'd welcome something like:

  1. 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...) )
  2. 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.)
  3. please add your requirements in the following comments!

dumblob avatar Feb 23 '22 10:02 dumblob

Potential base building block: http://demo.bpmn.io/form (didn't check license compatibility with Grist though).

dumblob avatar Mar 11 '22 15:03 dumblob

Appsmith forms, and it`s Json form is the best reference IMHO https://www.appsmith.com/blog/introducing-json-forms-in-appsmith

yuturiy avatar Sep 18 '22 16:09 yuturiy

nocodb now has a form view for quite a long time, sufficient for record input

NexZhu avatar Jan 14 '23 04:01 NexZhu

@dumblob I would think to focus on just supporting basic forms first. None of the things you listed are common or essential?

endolith avatar Jul 11 '23 14:07 endolith

@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 avatar Jul 11 '23 17:07 dumblob

@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. image

endolith avatar Jul 11 '23 18:07 endolith

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?

bioanywhere avatar Jan 15 '24 16:01 bioanywhere

We're excited too. Odds are good of a first release this month (Jan 2024) @bioanywhere. It is currently our top priority.

paulfitz avatar Jan 16 '24 13:01 paulfitz