decidim-ice / decidim-module-decidim_awesome

Additional components and Opt-In usability and UX tweaks for Decidim.
GNU Affero General Public License v3.0
24 stars 24 forks source link

[Feature] Custom registration form #141

Closed Quentinchampenois closed 2 years ago

Quentinchampenois commented 2 years ago

Description

As discussed at the Decidim Fest we'd like to implement a feature that allows admins to add fields on the decidim registration form. You'll find attached a spec document for this feature.

You suggested to use the same approach that used for custom proposal forms which uses jQuery formBuilder library and allows to define HTML form inputs which you store as XML document in the Decidim DB.

We are a little concerned that this approach could have performance issues on the sign up form page which can be under heavier traffic since it's a common entry point for new users, which is not the case for the proposal form which is only accessible to logged in users.

On the current sign up page we generate the form once, using jQuery formBuilder will add 2 steps : loading the js library and performing the modifications on the DOM.

Before we started implementing this we researched another idea that came up before we came to the Decidim Fest which consist of using the decidim content blocks (used in the homepage and process group pages). Which has the benefit of using something that's Decidim native. The drawback obviously is that we'd have to create a block by input type and might be too rigid to work with in the future.

For comparison we will try to implement the feature with form https://formbuilder.online/ to see how it goes.

We thought we'd share our interrogations in here so we could you have your opinion on this. Thanks in advance and congrats on the awesome work 😉.

Attached documents

virgile-dev commented 2 years ago

@microstudi could you provide us feedback please ? Thanks in advance :)

microstudi commented 2 years ago

Hi @virgile-dev @Quentinchampenois sorry for being unresponsive.

Your document looks indeed nice. This are my first impressions, I can be flexible 😁

Quentinchampenois commented 2 years ago

Hi, thank you for sharing these points !

I agree with the need of flexibility, this is why we will probably implement this feature using FormBuilder and keeping in mind the need of anonymity.

Quentinchampenois commented 2 years ago

Hello Ivan,

Best wishes for 2022. We worked on implementing the custom registration form feature based on your work for the custom proposal fields. We have implemented the JS FormBuilder as you did however it didn’t concluded successfully. Hence we’ll be closing this issue.

For sure we’ll have other opportunities to contribute on Decidim awesome however we think this feature might be too heavy to maintain in the future and add some complexity in the module.

Product wise we realized that offering too many options for admins to configure their registration form might open the door to overly complicated forms for the users.

As a result, we’ll working on a dedicated module which first version will feature predefined fields (age, gender, zip code).