Form Builder
Imported From: http://groups.google.com/group/in-portal-dev/browse_thread/thread/b42f5dcc6961d0d7#
Recently I was thinking about how hard it is to customize a form (in Admin Console).
Right now when a ModuleA wants to customize a form from ModuleB it copied TPL file to it and makes necessary changes, like this:
- moduleA/sample_form.tpl
- copy "moduleA/sample_form.tpl" to "moduleB" folder
- change "moduleB/moduleA/sample_form.tpl"
This will work, but when original template in moduleA is changed (e.g. during upgrade to next version), then no changes are propagated to copied template.
I'm suggesting a concept of "Form Builder", where you actually define what is located where in a manageable format (e.g. in PHP array format) and then each module can customize that configuration (add/remove fields where it needs).
Basically each form in admin console consists of 3 blocks:
- header - usually not changed
- toolbar definition - buttons you see on a toolbar
- subsections with form elements - that's changed usually
This all will keep single column layout.
I guess we need to visual editor to build that array, like this one: http://www.wufoo.com/docs/form-builder/