QZ Forms
Introduction to Form Development
The Form Development menu brings up a sub-menu with options for building forms.
- 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.
- "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.
- "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.
- "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.