Using patternslib clone for repeating fields in a formbuilder

Continuing the discussion from PloneFormGen: Datagridfields - Make it possible to add multiples of one form field type:

According to the description:
http://patternslib.com/clone

The clone pattern is typically used in case you want to create a form on which it is unknown how many instances the user will need of a certain field or group of fields.

This sounds like the "correct" alternative to a datagridfield/widget (at least in "Plone land").

I think there are two ways forward.

  1. add clone support for groups of fields to collective.easyform
  2. ensure that clone support is part of the experimental angular based form builder that @tareqalam started to work on in Barcelona.

Just for information purposes.
It is possible to get PloneFormGen and Datagridfield working on Plone 5.
I had success by adding Products.PFGDataGrid, the latest versions of PFGDataGrid and DataGridField do work with Plone 5.

eggs +=
     ...
     Products.PloneFormGen
     Products.PFGDataGrid

My preference is to move to something dexterity based or even better stores the form schema as json, like what @tareqalam is working on (see: GitHub - tareqalam/plone.formbuilder: an addon to build form using javascript).

Until then... PloneFormGen + PFGDataGrid

Thoughts? Am I overlooking another form builder project compatible with Plone 5 that already uses the clone pattern?

we use https://github.com/collective/collective.easyform for plone 5 ...

Last I checked collective.easyform didn't have cloning of repeatable fields but maybe I missed it.

Why is pat clone better than
collective.z3cform.datagridfield ?

With pat clone you can duplicate a fieldset. As far as I see with datagrid it uses a row approach which has limitations for the number of fields in a row.

you could use:

I'd like to see this stuff out of the box (speaking from ignorance, I'm installing easyform now), so maybe BlockDataGridFields are already supported by easyform. Will get back to you.

Out of the box, collective.easyform does not appear to provide datagridfield or blockdatagrid field:
see screenshot of available fields:

missing in the screenshot are URL, Yes/No and Choice

i dont think adding it would be more difficult than adding pat clone (

you can probably do it by editing the xml-schema, though