QZ Forms

Introduction to Form Development

The Form Development menu brings up a sub-menu with options for building forms.

form dev menu
Menu Menu
A menu of functions to maintain menus.
Forms
A list of forms defined and the option to create new forms.
js files
css files
Javascript and style sheets can be created, edited and served from the database.
form set
A form set allows data fields in a form to be included in the menu items on a page. Define the form set here, then set it on forms and menu items.
templates
A future version will allow placement of items on a page via a drop down. This is where the custom templates can be documented to support this feature.
Status
Detailed information about the current state of qzforms.

Menu Menu

User Menus
Assign a specific menu to be a users main menu.
All Menus
Maintain the menu structure

All Menus

Menu Edit
List, add, or update menu items.
menu_name
The primary key of the menu table. Note that you can't change the primary key.
target_div
This is the id of a div element in the form template into which the menu is placed.
description
For your reference
form_set_name
A form set allows menu items to carry attributes forward from one form to another. form_sets.html

A menu has three components.

  1. "menu_edit" is a header record. It identifies the menu name and an html tag id for a div element that exists in the xml template that will contain the menu.
  2. "menu_item_edit" is a onetable interface to the individual buttons on a menu. Each menu item points to a form name and an action.
  3. "menu_set_edit" is a grid interface to the forms that contain the menu.

A menu item can carry "context". Context is one or more attributes from the current page that are carried forward to the action the menu indicates.

A menu item may also have one or more fixed parameters. A fixed parameter is an name value tuple sent with the requested menu action. For example, an item key can be specified to create a menu button that edits one particular record or a form can be limited to a subset of records.

Form

Selecting "Edit" will bring up the top level form details and a list of menu options on the left.

form_name
A unique id for a form. The name must be free of white space, brackets, punctuation, and be less than 64 bytes long.
handler_name
The name of a function that will turn a PostgreSQL query result into an html form. Sometimes refered to as a pattern, as in the onetable patern or grid pattern. Each pattern will support a fixed lists of table actions.
schema_name
table_name
The schema and name of the table being edited. The internal PostgreSQL data dictionaries are queried to retrieve a a description of the attribute. This is used in creating the data entry prompt.
xml_template
An xml file in the templates directory of a qzforms installation. Two are provided, login.xml and base.xml. login.xml is different in that it can not reference js and css files hosted by qzforms. A template should be pedanticly valid xml. It may contain any html elements that the form developer wants included on every page, such as js, css, images, boiler plate text or links.
target_div
The xml template must have a div tag with the id specified, e.g. <div id='qz'>. The form created will be placed in the div specified.
add_description
If set, any field comments created by the sql command
COMMENT ON COLUMN schema.table.attribute IS sometext will be displayed next to the field prompt in the onetable pattern. No effect elsewhere, such as the grid patter.
prompt_container
The prompt, such as a <input type=text...> prompt will be placed inside the element given. This should be "fieldset" for onetable items and "no_container" for grid items.