Page tree

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

Compare with Current View Page History

« Previous Version 15 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.


ConfiForms plugin documentation

ConfiForms plugin uses Confluence page permissions to restrict usage of forms. Users with 'edit' permissions on a page have administrative rights for the form(s) defined on this page. By restricting 'edit' rights to the page you will remove administrative rights for users.

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

Each record in ConfiForms has an 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 - formatted way to see created timestamp

All these metadata fields (additionally to your own defined ConfiForms fields (definitions)) could be referenced using the "ConfiForms Field macro" in

  • ConfiForms TableView macro
  • ConfiForms ListView macro
  • ConfiForms CardView macro

Quick hints

  • Each form has a name and belongs to page. To reference a ConfiForms Form you have to know it's name and Confluence page where it is configured
  • To define the form you need: ConfiForms Form and ConfiForms Field Definition macros
  • To enable registrations and show the form you will need: ConfiForms Registration Control macro
  • To show the form with own layout you will need ConfiForms Registration Control macro and use this macro body as a container for your form designs, place ConfiForms Field macros there referencing your form fields (ConfiForms Field Definitions)
  • To send email from ConfiForms you will need an IFTTT macro placed inside your  ConfiForms Form macro
  • To show saved data use ConfiForms TableViewConfiForms ListView or ConfiForms CardView macros
  • To customize the output, use CSS Rules for ConfiForms Fields macro
  • To aggregate and merge the data from different ConfiForms Forms use ConfiForms TableView Merger macro

Macro documentation

ConfiForms Form

confiform

Main macro to define the entry form and it's rules

ConfiForms Form nameformNameName of the form you are creating. Must be unique within the page and alphanumeric. Allowed symbols are [a-z]
Registration form titleregistrationFormTitleTitle for your form to be shown on registration dialog
Label for Save button shown on registration formsaveButtonLabelText to show for 'Save' button on registration dialog
Enable full auditenableAuditIf set, enables full audit. Tracks all the changes made and enables change history. Form admin users are able to see the log as a part of Admin UI
Lock formlockedFlag to be used when ConfiForm must be locked for new registrations. Admin users will still be able to manage form's data
Message to show when the form is lockedlockedMessageWhen the form is locked a message with given text will be shown to users
Enforce one entry per useruniqueByUserConfiForms will ensure one record per user (ownedBy) is saved
Shows only own records to non-admin usersshowOnlyOwnRecordsIf parameter is set then only records own by the user will be visible to this user. Admin users will still see all the records.
Form is read-only after registrationreadonlyAfterRegistrationSet's the form to be readonly after user have registered. Form will be readonly only for the user registered. Users who have not yet registered will still be able to register.
Message to show when a form is read-only and user has already been registeredreadonlyAfterRegistrationMessageWhen the flag 'Form is read-only after registration' is set and the user has registered the message will be shown with the text specified
Track maximum capacity (records number)maxCapacityConfiForms will allow only given number of registrations
Message to show when maximum capacity is reachedmaxCapacityMessageWhen the flag 'Track maximum capacity (records number)' is set and the maximum has been reached the following message will be shown to the user with the given text
Allow data exportexportIf you want to enable data export for non-admin users (You will still need to set "Enable export" parameter on the TableView macro)
Enable form's ''Print'' buttonprintEnabledIf set, then the form has a print button enabled
Show editable fields in Print viewprintEditableIf un-checked the fields in print view will be shown as read-only labels. When checked the form fields will be shown as editable fields
Additional usernames (or user groups) that should be treated as form administratorsadditionalFormAdminsComma separated list of usernames / usergroups that should be treated as form admins. Useful, when you want to lock down the form configuration but enable full control over the form's data to certain users
ConfiForms Field Definition

confiform-field-definition

Macro to use inside the ConfiForms Form macro to define form fields, their types and behavior

Field namefieldNameAllows alphanumeric values and must be unique within the form defined
LabelfieldLabelLabel to be shown with item (caption for button, title for input fields, header when used through ConfiForms Field in TableView/CardView)
RequiredrequiredIf set then ConfiForms will validate the user's input for given field and ensures it is set
Field typetype

Type of the field. Defines how the field is entered (datepickers for dates, dropdowns, etc). See exact definitions for more details.

TypeCompatibilityDescription
Text 4.3+simple text input field
Autolink 4.3+You can create automatic links to resources based on a defined pattern. Very useful when used together with IFTTT macro to create pages. You can reference record owner as [owner]; record modifier, as [modifier]; 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+Field value is an auto incremented numeric value which will be assigned automatically to each record. You can control how the number is shown: by using mask (prefix) and initial number. See Text masks and masked input
Autopage 4.3+Track the source of the record. Page where record was added will be automatically tracked
Calculated4.3+Enables you to set values for the field based on the expression.You can reference record owner as [owner]; record modifier, as [modifier]; any record field as [entry.FIELD_NAME]. Important: value is calculated only when an entry is created. See "Formula" type field if you need a calculable field which is recalculated on each edit. See Supported math operators and functions
Checkbox 4.3+checkbox type of field
Checkbox group 4.3+group of checkbox type inputs
Date 5.0+Datepicker control, stores data in the format specified in Confluence general settings for DateFormat
Datetime 5.0+Datepicker with time control, stores data in the format specified in Confluence general settings for DateTimeFormat
Drawing canvas  4.3+for capturing simple drawings from users (good for 'wet signatures' for example)
Dropdown 4.3+a dropdown (or combobox) field to use for capturing user input
Dynamic Dropdown 4.3+a dropdown (or combobox) field, values could be pre-defined or referenced from other form with ability for users to enter their own
File 4.3+to upload files/images. Files will be stored as attachments on the page where the ConfiForms form is defined
Formula4.3+Enables you to set values for the field based on the expression. You can reference record owner as [owner]; record modifier, as [modifier]; any record field as [entry.FIELD_NAME]. Important: value is calculated every time when an entry is updated (and created). See "Calculated" type field if you need a calculable field which is 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
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 
Message to show after a record been updatedupdateMessage 
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)
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. 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.

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 ${} notation (see detailed example at  Using IFTTT macro for integrations )

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

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
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