Defines Object Based forms for use with Drupal Form API.
Pull request Compare This branch is 47 commits ahead of nigelgbanks:7.x.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github
build
tests
.gitattributes
.travis.yml
CONTRIBUTING.md
Form.inc
FormElement.inc
FormElementRegistry.inc
FormPopulator.inc
FormProperty.inc
FormPropertyInterface.inc
FormStorage.inc
FormValueTracker.inc
FormValues.inc
LICENSE
README.md
Utils.inc
build.xml
objective_forms.api.php
objective_forms.info
objective_forms.module

README.md

Objective Forms Build Status

Introduction

The Objective Forms module contains a series of functions and classes that allow Drupal forms to be treated as PHP objects. It provides back-end support to XML Forms so that Drupal's built-in form functions and classes can be used when filling out metadata.

Some important notes:

  • Each form element is assigned a unique hash Form Property to identify it, as #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.
  • Forms will be auto-populated from $form_state['values'].
  • There is a FormStorage class that can be used to store any persistent data.

Requirements

This module requires the following modules/libraries:

Installation

Install as usual, see this for further information.

Configuration

N/A

Documentation

Further documentation for this module is available at our wiki.

Troubleshooting/Issues

Having problems or solved a problem? Check out the Islandora google groups for a solution.

Maintainers/Sponsors

Current maintainers:

Development

If you would like to contribute to this module, please check out CONTRIBUTING.md. In addition, we have helpful Documentation for Developers info, as well as our Developers section on the Islandora.ca site.

License

GPLv3