The Objective Forms module provides functions and classes that allow Drupal forms to be treated as objects in the Fedora repository. It 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 is was cloned from.
- Form Properties can be objects. To define new Form Properties implement the hook objectify_properties.
- Form’s will be auto-populated from $form_states[‘values’].
- There is a FormStorage class that can be used to store any persistent data.