Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Modify FAQ

...

Objective Forms

This module allows for the creation of Object Based Drupal Forms. It provides a number of functions and class for processing/populating forms.

Some important notes.

  • Each Form Element is assigned a unique hash Form Property to identify it, #hash.
  • Each Form Element that is created is stored in a registry and it will persist though out the lifetime of the form even if it's removed from the form. Ancestry of Form Elements is stored so if a Form Element is cloned we will be able to determine the Form Element that it was cloned from.
  • Form Properties can be objects. To define new Form Properties implement the hook objectify_properties.
  • Forms will be auto-populated from $form_states[‘values’].
  • There is a FormStorage class that can be used to store any persistent data.

Anchor
formapi
formapi
Islandora XML Form API

...

  • The form to be processed.
  • The Form Properties needed to manipulate XML
  • The XML document to be manipulated
  • The actions required to generate repeating Form Elements (tabs,tags) from the XML document
  • The schema needed to determine the insert locations of elements and the validation requirements. (included via the Islandora XML Schema API)

Anchor
schemapi
schemapi
Islandora XML Schema API

This module provides functions for processing Schema files. It's used to determine where to insert XML Nodes, and how to validate them.

Anchor
formelements
formelements
Islandora XML Form Elements

This module defines custom Drupal Form Elements along with AHAH callbacks.

...

Q. Can I convert an existing field to any form element type listed in the "Type" options under the "Common Form Controls" tab (or create new form elements using any form element type)?

A. No.

The following element types are not supported for full CRUD (create/read/update/delete) operations:

  • checkbox
  • checkboxes
  • date
  • file
  • managed_file
  • password_confirm
  • radio
  • radios
  • tableselect
  • vertical_tabs
  • weight
  • button
  • image_button
  • submit

Additionally, some form element types must be nested within another type.  For example, tabpanel must be nested within tab.