Kexi/Plugins/AutoForms

From KDE Community Wiki
< Kexi‎ | Plugins

AutoForms are not implemented in KEXI but will be very useful.

History

  • 2005: There was old code in plugins/autoforms/ directory in Kexi 0.x quickly disabled
  • 2005: Form Templates/Wizards discussion started by ccpasteur, jstaniek
  • 2014: plugins/autoforms/ removed in Sep in Kexi 2.9. Original maintainer was Adam Pigg.

Introduction

  • For a quick introduction to AutoForms see this find a book or tutorial for MS Access.

To automate forms creation, one needs some sort of template that can be used to generate the form when only input data source and certains form configuration/parameters are available.

There are several approaches to form templates. Two main approaches can be identified: real AutoForms and forms generated by an assistant.

AutoForms

Real AutoForms gives a certain amount of automation and round-tripping. A user access to certain settings provided by a template, visual or behavioral. There is no generation of physical form that can be later edited by the in the Design view. Instead the user can further alter the settings later.

Advantages:

  • The change of form's data source is reflected in form design automatically. For example, new fields are added, removed fields disappear, changes made to types are recognized in the choice of form widgets.
  • Potentially, the form design can be later used to automatically generate forms for different media such as web or mobile interfaces with similar look and feel.

Disadvantages:

  • The user is unable to edit deep details of every fragment of the form, such widgets or their relative position, as long as the template parameters are not sufficient to perform the task. So the feature set of templates should be sufficient for real use cases.

Forms generated by an assistant

These forms are fundamentally different from the "real" AutoForms because after the form generation, ordinary form is created and saved in the project. Such form can be then open the Design view and modified as it would be created by hand from scratch by the user.

Advantages:

  • The user has power to deeply alter the form design according to the needs, copy, remove or duplicate form's elements

Disadvantages:

  • Subsequent changes to the form's data source have no effect on the form's layout at all. This is not different from forms created by hand.

Common aspects of AutoForms and Form assistants

  • Regardless of the type of the form automation, the routines that generate forms based on data source design and metadata can be a single shared code. (this aspect shall be in sync with the planned use of Python as the KEXI-wide scripting standard)
  • It is advised that the logic of templates is implemented in a scripting to facilitate modification of power users and partners.