Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 27 Next »

This is the documentation for ConfiForms Server/Data Center app

However, this might also work for ConfiForms cloud and in most cases it does. But please see this page to understand the differences between server and cloud versions of the ConfiForms app.


The ConfiForms Plugin

ConfiForms uses Confluence page permissions to control form use. Users with 'edit' permission for a page have administrative rights for the form(s) that are defined on that page. By restricting 'edit' rights to the page, you will remove administrative rights to the forms for those users.

Each record registered with ConfiForms has an owner. This means that a user who owns the record can fully control it (if edit/delete is enabled by the administrator). Admin users of a form can register records to be owned by themselves, and also by other users. A form's administrative users can control all records saved by the form.

Each record in ConfiForms has the following associated metadata:

  • id - record id, unique uuid for every saved record
  • ownedBy - username of the user who owns the record (and can fully control it)
  • ownedByName - full name of the user who owns the record
  • createdBy - username of the user who has created the record (admin users can create records for other users)
  • createdByName - full name of the user who has created the record
  • created - timestamp when the record was created
  • dateCreatedFormatted - a more readable way to see created timestamp

All these metadata fields, in addition to the form's defined fields (definitions), can be referenced using the "ConfiForms Field macro" in these ConfiForms macros:

  • TableView macro
  • ListView macro
  • CardView macro

Quick tips

  • Each form has a name and belongs to a page. Use the form's name and the Confluence page where the form is configured to reference a ConfiForms Form
  • To define the form, use the ConfiForms Form and Field Definition macros
  • To  enable registrations  and display the formuse the ConfiForms Registration Control macro
  • To display the form with its own layout , use the ConfiForms Registration Control  macro body as a container for the form's design, placing ConfiForms Field  macros in the container that define the form's fields
  • To send email from ConfiForm, use an IFTTT macro placed inside the ConfiForms Form macro
  • To display saved data, use the ConfiForms TableView, ListView, or CardView macro
  • To customize the output , use the CSS rules for ConfiForms Fields macro
  • To configure dependent fields and relations between fields, use the ConfiForms Field Definition Rules macro 
  • To aggregate and merge the data from different ConfiForms Forms, use the ConfiForms TableView Merger macro

Macro documentation

ConfiForms Form

confiform

The main macro to define the entry form and its rules

ConfiForms Form nameformNameThe name of the form being created. This name be unique within the page and use alphanumeric characters [a-z, 0-9].
Registration form titleregistrationFormTitleThe title for the form to be displayed in the registration dialog.
Save button labelsaveButtonLabelThe text for the 'Save' button in the registration dialog.
Enable full auditenableAuditIf set, this enables a full audit, tracking all the changes made to the form and enabling a change history for versioning purposes. The form's admin users are able to see the log as a part of the admin user interface.
Lock formlockedUse this flag when the ConfiForm should be locked to stop additional records being stored.  Admin users will still be able to manage the form's data.
Lock messagelockedMessageThe message text that will be displayed to users when the form is locked.
Enforce one entry per useruniqueByUserConfiForms will ensure that only one record per user (ownedBy) is saved.
Restrict record view for non-admin usersshowOnlyOwnRecordsThis parameter limits access for non-admin users to records owned by the user will be visible to this user. Admin users will still have access to all the records.
Read-only after submissionreadonlyAfterRegistrationThis sets the form to be read-only once the user has submitted it. Users who have not yet submitted the form will still be able to do so.
Read-only messagereadonlyAfterRegistrationMessageWhen the 'Read-only after submission' parameter is set and the user has submitted the form, this text will be displayed.
Track maximum capacitymaxCapacityThe maximum number of records that ConfiForms will allow to be submitted.
Maximum capacity messagemaxCapacityMessageWhen the 'Track maximum capacity' flag is set and the maximum has been reached, this text will be displayed.
Allow data exportexportUse this parameter to enable data export for non-admin users.  The "Enable export" parameter on the TableView macro must also be set.
Enable ''Print'' buttonprintEnabledThis parameter will enable a print button on the form.
Display editable fields in Print viewprintEditableWhen this parameter is set, the form's fields will be displayed as editable entries in the Print view.  When not set, the fields will be shown as read-only labels. When checked
Additional form admin user names (or groups)additionalFormAdminsA comma-separated list of user names / user groups that should be treated as the form's administrators.  This parameter can be used to lock the form's configuration but enable full control over the form's data to certain users.
ConfiForms Field Definition

confiform-field-definition

The macro to use inside the ConfiForms Form macro to define the form's fields, their types, and behavior.

Field namefieldNameA required parameter which allows alphanumeric values; the name must be unique within the confluence page.
LabelfieldLabelThe label to be shown with a form element (for example, the caption for a button, the title for input fields, or the header when used in a ConfiForms Field in TableView or CardView).
RequiredrequiredIf this parameter is set, ConfiForms will ensure the field has a value and validate the user's input.
Field typetype

The field's type which defines how data can be entered in the field (datepickers for dates, dropdowns, etc.) according to these definitions:

TypeCompatibilityDescription
Text 4.3+A simple text input field.
Autolink 4.3+Create automatic links to resources based on a defined pattern. When used with an IFTTT macro to create pages, autolinks can reference the record owner as [owner]; the record modifier, as [modifier]; and any record field as [entry.FIELD_NAME] (except entry.id , which is not available when a record is about to be created)
Autonumber 4.3+The field's value is an auto-incremented number assigned automatically to each record. You can control how the number is displayed by using a mask (prefix) and an initial number. See Text masks and masked input.
Autopage 4.3+This parameter will record the source page where the record was submitted.
Calculated4.3+Set values for the field based on an expression which can reference record owner as [owner]; record modifier, as [modifier]; any record field as [entry.FIELD_NAME]. Important: the value is calculated only when an entry is created. See the "Formula" field type for a field which is recalculated on each edit. See Supported math operators and functions.
Checkbox 4.3+Display the field as a checkbox.
Checkbox group 4.3+Display the field's options as a group of checkboxes.
Date 5.0+A datepicker control which stores data in the format specified in the Confluence general settings for DateFormat.
Datetime 5.0+A datepicker with time control which stores data in the format specified in the Confluence general settings for DateTimeFormat.
Drawing canvas  4.3+A field for capturing simple drawings such as 'wet signatures,' for example.
Dropdown 4.3+A dropdown (or combobox) field to use for capturing user input.
Dynamic Dropdown 4.3+A dynamic dropdown (or combobox) field in which the values can be pre-defined or referenced from another form; includes an option for users to enter their own values.
Enroll button 5.0+A parameter to enable one-click registrations and enrolments.
File 4.3+A means to upload files and images. Uploads will be stored as attachments on the page where the ConfiForms form is defined.
Formula4.3+This parameter sets values for the field based on an expression which can reference the record owner as [owner], a record modifier as [modifier]; and any record field as [entry.FIELD_NAME]. Important: this value is calculated every time an entry is updated (and created). See the "Calculated" field type the field should NOT recalculated on each edit. See Supported math operators and functions.
Hidden 4.3+a hidden constant to be stored with the record
Link 4.3+convenient way to store links to other resources and show them as links
Masked Text4.3+Masked input for your text control. See here, how to define a mask: Text masks and masked input
Multiselect 5.1+Useful when multiple values for the field should be stored
JIRA issue4.3+You can reference a JIRA issue with this field. Requires an application link to be set up
Page/Blog post 4.3+Reference Confluence page or blogpost
Password 5.0+Password fields
Radio group 4.3+group of radio type inputs. Useful with surveys
Section 4.3+section placeholder for your form. Use it to separate fields logically
Simple date 4.3+3 dropdowns (year, month, day) for easier date selection
Smart classifier 4.3+sophisticated field type to allow users to enter data based on stored structured dataset. You can define as deep structure as you need.

Smart Dropdown

Smart Multiselect

Smart Radio buttons

Smart Checkbox

4.3+

Smart-multiselect 5.1+

a field to use for referencing the data from other ConfiForm forms. You can reference either other forms dropdown values or directly records stored (see the flag 'Reference to values').
Status 5.0+

easily group and visualize your data. Each status has own color, useful when you need to group (or label) your data.

Important

Filtering by status field is a bit complex. As each colour has a constant value which is used to store the data. Here is the list of statuses and constants to use:

ColourConstant
DEFAULTdefault
ERRORerror
CURRENTcurrent
SUCCESSsuccess
COMPLETEcomplete
MOVED moved
Textarea 4.3+shows user input in textarea field
User 4.3+User's lookup field, useful when you need to store a reference Confluence users
User (multiselect) 5.1+User's lookup field with ability to select many users
WYSIWYG 5.0+ (on 4.3 this controls is shown as textarea)simple editor, supports basic formatting styles

* Compatibility column shows Confluence version number this field type is compatible with.


Field descriptionfieldDescriptionSet's description text to the field used. Visible on the form, below the field
Visible only to groups/usersrestrictionsComma-separated group names/usernames this field is visible to. Leave blank if there are no restrictions
Editable only by groups/userseditRestrictionsComma-separated group names/usernames this field is editable by. Leave blank if there are no restrictions
CSS stylescssWill be applied on the fields input (If your intention is to have a customized output of the field, then you need to change a CSS on ConfiForms Field macro)
Validation rulesvalidationRegular Expression to use for fields input validation. See detailed documentation Automatic validation for your fields
Message to show when validation failsvalidationMessageMessage to be shown when validation fails. If not specified the standard message will be shown.
ConfiForms Registration Control

confiform-entry-register

Macro to define form's registration behaviour and the way how form is shown (dialog or embedded to page). You can have many 'Registration Controls' on different pages (or even on the same page) which use the same form (form definition)

When macro has a body defined then it will be used as an input for your form layout. To enable WYSIWYG mode you must have "ConfiForm Field" macros as a body of your "ConfiForms Registration Control" macro. You can place "ConfiForm Field" macros with any styling and any additional text.

If "ConfiForms Registration Control" macro is not defined (empty) a default layout will be used (table/card with key-value fields)

ConfiForms Form nameformNameName of the ConfiForm this registration control should be linked to. The parameter is required when the macro is used stand-alone (not inside the ConfiForms Form macro). Could be skipped when the macro is configured inside the ConfiForms Form macro (in this case form name is taken automatically)
Page name where the form is definedpageTitleLeave blank if the form is defined on the same page
Embedded or Dialog?embeddedCheck this option if you want to have your form embedded on the page, uncheck if you want your form as a pop-up dialog
Label for Registration buttonregistrationButtonLabelCaption for registration button used
Message to show after a record been createdregistrationMessage 
Set values as key-value pairs, separated by & (as request parameters)presetValuesWhere ''key'' is ConfiForms Field name and ''value'' is the value you want to preset, separated by &
Enable auto enrollautoenrollUseful when form has preset values (key-value pairs) and can be auto submitted. As you can have multiple registration controls for one form you can use "autoenroll" with predefine set of data to enable one-clieck submissions - works great when you want to capture yes/no feedback
Valid redirect URLredirectUrlURL to redirect after successful ''save'' operation if needed. Supports parameters/references to record fields. You can reference record owner as [owner]; record modifier - as [modifier]; any record field as [entry.FIELD_NAME]
CSS styles, separated by semicoloncssApplied on ''Registration'' button when Dialog mode is on (when in embedded mode this button is not shown)
Visible only to groups/usersrestrictionsComma-separated list of group names/usernames this field is visible to. Leave blank if there are no restrictions
Hide control when stored data matches this criteriahideIfMatchesSame syntax as in filters . The scope is ALL ConfiForms entries stored by the form referenced. The control will be hidden when the condition/filter given is met
ConfiForms Edit Controls

confiform-entry-edit

Macro defines Edit controls behavior for ConfiForms ListView and ConfiForms TableView

Inline edit or through the modal dialoginlineDefines how the record edit should be done: through dialog or inline on the page
Show both, Edit and Delete, buttons or just EditshowBothYou can restrict the 'Delete' action for users or allow both: Edit and Delete. If you want to restrict both: Edit and Delete then do not define the 'ConfiForms Edit Controls' macro
Label for Edit buttoneditButtonLabelCaption to use for edit button
Label for Delete buttondeleteButtonLabelCaption to use for delete button (delete button is actually a link in UI)
Message to show after a record been updatedupdateMessage 
Hide controls when stored data (for given record) matches this criteriahideIfMatchesSame syntax as in filters . The scope is one current ConfiForms entry. The control will be hidden when the condition/filter given is met
ConfiForms TableView

confiform-table

Macro to visualize your stored data as table, with instant search, filtering and data sorting/ordering

ConfiForms Form nameformNameName of the ConfiForm form TableView should use
Page name where the form is definedpageTitleLeave blank if the form is defined on the same page
Filter to apply on entries datasetfilterSee detailed documentation at ConfiForms Filters and/or in the tutorials
Ordering/Sorting rules to apply on entries datasetsortSee detailed documentation at Sorting in ConfiForms   and/or in the tutorials.
Enable instant search field over the table dataenableSearchAdds search input to the table to enable quick search/filter on stored data
Enable exportexportProvides a way to download forms content in CSV, XML and JSON formats. Admin users could always export ConfiForms data via the admin UI. For non-admin users, form's owner should enable support for data export via 'Allow data export' on ConfiForms form macro
PaginationpagerShowing records in sets (1, 5, 10, 20, 50, 100, 200 per page). If not configured then all stored records are shown
If set when the resulting page will be wrapped into a scrollable containerwrappedParameter to wrap tables in scrollable divs, useful for showing big datasets
CSS styles for TableView (table)cssCustom CSS to place on the table generated. To apply a CSS class - prefix it with 'class:'
Render a striped tablewithHighlightingHighlight every second row in a table
ConfiForms ListView

confiform-list

Macro to visualize your stored data in WYSIWYG view (also supports filtering and data sorting/ordering)

ConfiForms Form nameformNameName of the ConfiForm form TableView should use
Page name where the form is definedpageTitleLeave blank if the form is defined on the same page
Filter to apply on entries datasetfilterSee detailed documentation at ConfiForms Filters   and/or in the tutorials
PaginationpagerShowing records in sets (1, 5, 10, 20, 50, 100, 200 per page). If not configured then all stored records are shown
Ordering/Sorting rules to apply on entries datasetsortSee detailed documentation at Sorting in ConfiForms  and/or in the tutorials.
CSS styles for ListView (div)cssCustom CSS to place on the section (div) generated. To apply a CSS class - prefix it with 'class:'
ConfiForms CardView

confiform-card

Macro to visualize your stored data as vertical table (card), with instant search, filtering and data sorting/ordering

ConfiForms Form nameformNameName of the ConfiForm form CardView should use
Page name where the form is definedpageTitleLeave blank if the form is defined on the same page
Filter to apply on entries datasetfilterSee detailed documentation at ConfiForms Filters   and/or in the tutorials
Ordering/Sorting rules to apply on entries datasetsortSee detailed documentation at Sorting in ConfiForms and/or in the tutorials.
Enable instant search field over the table dataenableSearchAdds search input to the table to enable quick search/filter on stored data
Enable exportexportProvides a way to download forms content in CSV, XML and JSON formats. Admin users could always export ConfiForms data via the admin UI. For non-admin users, form's owner should enable support for data export via 'Allow data export' on ConfiForms form macro
PaginationpagerShowing records in sets (1, 5, 10, 20, 50, 100, 200 per page). If not configured then all stored records are shown
If set when the resulting page will be wrapped into a scrollable containerwrappedParameter to wrap tables in scrollable divs, useful for showing big datasets
CSS styles for TableView (table)cssCustom CSS to place on the table generated. To apply a CSS class - prefix it with 'class:'
ConfiForms Field

confiform-field

Macro to define a field to show within ConfiForms TableView, ConfiForms ListView or ConfiForms CardView macros

Field namefieldNameName of the field defined on the form referenced. In the macro preview mode you can see the field names registered within a form. Metadata fields (see above) are available always.
Show value with defined labelwithLabelLabel from ConfiForms field definition will be added as prefix before the field value
Hide if field value is emptyhideIfEmptyUseful, when you do not need to show the field when it does not have a value (in ListView/CardView)
CSS stylescssValid CSS styles (example: color:red;border:1px). Styles will be applied on a stored value.
ConfiForms IFTTT

confiform-ifttt

Macro to define the integration rules for ConfiForms forms (to be placed inside ConfiForms Form macro body). Macro body is used as message body, page content or request content (depending on an action type)

Macro body totally supports referencing records, You can reference record owner as [owner]; record modifier, as [modifier]; any record field as [entry.FIELD_NAME]. Including complex types: See "Subject for email / title for page / url for request" below for details

Eventevent
  • onCreated - when new record is created
  • onModified - when record is modified
  • onDeleted - when record is deleted
Action to performaction
  • Send Email - Send email to the list of participants, defined below
  • Create Page - Creates page based on a given template
  • Make request - Performs an HTTP request (GET or POST, depending on a macro body).
  • Send Notification - Send Confluence notification
  • Create ConfiForms Entry - creates ConfiForms entry in another form
Subject for email / title for page / url for requesttitle

Defines subject to use on emails, title to use for the page created, or url to be used as endpoint for HTTP request
Allows parameters and substitutions - could be constructed dynamically. You can reference record owner as [owner]; record modifier, as [modifier]; any record field as [entry.FIELD_NAME]

Complex fields (such as of type page/blogpost or user) are also supported.

ConfiForms entry

When referencing a smart classifier field. It has all the standard field, plus additional fields defined in the ConfiForms entry

id - record id, unique uuid for every saved record - [entry.FIELD_NAME.id]

ownedBy - username of the user who owns the record (and can fully control it) - [entry.FIELD_NAME.ownedBy]

ownedByName - full name of the user who owns the record - [entry.FIELD_NAME.ownedByName]

createdBy - username of the user who has created the record (admin users can create records for other users) - [entry.FIELD_NAME.createdBy]

createdByName - full name of the user who has created the record - [entry.FIELD_NAME.createdByName]

created - timestamp when the record was created - [entry.FIELD_NAME.created]

dateCreatedFormatted - formatted way to see created timestamp - [entry.FIELD_NAME.dateCreatedFormatted]

And other, non standard fields, defined in the ConfiForms entry.   [entry.FIELD_NAME.FIELD_NAME]

UserfullName - [entry.FIELD_NAME.fullName]
username - [entry.FIELD_NAME.username]
email - [entry.FIELD_NAME.email]
Page/BlogPosttitle - [entry.FIELD_NAME.title]
spaceKey - [entry.FIELD_NAME.spaceKey]
id - [entry.FIELD_NAME.id]
version - [entry.FIELD_NAME.version]

and other simple Page properties, which are available via getters

When you need to reference fields to create email body / page template / data to send to another service, you will need to use either ${} notation or the same notation as above using [entry.FIELD_NAME]. Both methods are supported. (see detailed example at  Using IFTTT macro for integrations )

ConfiForms entry

When referencing a smart classifier field. It has all the standard field, plus additional fields defined in the ConfiForms entry

id - record id, unique uuid for every saved record - ${entry.FIELD_NAME.id}

ownedBy - username of the user who owns the record (and can fully control it) - ${entry.FIELD_NAME.ownedBy}

ownedByName - full name of the user who owns the record - ${entry.FIELD_NAME.ownedByName}

createdBy - username of the user who has created the record (admin users can create records for other users) - ${entry.FIELD_NAME.createdBy}

createdByName - full name of the user who has created the record - ${entry.FIELD_NAME.createdByName}

created - timestamp when the record was created - ${entry.FIELD_NAME.created}

dateCreatedFormatted - formatted way to see created timestamp - ${entry.FIELD_NAME.dateCreatedFormatted}

And other, non standard fields, defined in the ConfiForms entry.  ${entry.FIELD_NAME.FIELD_NAME}

Important. The preferred way to reference such field types is using [entry.FIELD_NAME.property] syntax!

User

Current user is available under name "user"

fullName - ${user.fullName}
username - ${user.username}
email - ${user.email}
Page/BlogPosttitle - ${page.title} to reference current page or ${entry.FIELD_NAME.title} to reference page in form 
spaceKey - ${page.spaceKey} to reference current page or ${entry.FIELD_NAME.spaceKey} to reference page in form 
id - ${page.id} to reference current page or ${entry.FIELD_NAME.id} to reference page in form 
version - ${page.title} to reference current page or ${entry.FIELD_NAME.version} to reference page in form 

and other simple Page properties, which are available via getters
Participants (Users who receive notification or etc)whoList of users to receive the notification / list of users involved
Fire IFTTT action only when this condition/filter is metconditionIf left empty then IFTTT action is always executed when event is occurred. Same syntax as in filters. The scope is one current ConfiForms entry
Sender (or Parent page)extras

When "Send Email" action is setup you can specify the sender

When "Create Page" action is setup you can specify own page to be used as a parent page for these pages

Important to know that "Create ConfiForms Entry" action does not support propagation of " Create ConfiForms Entry " actions further. This is to avoid infinite loops (an entry creates an entry in another form using IFTTT macro, which creates another entry in the 1st form)

ConfiForms TableView Merger

confiform-table-merger

ConfiForms helper macro to merge TableView results

Macro takes RICH TEXT as an input, and you need to define which fields (ConfiForms Field macros) to show and which tables to merge (ConfiForms TableView macros). There is a support for expressions to be used when aggregating your data. Learn more in TableView Merger examples

Filter to apply on entries datasetfilterSee detailed documentation at ConfiForms Filters   and/or in the tutorials
Ordering/Sorting rules to apply on entries datasetsortSee detailed documentation at Sorting in ConfiForms   and/or in the tutorials.
Enable exportexportProvides a way to download forms content in CSV, XML and JSON formats. Admin users could always export ConfiForms data via the admin UI. For non-admin users, form's owner should enable support for data export via 'Allow data export' on ConfiForms form macro
PaginationpagerShowing records in sets (1, 5, 10, 20, 50, 100, 200 per page). If not configured then all stored records are shown
Render a striped tablewithHighlightingHighlight every second row in a table
For examples see documentation in  Merge and aggregation for ConfiForms  and for advanced techniques:  Advanced aggregations in TableView Merger
ConfiForms Field Definition Rules

confiform-field-definition-rules

Macro to configure how ConfiForms Field Definitions are related. Supports creating complex relationships between form fields, based on selections, values entered and so on. To be used inside the ConfiForms Form macro to define rules for Field Definitions

Field nameactionFieldNameName of the field you want to track
Actionaction

Action to perform

  • Show field
  • Hide field
  • Set value
ConditionconditionAction will be executed when condition is met. Same syntax as in filters . The scope is current entry/record
Actionable field namefieldNameWhen 'Show/Hide field' action is used you can specify which fields are affected. List of field names should be given as comma separated
Values to setvalues

When 'Set value' action is configured you can specify which fields and values to be set. Set values as key-value pairs, separated by & (as request parameters). Where ''key'' is field name and ''value'' is the value you want to set

CSS Rules for ConfiForms Fields

confiform-field-css

Macro to use when you want to show fields differently, based on their values. To be used inside the ConfiForms TableView, ConfiForms ListView or ConfiForms CardView macros

Field value or expression to matchconditionYou can use values or expressions, similar to filters. See detailed documentation on filters: ConfiForms Filters. The scope for filtering is the whole dataset (depends on a container macro where this macro is used, as the dataset is passed from container macro)
Field namefieldNameName of the field this rule should be applied on, if left empty then rule is applied on the row
CSS to apply when condition is metcssValid CSS styles, separated by semicolon (example: color:red;border:1px). Styles will be applied on a field (if given) or on a row when used within table (container div when used in ConfiForms List) if field name is not set

 

How to reference ConfiForms field:

from IFTTT macro body

  • [entry.FIELD_NAME]
  • ${FIELD_NAME} (see IFTTT macro documentation for more details)
  • using ConfiForms Field Macro, when IFTTT is used to create a page. In this case the value will be dynamic
from IFTTT macro title parameter[entry.FIELD_NAME]
ConfiForms Registration Control, redirectURL parameter[entry.FIELD_NAME]
in Calculated/Formula field, when constructing an expression[entry.FIELD_NAME]

 

 

 

  • No labels