Portail ZAPP forms describe the information to enter: the form of a catalog service, the form of a process step, and those of other modules that use them. A form is designed once, here, then each module designates it by its code.
The Forms screen (menu Administration › Catalog and workflow › Forms, /dynamicforms/admin) is open to Administrators and Form administrators. The menu entry is visible to both groups.
Versions and drafts
A form evolves through versions. Every change is made on a draft; a published version can no longer be changed. Publishing a draft archives the version published until then: nothing changes for users until the draft is published.
The form list shows, for each form, its Code, its Name, the Published version (Never published if there is none) and the number of Versions.
- Resume draft reopens the current draft;
- New version opens a draft, a copy of the published version: fields, values and rules included. If a draft already exists, that draft opens.
Create a form
New form asks for a Code (a stable identifier used by other modules; it cannot be changed later), a Name, entered in your language, and a Kind: Form (default), Quiz or Question bank (see "Create a quiz"). The form is created with a first version as a draft, which opens right away.
A form's name cannot be changed or translated from this screen: choose it carefully.
Build the fields
A version's screen shows the Preview of the form as the user will see it. On a draft:
- the Elements palette, next to the preview, offers every field type (Input fields) and Layout element. Drag an element into the preview, where you want it: the new field's card opens with that type and that position. Dropped next to a field that does not fill its row, it takes the remaining room; dropped below a field, it starts a new row. In a form that is still empty, the Position menu shows At the end. Clicking an element (or pressing Enter) opens the card with that type; the Position menu (At the end, At the beginning, After "…") then says where to insert it;
- Add a field opens the card of a new field;
- clicking a field's label, or its pencil, opens its card (Edit field);
- the Rename here button, next to the label, makes it editable in place: type the new label, Enter to confirm, Esc to cancel. It is written in the screen's language; the other languages are entered in the card;
- a field's handle (Move the field) changes its position, with the mouse or the up and down arrow keys. With the mouse, dropping the field below another one ticks Start a new row, dropping it next to one clears it; with the keyboard, the field keeps that setting. A field that starts a new row shows a line-break arrow under its handle;
- a field's edges set its place on the row: the right edge its width, the left edge its offset. They stop on the grid columns (12 per row), shown during the gesture. With the keyboard, left and right arrow keys on an edge: the right edge changes the width, the left edge moves the field without changing its width (with the mouse, the left edge moves and the right edge stays in place). The card's Width and Offset menus do the same;
- a badge marks a field that triggers a dependency rule (lightning) or is targeted by a rule (signpost); a click leads to the rules concerned, highlighted.
If another administrator changes the fields of the same draft while you are composing, the screen reloads rather than save a layout that would no longer match what they see.
Enter values in the preview to see the dependency rules apply: nothing is saved.
A field's card asks for:
- Identifier: the technical name of the field, unique in the version. Processes, rules and variables refer to it;
- Type: Text, Multiline text, Rich text, Number, Email, Date, Time, Date and time, Date range, Date list, Checkbox, Fixed list, Multiple selection, Query-backed list, Cascading selector, User selector, Me or someone else, CMDB object selector, Attachment, Signature, Computed value, Computed value (external process), and the elements without input Label (displayed text), Section title, Help text, Separator;
- Required and Width (Full width, Two thirds, Half, Third, Quarter);
- Offset: the columns left empty before the field, on its row (a row has 12; an offset that would push the field past the row is not offered). On a phone, every field takes the full width again, without offset;
- Start a new row: the field goes below the previous ones even if their row is not full — for example a Half field under another Half field, without full width or offset. Its width and offset do not change. No effect on a phone, where fields are already stacked;
- Label: one entry per active language; the default language's entry is required.
Depending on the type, other settings appear:
- for lists, the Value source (Fixed values, a Query chosen among those of the Queries module — first column: stored value, second: displayed label —, or Provider) and the Presentation (Dropdown, List, Radio buttons, Checkboxes); Max. choices for a multiple selection; Depth (1 to 10 levels) for a cascading selector;
- the Offered values card for fixed values: a New value, its label per language, and for a cascading selector its Parent value;
- Checkbox labels (Label when true, Label when false) for a checkbox;
- Minimum value, Maximum value and Initial value for a number: a fixed number, or a variable such as
{{field.slug}}(the value of another field). A bound that cannot be resolved, or is inconsistent, is ignored; - Display template for a computed value: a text with
{{field.slug}}tokens, updated while typing and frozen on submission; - Users offered for a user selector or "Me or someone else": Requester's organization (default) or Members of selected groups (Groups list). The requester only sees names, never addresses. If the Organizations module is disabled, all active users are offered; if it is enabled, a requester without an organization only sees themselves (in that case, choose groups, for example the group of all users). A form never offers the whole directory, since requesters fill it in;
- Selectable CMDB object types for a CMDB object selector (no selection: all types);
- Values designate Workflow requests: the value is then shown as a link to the request;
- Height (lines) for a multiline text or a rich text: 2 to 30 lines; empty, the default height.
Delete removes the field; dependency rules relying on it are deleted or narrowed.
Titles, help texts and separators
These elements structure the form without asking for anything: they are never submitted nor required (the Required box disappears).
- Section title shows its label as a heading;
- Help text shows a formatted text (bold, lists, links), entered in the Displayed text card, one area per active language. The card opens by itself after the element is added. The label is not shown: it names the element in the editor and the rules;
- Separator draws a horizontal line; its label is not shown either.
A rule can show or hide these elements, for example a title together with the fields of its section. They cannot trigger a rule, however: they have no value.
Publish
At the top of the version, a box says whether it can be published, or lists the reasons preventing it: no field, two fields with the same identifier, an incomplete or inconsistent rule, a required field that can never be shown, a list value without a label in the default language… Publish is only active when nothing blocks. Once published, the version becomes read-only.
Good to know
- A form cannot be deleted from this screen.
- Answers entered in a form are viewed from the screen that uses it (the catalog request, the process step…): the Dynamic forms module has no answers screen.
- An attachment is limited to 50 MB and requires the Files module.
See also
- "Dependency rules and variables": show, hide or require a field depending on the answers.
- "Configure the elements of a process": use a form in a step.