Page tree
Skip to end of metadata
Go to start of metadata

This is the documentation for ConfiForms Server/Data Center app

You cannot downgrade from version 2.x to version 1.x automatically (without manually re-importing datasets with recovery APIs)

Upgrading from 1.x to 2.x is done for you automatically, with data migration. See release notes for the version 2.0.1

We advise you to take extra care with upgrading to version 2.x+ from 1.x branch and test your form configurations in your test environments first, before upgrading your live environments.

If you have any questions about upgrading to ConfiForms version 2.x or have any issues, please contact us via Support Request Form

See also Known issues

Development versions could be found here:

Since ConfiForms app version 2.x we publish release notes here 

 Development plans...
  • (Smart) multi row field - new field type to help with "inline" creation of master-details structures
  • "ConfiQuery" field type to help you to link other form's data and associate it with a particular field/row in your current form
  • New ConfiForms IFTTT action Rename attachment 

Version 2.14.2 (in development)

  • Improved Formula re-calculation on "view" when it uses reference to [entry._now], [now] or [entry._today]
  • ConfiForms IFTTT to remove labels now accepts a wildcard to support removing all page labels at once
  • ConfiForms IFTTT to copy attachments now supports associating the field with it and associating copied attachments with this field (supports file/attachment picker fields as storage)
  • Fixed issue with AUI tabs rendering in ConfiForms configuration screens in Confluence 7+,
  • Fixed issue with ConfiForms TableViewMerger and pure "count" operations. When [count] or [total] is used solely, without any other field reference / formula 
  • Fixed issue with rendering the empty value for the attachments field

Version 2.14.1

  • Fixed export for "audit" forms (Using new Audit IFTTT action)
  • Fixed issue with "double dashes" in the responses or templates (when Velocity templating is enabled)
  • Improved virtual functions: "replaceWith" and "asFilteredBy" to support dynamically looked up parameters (via [entry.field_name])
  • Fixed issue with attachment deletion when ConfiForms dataset has incomplete reference to the Confluence attachment or attachment was removed earlier (by user, using Confluence built-in functionality)
  • Fixed issue when showing a smart multi-select field is used to reference another multi-value holding (such as "File/Attachment")
  • Function to "replaceWith" supports now dynamic parameters (given via [entry.field_name])
  • Function to "asFilteredBy" supports now dynamic parameters (given via [entry.field_name])
  • ConfiForms Registrations Control (FormView) macro could be set to hide the "metadata fields section" by default (Why do I see an extra button with + sign on my form and ownedBy field), via macro parameter
  • Improved support for rendering PlainView macro contents as Velocity template in the area of the available context variables
  • Improved calculations of totals and formulas involving "[count]" when used in TableViewMerger

Version 2.14

  • New function to help with customization of the output for multi-value holding fields - iterateAndPrint. See more on Virtual functions
  • Added configuration option to hide the key when showing options for Insight objects
  • Added global setting to "disable" the option to "Allow data reads even if a user does not have read access on the page". This allows you to ensure that the forms follow Confluence permissions model very strictly, with no exceptions
  • Comments field now reports errors in a more user friendly way (if any)
  • Fixed content type to JSON when REST API to save/update entry is used REST API#Createentry
  • Fixed bug with "Reset value" rule when applied on Datetime interval field
  • Added virtual function to support formatting with regular expressions: formatToPattern. Useful for formatting numeric values as phone numbers: Virtual functions
  • Fixed issue with _count variable when used in IFTTT/Field Definition Rule in a condition (was incorrectly set to 1, instead of actual records count in the filter)
  • Fixed issue with double quotes in values when used in ConfiForms Filter macro or in dynamic dropdown field
  • New virtual function to help with content rendering (when the value is actually a storage format) - storageToHtml

Version 2.13.9

  • Fixed issue with dynamic dropdown field lookups (this includes text fields when used in a ConfiForms Filter Control macro)
  • Fixed issue with multi-select fields that return IDs when used through the smart fields or have been updated through the "asList" functions (IFTTT updates)
  • Fixed small UI bug with setting up the "date" field type in user's timezone (an option remained unchecked when edited again)
  • Improved Import API support for CSV files having the quotes around values having commas
  • Support for Velocity templating in PlainView macro (if is enabled by your Confluence administrators)

Version 2.13.8

  • Fixed issue with a missing conversion of a date/date time value when used through the timezoneAware* function with formatting pattern
  • Fixed issue with applying filter on a web-service backed dropdown (or other choice enabled) field when the field definition sets something else that "id" column as a mapping for the "id" field
  • Fixed issue with setting multi-select fields from another multi-select fields value (using transform.asList and functions alike)
  • Improved support for CSV files import when data in CSV has quotes
  • Added option to bypass the page restrictions when a form attempts to upload files on secure pages by the user who has no permissions
  • Fixed issue with configurations of the options for choice-based fields where the options were incorrectly sorted alphabetically each time you are editing them
  • You can now configure the app to bypass page restrictions and allow attachments (including IFTTT to "create attachments") to work for users who have no edit permissions on the page. This is a global setting. You can always leave defaults as is and set the same option on the form directly.

Version 2.13.7

  • Fixed issue with IFTTT to move/copy attachments when attachments to copy/move has been given as an expression using transform(id).asList
  • Default character in Import API for "quote char" is now ", to make imports from CSV easier (and work with defaults)
  • timezoneAware* functions now accept formatting patterns Virtual functions

Version 2.13.6

  • Fixed "Update specific field" REST API (REST API#Updatespecificfield) to correctly handle dynamically set restrictions (when a restriction is set based on the value of other field) 
  • New ConfiForms IFTTT rule to set revision tag on a page. Sometimes it is necessary to update the page's storage format when the data in ConfiForms changes in order to trigger other processes that might be bound to the page change/update events
  • Improved support for _count in the filters (now dynamically recalculated each time the condition is applied to the dataset being filtered)
  • Fixed issue with processing of collections operations (asArrayMultiSelect, asArrayMultiUserPicker and others)
  • Fixed issue with incorrect escaping of the values (HTML escape)
  • Fixed issue with "Apply filter on field" action to correctly process values with &
  • Possible to change the number of IFTTT actions executed per request (ConfiForms app configuration)
  • Fixed minor issue with incorrectly outputting the mapping for the WS service
  • ConfiForms Form Definition macro now supports the setting to bypass a requirement for page edit permission when used to upload files (you can set the page to have view permissions only + the users should be allowed to add attachments (in general))
  • Improved Import API to better handle numeric values when imported from Excel
  • ConfiForms fields for date/datetime, datetime interval and timestamp now support entering the value in user's timezone (with auto-conversion to server time)

Version 2.13.5

  • Fixed issue with comment field with enabled inline adding mode reporting a permissions error when used by form's non admin users
  • Fixed issue with "apply filter on field" action when used on smart fields and on database fields
  • Better discoverability of the forms when used in Confluence templates (editing in Confluence editor)
  • Strong verification of user permissions when a file is to be attached - a user must have permissions to attach files and must have view permissions on the page where the form is defined
  • ConfiForms now publishes internal ConfiFormsDataChangeEvent that can be "listened" by other plugins to receive information about data changes in the forms
  • Adding special styles to hide the contents when it should be hidden when sent via email and opened in Microsoft Outlook
  • Improved rendering performance of fields that are using complex expressions / transformations (short time caching)
  • Improved rendering performance of field values in read-only mode (in views, especially CardView and TableView)
  • Fixed issue with ConfiForms Edit Controls used in Card/TableView by non admins but with enabled "copy entry" mode
  • Improved Jira issues lookup to search by project and by key (any Jira issue key is supported, not only the standard)
  • Fixed silent mode support for delete/copy/move attachment IFTTT actions
  • New virtual function to help with datetime conversion between timezones - see Virtual functions and convertDate function
  • Fixed issue with IFTTT that send emails and the view having a field of "comment" type with enabled inline comments (no extra buttons are rendered)
  • Grouping key parameter support for ValueView macro (same usage as in TableViewMerger where you define keys and expressions, to group and to calculate)
  • Fixed issue with ConfiForms Filter macro not resetting selection from radio/checkbox group fields

Version 2.13.4

  • Fixed issue with filtering of multi-select fields for pages, Jira issues and Insight objects
  • Fixed issue with "Apply Filter on Field" action when it is applied on a web-service backed field which has custom mapping for ID field
  • Fixed issue to render HTML correctly when used through the smart fields as a labels to choices (checkbox / radio group fields)

Version 2.13.3

  • Fixed issue when ConfiForms Field Definition Rules macro with action to "apply filter on field" was incorrectly filtering options that reference a smart field but with an option to "reference to records" left unchecked (when referencing values)
  • Fixed issue with showing HTML rendering fields through smart fields in views (incorrect escaping)
  • Fixed inline edit for ConfiForms Jira fields
  • Improved rendering of Jira, Insight and multi-select fields (easier to style with unified CSS now)
  • Loading Insight objects can now be set to load in up to 5000 objects per request
  • Fixed regression issue with functions applied on multi-select fields
  • Fixed issue with incorrect sorting of fields to load in Smart Classifier field editor

Version 2.13.2

  • Fixed issue with virtual functions transforming values as user objects
  • Fixed issue with rendering complex expression on a non-text fields
  • Support for evaluating email subject as Velocity template (in IFTTT macro that send email), if velocity templating is enabled in global configuration for ConfiForms app
  • Fixed support for presenting the date/datetime values in a specific timezone (Virtual functions for formatDate / jiraDatetime)
  • Adde "timezoneOffset" virtual function to determine the offset between user's time and server time
  • Added "htmlToWiki" virtual function to convert HTML into an Atlassian wiki markup
  • Fixed possible security issue with using #evaluate with Velocity templates (if velocity templating is enabled in global configuration for ConfiForms app)

Version 2.13.1

  • Fixed issue with "Move Page" IFTTT when moved from "under a restricted parent page"
  • Fixed issue with incorrectly escaping non-latin symbols in checkbox/radio group labels
  • Improved support for HTML producing Virtual functions (to avoid escaping and double escaping)

Version 2.13

  • Support for timezones in formatDate and jiraDate/jiraDateTime functions. See more Virtual functions
  • Fixed issue with calculations of currency fields
  • Fixed regression issue with file name validation (regular expression)
  • Fixed possible XSS issue with value transformed with a non-html producing function(s)
  • User key is now available as user object property Accessing field values and properties
  • Support for setting up default sender for ConfiForms IFTTT that sends emails (in app configuration for all emails sent via ConfiForms)
  • You can now restrict the sender in ConfiForms IFTTT emails to be only the current user (unless this is overidden by default sender, see above)
  • You can setup ConfiForms (app configuration) to ensure the values are always escaped (after transformation) to prevent possible XSS issues
  • Fixed issue with setting datetime interval field values in IFTTTs that copy/create records
  • Improved WebService request IFTTT action to handle better POST/PUT and PATCH methods that have no body
  • Improved support for setting up field definition rules for datetime interval fields
  • Support for "limitFields" parameter in REST API when searching for ConfiForms records
  • Fixed issue with inline edit / quick action when the modified row was by a mistake rendered in a wrong place (inside the success message)

Version 2.12.4

  • Fixed regression issue with attachments storing when use secure storage
  • Improved support for conversions between user's timezone and server timezone - using new Virtual functions called "asUserTimezone"

Version 2.12.3

  • More fixes for ConfiForms rendering when forms are rendered through/by Comala plugin
  • Fixed regression issue with value auto-transformation to JSON (when the value was detected as JSON).

Version 2.12.2

  • Workaround for incorrect rendering of ConfiForms forms by Comala plugin, when rendered via "public/" url
  • Improved support for merging action buttons in views (table/card)
  • Auto renaming of uploaded files (new option for File field type)
  • Fixed issue with ConfiForms Entry Viewer macro when used stand alone (without ConfiForms Edit Controls macro) on TableViewMerger

Version 2.12.1

  • Fixed regression issue with dynamic filter macro not properly finding the appropriate view on certain conditions

Version 2.12

  • Experimental service for Jira issue fields discovery to help you with ConfiForms to Jira mappings to create Jira issues

For discovery service documentation



For web service connection


For applink

  • Extending ConfiForms REST API to create/update the record to accept field values as a JSON payload
"fields": {
   "field1":"field value",
   "field2": "2020-04-25"
  • Fixed issue with comment field tracking the user when the form is set to capture input in anonymous mode
  • Support for "code" macro in IFTTT that create/update Jira issue or make web service requests or requests through the applink service (in addition to "no format" macro you can have your JSON/XML payload in "code" macro)
  • Support for "sort" Virtual functions to sort the collections if necessary
  • Support for "add" function in collections (when applied on values of a multi-value field)
  • Fixed issue with paged view in TableViewMerger when data is also aggregated (the feature was working only when the data was aggregated, not merged)
  • Integration with Riada Insight is redesigned and has an optimized performance. Support fro lookups in Insight multi-select field
  • Issues and insight objects are now loaded in batches and you can control the size of a batch (request) in ConfiForms app configuration
  • Reduced caching time in content extractor for ConfiForms data used by Confluence search to build a search index 

Version 2.11.2

  • Improved performance of ConfiForms content extractor even further to skip faster pages that dont have ConfiForms data to index
  • Improved logging to reduce false "error" level logging when a log entry is supposed to be a "warning" or even a "debug"
  • Fixed concurrent modification error in content extractor (Confluence search for ConfiForms)

Version 2.11.1

  • Fixed security issue with Velocity templates evaluation when using a specifically crafted instruction you were able to get to JVM runtime object
  • Fixed security issue with IfMatches macro, when a filter set as velocity expression was not verified as it should be and could be made harmful
  • Support for [iftttResult_] expressions to access the result of an IFTTT action (meaning that ${} can be safely replaced with []). This also works when Velocity templating is completely disabled in the plugin settings

Version 2.11

  • More fixes on Mindville Insight integration and compatibility with latest Insight version. Now objects by object type are correctly and successfully loaded
  • Fixed minor issue with Import API when importing from Excel files (quoting char parameter shall be ignored, as this makes no sense when importing from Excel files and is only for CSV)
  • When a secure storage is used in a ConfiForms Form then on record delete we now attempt to remove the associated "secure storage" page
  • Fixed issue when evaluation message was also shown for properly licenses app with demonstration/open source license
  • Fixed issue with import from Excel 2007+ (incorrectly reading input file on certain cases)
  • Fixed issue with Add/Remove page label and setting up the result into "IFTTT result", as per documentation Configuring ConfiForms IFTTT actions and rules
  • Fixed IFTTT to move page to another space when the page has the same title as existing page the destination space
  • Improved performance for ConfiForms search indexer (allowing ConfiForms contents to be searchable via Confluence API)

Version 2.10.15 

  • Compatibility with Mindville Insight version 8.4 for the REST APIs they have silently removed (even though it is versioned...)
  • Case insensitive option support for filtering for "Validate uniqueness" rule
  • Autonumber fields are removed from audit forms as they show a totally incorrect information - not related to the actual form's field (see more on audit forms Using new Audit IFTTT action)
  • Fixed issue with form's admin view when Confluence administrator has set limit on views
  • Improved free text search on multi-select user fields to include search by full name when a parameter to enhance free text search is set on views macros

Version 2.10.14

  • Quickfix to address issues with JavaScript disabling the submit button on forms with rules

Version 2.10.13

  • Fixed issue with incorrect logic applied on pager when an administrator has set limits on the views in ConfiForms configuration

Version 2.10.12

  • Fixed NPE when a notification is to be sent for the page with a form created via another another ConfiForms form (smile)
  • Fixed issue with multi-user field not correctly working in notifications for accounts having an email as a user name
  • Improved reliability of this experimental service Using Excel files as sources for ConfiForms fields
  • Fixed "autofocus" on forms having "on load" rules

Version 2.10.11

  • Fixed issue with ConfiForms Registrations Control macro's confirmation message braking the script flow when it has some unescaped characters

Version 2.10.10

  • Fixed issue with ValueView macro showing internal data into the output

Version 2.10.9

  • Regression issue with "Apply filter on field" rules when complex filters are used (rich text fields involved)

Version 2.10.8

  • Possibility (for administrators) to enforce limits on views created by users

  • New flag to bypass the read-only setting in Confluence and force ConfiForms to work

  • You can now turn off the limits on "records flattening".  We strongly advise you not to turn this off, as this may impact your server performance drastically. 

  • All macros are now streamable and designed to buffer as less as possible - reducing memory footprint when rendering
  • Experimental API to help with creation of mockup views for the forms with lots of fields. You can create the following views automatically (all field definitions will be added as fields into the created view)
    • ListView
    • CardView
    • TableView
    • PlainView
    • CleanView
    • FormView (Registrations Control)

pageId - where the form is located
formName - name of the form
viewType - type of view to create (list-view, card-view, table-view, form-view, plain-view, clean-view)

Optional parameter:
withLabel - true or false, to tell the service to render the field with a label
parentPageId - custom page to use as parent page (by default the page is created under the page were the ConfiForms form is)
  • Fixed issue with form printing when "print editable fields" option is enabled on the form. 

Version 2.10.7

  • Enhanced support for "grouping field" in the CalendarView - much more flexible and does not require to be "date/datetime/timestamp". Enough is to have a field value that can be "translated" into a timestamp
  • Support for accessing "Page Properties" through "pageProperties" virtual function Virtual functions
  • Enhanced configuration for checkbox fields behaviour in ConfiForms Dynamic Filter (allowing you to set the filter to work only on "inclusion" when checkbox is set)
  • parseDate now can be set to work with default format (configured in your Confluence instance)
  • [watchers] now take also space watchers into account (not only page watchers)
  • Fixed issue with ConfiForms Field Definition Rules with parameter "on user action only" set was applied incorrectly on form load

Version 2.10.6

  • Fixed issue with incorrect result set into IFTTT when the IFTTT to create an entry is used
  • Fixed import of multi-value fields in import API for multi-select field
  • Fixed issue with sorting of a smart field choices after the rule with action "apply filter" has been used

Version 2.10.5

  • Filtering of SimpleDate fields fixed
  • Ensuring support for "whitelisting" - (you have to enable whitelisting enforcement in the ConfiForms app settings)
  • Fixed regression issue with a pager in views when a view has default filter set
  • Experimental support for stored procedures in ConfiForms IFTTT / Copy to DB action

    {call procedurename([entry.field1], [entry.field2])}

    Note that stored procedures in PostgreSQL shall be called via CALL, and without wrapping into {}. As input parameters we support only string types (CHAR, VARCHAR) at this point

Version 2.10.4

  • Fixed issue with inline edits and forms having the default / preset values configured
  • Fixed issue with ConfiForms Edit Controls ignoring the "reverse" criteria when used in TableView/CardView macros
  • Improved form UI initialization when show/hide container rules are present in form's configuration
  • Improved UI and performance in Import API

Version 2.10.3

  • Fixed regression issue with missing "_previousState" in "ConfiForms Rules for Field Definition" processing
  • Fixed issues with IFTTTs involving work with user accounts which match the emails
  • API level compatibility fixed to support Confluence 6.0.x/6.1.x
  • Fixed issue with ConfiForms PlainView rendering "escaped" opening and closing tags (when set)
  • Quickfix to address regression issue with inline edits

Version 2.10.2

  • Added new field type - "Database Dynamic Multilabel". Also supports proxy mode to allow online lookups as the user types. See related Using use proxy setting in dynamic dropdowns (but consider having an SQL query that returns only unique labels, as only this (label value) will be stored in ConfiForms)
  • Fixed bug with ConfiForms IFTTT macro that creates new records and the form has defaults set for "new records" (which were interfering with "create entry" action)
  • Fixed issue with incorrect reporting of IFTTTs execution order  with IFTTTs that create/update other forms and those in order do some other IFTTT actions. Now the execution order shall be correctly reported. Please note that incorrect was only the reporting, not the actual actions execution order
  • Fixed issue with "Action buttons" and CSS Rules macro (was not able to style this field type with the mentioned macro)
  • Now form views dont steal the focus when used in embedded mode (this is configurable now with "autofocus" parameter in ConfiForms Registrations Control / FormView macro)
  • Fixed issue with comments rendering in the email (to not to render "+" button when the field has inline comments enabled)

Version 2.10.1

  • Rendering performance improvements for restricted fields
  • Removed "flattened" export due to the risks of producing OOM errors on the forms that have multiple multi-value fields and many records
  • Improvements in export data functionality to use streaming and less buffering
  • Improved rendering performance of ConfiForms Edit Controls when used with parameter "hide if matches"

Version 2.10

  • Fixed bug with ConfiForms Rules for Field Definition macro when "Apply filter based on criteria" action is used
  • Fixed issue with ConfiForms Filter macro applied on a view having a default/initial filter set (and filter does a search with an empty filter)
  • Add/Remove watcher IFTTT is now more robust and handles correctly misconfigurations (missing pages / incomplete parameters)
  • New Virtual functions to help you with rendering of a contents from another form inside the view of your form. The function to do that is called queryAndRender

Version 2.9.6

  • Fixed permissions checking for the IFTTTs that work with attachments
  • Improved support for parameters in database statements when executed through IFTTT (correctly handling empty/null values, fixed issue with incorrect types)
  • Fixed issue with versioning in IFTTT to copy attachments
  • ConfiForms FormView can be rendered as link now (in addition to "Button" and "Embedded" modes)
  • Fixed NPE when ConfiForms Forms macros are used on Confluence templates (in preview)

Version 2.9.5

  • Fixed issue with ordering of items when used through the smart field and "reference to records" is unchecked (and no sorting is selected)
  • Fixed issue with incorrect rendering of the comment's content when it has new lines
  • Fixed issue with ConfiForms EntryViewer when rendered as link to avoid "jumping" to page's top on click 
  • New Virtual functions to help with SQL parameters escaping if you ever need that - escapeSQL. And 2 functions to help with showing the choices registered in the options-based field, such as dropdown, radio/checkbox groups and other single and multi-select fields: getOptions and getUnselectedOptions
  • Improved support for parameters in Copy to database IFTTT rules, see CRUD - Simple demo to show how to setup ConfiForms to save data to database table (alternative storage)
  • Fixed regression issue with _count variable when checking in IFTTT conditions
  • Fixed security issue with IFTTT actions to remove/add page permission not checking current user's own permissions for the operation 

Version 2.9.4

Version 2.9.3

  • Compatibility issue with file preview when used to point at a file in a secure storage (in recent version of Confluence only (7.x))
  • Improved support for datetime interval fields in Import API (now accepting dates given in the format that contains "-", and " - " shall be used as separator for such values)
  • Fixed regression issue with content indexing of ConfiForms data

Version 2.9.2

  • Flatten records in TableViewMerger macro will work now for all the fields, not only when given in a simple form
  • Improving expression evaluations to work correctly with inputs given with "0" prefixes (not to take these as numbers for any function supported loosing the leading zeros)
  • Usability improvements in how the resources requiring oAuth authorization from the user are handled
  • Improvements in filtering to support complicated expressions and transformations on the "left side" of the filter expression
  • Support for [contributors] expression to get the list of page contributors to send emails / notifications with ConfiForms IFTTT
  • Fixed issue with attachment(s) copy when used through ConfiForms IFTTT action to copy ConfiForms entries
  • Improved support for ws/db backed dynamic dropdowns using proxy mode and ConfiForms Field Definition Rules with action to "set value"

Version 2.9.1

  • Transposed view for TableViewMerger macro
  • Fixed issue with "Hide if matches" parameter when used on a ConfiForms Field inside the TableViewMerger macro
  • Fixed regression issue with ConfiForms Filter macro rendering

Version 2.9.0

  • Fixed performance issue with Confluence indexing when forms using web-service and/or database based fields
  • Rendering performance and memory consumption improvements. Less buffering while rendering, results are now streamed to clients a lot faster and earlier
  • Fixed issues with import API used with XLS/XLSX files
  • Improved export to Excel to export non-numeric data stored in "numeric" fields as text values
  • Fixed issue with inline edits when the view macro is set to reference a form on a parent page via @parent 
  • ConfiForms EntryView now support a parameter to allow JavaScript function to be called on "view" for deeper integrations 
  • Improved extensibility of ConfiForms to customize printed form's UI

function onCFBeforePrint(content) {

You can override it for example like this

onCFBeforePrint = function(content) {
   alert('The form is about to be printed with the following contents: ' + content.html());

Version 2.8.3

  • Fixed issue with incorrect focus on the form when form has rules
  • New service to help with data migration (part of Migration Assistant). Helps to analyze what is stored under page/multi-page/attachment picker and file field types in ConfiForms

Helps you to see what version of the attachment is used by ConfiForms record, what page is referenced and it's internal IDs and attributes


- pageId: where the form is defined
- formName: name of the form
- fieldName: (optional) to limit the output to analyze only the specific field and it's data

  • Improved support for form's having their names in non-latin characters (not recommended, please try naming your forms using latin characters with (or without) numbers)
  • Introducing "Migration Assistant" - experimental feature to help you with data migration between different servers, and fixing the "broken" references to external resources (pages/blogposts) and files

Option needs to be enabled in the app's general settings first and then can be accessed from any form's Admin UI

Version 2.8.2

Version 2.8.1

  • Performance optimizations to render "link", "attachment" and autonumber fields quicker
  • More strict validations of IFTTT configurations (not allowing certain IFTTTs to have inner IFTTTs, as it is simply incorrect)
  • An option to disable ConfiForms IFTTT macro body parsing as Velocity template (ConfiForms plugin configuration)

Version 2.8.0

  • Fixed issue with missing auto-number field value when exported to CSV
  • Improved export to non to include "action button" field into the output
  • ConfiForms IFTTT Integration Rules macro with action to "Delete ConfiForms entry" (by filter) now supports the parameter to bypass record ownership and permissions and still delete the record
  • Improved free text search for autonumber fields
  • Fixed issue with showing "view restricted" fields of certain types under certain configurations
  • Fixed issue with not working "inline add" enabled for CardView
  • Improved inline edit for the views when incorrect (non existing) field names are configured in the views
  • Fixed issue with ConfiForms IFTTT rule to remove View/Edit permissions on the page
  • Fixed issue with TableViewMerger and inline search, when TableViewMerger has own filter initially set
  • Fixed NPE in wiki-markup version of ConfiForms Registrations Control (FormView) when used with evaluation license

Version 2.7.5

  • Backported support for ConfiForms version 1.x syntax when setting field's values to support spaces around & (like field1=value1 & field2=value2) ← strongly not recommended to use, but is supported for backward compatibility

Version 2.7.4

  • Enhanced ConfiForms free text search to include "rich properties" into the index. This needs to be enabled in the corresponding "view" via the following parameter

  • Fixed issue with "inline add" for form's non-admin users
  • Fixed issue with links to images inside IFTTT macro body when link is given to embedded image

Version 2.7.3

  • Hotfix to address issues with Confluence 7 changes in content indexing

Version 2.7.2

  • Improved indexing of ConfiForms contents, specifically "rich properties" fields (searchable via Confluence search)

Remember that you need to allow export and search on your ConfiForms Form (Definition) and you form shall not be set to shown only own records to non-admin users. Also you shall have ConfiForms views built over your form. As Confluence search index is disconnected from ConfiForms data then you need to make sure you inform Confluence about the need to reindex the contents - This can be done with the help of ConfiForms IFTTT Integration Rules macro with action set to "Force page to reindex". Please be aware that this action only suggests Confluence indexer to index the page, and actual indexing might take a while to start and complete

Version 2.7.1 

  • Fixed issue with Edit Controls macro inside the ConfiForms CalendarView when placed on a separate page
  • Improved TableViewMerger "flatten records" to correctly transform multi-value fields, such as Jira multi-select, User multi-select, Insight object multi-select to single value fields of the respected types
  • Improved support in ConfiForms Rules for Field Definition macro with "Validate" action configured for multiple fields at once
  • Fixed regression issue with user lookup (in ConfiForms user fields) 

Version 2.7.0

  • New feature to support proxying the requests in Dynamic dropdown (database and web-service) - this feature dramatically improves the performance (no need to preload the data) and helps you to integrate external services that provide "lookup functionality".  See tutorial on Using use proxy setting in dynamic dropdowns

Version 2.6.1

  • Improved support for parsing form's configurations from user macros 
  • New Field Definition Rule to help with setting custom label on a field, conditionally
  • New IFTTT action to generate new sequence number based on the rules/filters you set - please note that this is an experimental feature and is not yet suitable for use in highly concurrent environments (could generate duplicates)! Configuring ConfiForms IFTTT actions and rules#Generatenextnumber
  • Improved validation rules support in quick actions, quick enrol and quick vote
  • Usability improvements in quick voting control (field type)
  • Improved date/date time fields robustness when incorrect formatting pattern is set

Version 2.6.0

  • Fixed issue with attachment links generated by ConfiForms file type when attachments are stored not on the same page as form definition
  • Fixed issue with edit/view controls macros when used with TableViewMerger macro
  • QuickEnrol (enrol button) and QuickAction (action button) now support field definition rules (previously form definition rules were bypassed by these fields during action processing)
  • Better usability in "comment" field - comment input box is closed after comment has been added
  • New "obscure" function to help you with masking the contents of a field when viewed on the page
  • ConfiForms CardView supports "transpose" view (experimental) 

Version 2.5.2

  • Improved automatic audit logging via IFTTT "Audit" action to include _event field, see Using new Audit IFTTT action
  • Fixed issue with quick enrol and "Enrol button" field type to update correctly the corresponding element

Version 2.5.1

  • New field type to accept and render storage format (as input)
  • Improved handling and reporting of broken field definition rules
  • Improved record locking to lock for a shorter time to improve performance
  • Improved support for complex configuration having different Registrations Control (FormView) macros referencing the same form on the same page
  • Fixed issue with inline row edit and JavaScript error on "enter" to save the record
  • Support for "remove" function (Virtual functions) to accept dynamic parameters (via [entry.field_name])
  • Fixed issue with "replaceWith" function (and general expressions parsing) when used to replace ( and/or ) as parameters
  • CleanView now supports additional parameter to help you to wrap the rendered contents into a wrapper (html, div) - similarly to PlainView

Version 2.5.0

  • Fixed issues with filter expressions using filtering by field together with free text filters (like field:some value AND active*)
  • Fixed issue with attachment links generated by ConfiForms field of type "file"
  • Improved ConfiForms CSS Rules macro to support expressions in conditions to match against the data in current record
  • Fixed issue with "reset" button behaviour in ConfiForms Filter macro having additional criteria set and applied on a view with pre-set filter expression
  • Improved logic for handling concurrent requests on form data inserts

Version 2.4.1

  • Hotfix to address issues with use of Confluence search API to discover form sources dynamically (via CQL)
  • Fixed issue with ConfiForms Field Definition Rules not setting/resetting the value for the "comment" field
  • Fixed issue with ConfiForms Field set to disable inline edit when a ListView/CleanView (already supported by TableView/CardView) is set to enable individual edits (the parameter has been ignored and it was not possible to override the view's setting per form's field - now it is possible)

Version 2.4.0

  • Compatibility with Confluence version 7.0
  • Fixed issue with filtering of multi-user fields (including voting control)
  • Fixed issue with field definition rules (set/reset) applied on field of type "Simple Date"
  • Fixed issue with form's data indexing (when export is enabled for the ConfiForms Forms which should result in the form's data being available for search via Confluence search)
  • Support for ConfiForms IFTTT action to set restrictions now supports restrictions for the user initiating these actions (previously, the user initiating restrictions has been always added as a user having the access)
  • Added support for TableView/TableView Merger macros when used inside the ListViews/CleanViews - inner macro parameters are correctly skipped on out view evaluations

Version 2.3.2

  • Fixed issue with "Reset" button on filter macro to reset the view into original, filtered state and not to show all the records
  • Fixed issue with date/time interval field and incorrect parameter for custom formatting
  • Now custom formats are properly supported by date, date/time and date/time interval fields in ConfiForms
  • "append" and "prepend" now accept dynamically looked up parameters, you can have [entry.field_name] expressions inside the function arguments

Version 2.3.1

  • Fixed regression issue with parenthesis not properly parsed in filters in certain configurations
  • Implemented support for setting up the filter, sorting and limits on sources that are dynamically discovered by TableViewMerger macro
  • Improved "Apply filter based on criteria" when used on non-smart fields - now you can easily implement the logic to reduce the choices in the "selectable fields, such as dropdowns" based on records stored

Version 2.3.0

  • Fixed issue with logging the db/webservice connection credentials in the Confluence log file
  • Added support for own date/datetime format (field can use global formatting pattern by default but users are now allowed to override it with own patterns)
  • Fixed issue with radio/checkbox group fields values that might conflict with other fields, when certain naming convention is used (set value and show/hide field rules were affected)
  • Fixed issue with accessing internal "recordId" value (sequence number that every record in ConfiForms has and that is per form, starts with 1). Record IDs cannot be reused
  • Fixed issue with filters applied on multi-user field referenced through a smart field
  • Fixed issue with filters applied on the fields where values to filter on contain AND and/or OR (case sensitive)

Version 2.2.3

  • Added configuration option to restrict emails to be sent only to the user configured in your Confluence server (Through ConfiForms app settings in plugins list - http://<YOUR_SERVER>/admin/vertuna/confiforms/config.action)

  • Fixed issue with fixing onError event when IFTTT (or form submission) fails and there is an error handling rule is configured

Version 2.2.2

  • Fixed regression issue with logger (too verbose with Confluence default level of logging)

Version 2.2.1

  • Support for date range filters in ConfiForms Filter Control macro, so date and datetime fields can be filtered by range
  • Optimized performance for Jira multi-value fields to fetch issues in a batch
  • Fixed issue with incorrect default logging level (warning was used instead of error, and this is the default level for root logger on Confluence which has resulted in extensive logging of a parsing issues by ConfiForms - current workaround is to set logging level for ConfiForms, com.vertuna package to ERROR)
  • Fixed performance issues when "Validate uniqueness" rule is used with Jira fields

Version 2.2.0

  • Performance optimizations for formula calculations
  • Fixed issue with Jira multi-value field where referenced issues data was unnecessarily loaded
  • Fixed logging level issues (too verbose and warnings were incorrectly logged as errors)
  • Import data API now supports Microsoft Excel formats (97/2007)
  • New Field Definition Rule to set field read-only
  • Fixed issue with IFTTT reporting "null" as form name when in debug mode for cascading IFTTT rules
  • Link field can be set to open links in a new tab / window
  • New ConfiForms IFTTT action to "Create page comment"
  • New context variable _formName is available - Accessing field values and properties#Additionalvaluesavailableinthecontext

Version 2.1.2

  • License check logic has been fixed
  • Fixed issue with not showing the field's values that are restricted for edit, but shall be visible in the view, in the ConfiForms Entry Viewer macro

Version 2.1.1

  • Improved logging of IFTTT rules to include the affected form (useful when you have rules that update fields in the same form or another that can trigger cascading of other rules)
  • New ConfiForms IFTTT actions to remove view/edit restrictions on Confluence pages
  • Support for @self in form:page references, Form example: myform:this is equally valid as myform:@self, and point at the "myform" page located on the current page
  • Improved reporting of license errors - more details, easier to understand the issue

Version 2.1.0

  • ConfiForms IFTTT rule(s) can be set to execute onError. This is especially useful when your workflow results in an error and you want to get informed about the broken flow or want to setup some automation to do instead (when normal flow execution has failed)
  • Search and filtering by string values is not case-sensitive by default (Rolled back a bold change we have introduced in 2.0.38)
  • Fixed CalendarItem to account for context variables
  • Fixed issue with content type "image/jpg" unrecognised as image resource
  • ConfiForms Field can be set to not show if the record matches defined criteria, this is especially useful for action buttons
  • CSS Rules set on fields now properly understand !important flag
  • New IFTTT rule to help with setting up the "Audit" - Data is stored automatically in the form with postfix _log and could be accessed with any ConfiForms View macros (Structure is the same as the original form with additional field added called "_ref", which is a smart field referencing the actual record that this audit record belongs to) See more on Using new Audit IFTTT action page
  • New functions to help with data cleanup: removeCRLFs and removeSpaces
  • Fixed support/conflict for proxies setup and ConfiForms web-service enabled fields
  • Fixed issue with wysiwyg field type removing "size" word from the contents
  • Fixed mouse scroll issue in date/datetime fields
  • TableView and CardView now have an option to group action buttons into one cell/row
  • ConfiForms PlainView macro now can be set to output the wrapping tag around the output - useful when you render table rows and what to ensure the table tag gets added and correct document gets rendered. Supports table, div and "data", to render xml-like output

Version 2.0.38

  • Hotfix to address issue with ConfiForms Filter macro rendering

Version 2.0.37

  • Fixed issue with restricted fields shown when a view is used with a filter macro
  • ConfiForms now exposes a component class (com.vertuna.confluence.plugins.confiforms.api.ConfiFormsStorageComponent) for plugin-to-plugin integrations with the following API
public interface ConfiFormsStorageComponent {

  String findFieldValueById(ContentEntityObject contentEntityObject, String formName, String id, String fieldName);

  RegEntry findById(ContentEntityObject contentEntityObject, String formName, String id);

  List<RegEntry> findByAll(ContentEntityObject contentEntityObject, String formName);

  List<RegEntry> findRecordsByCurrentUser(ContentEntityObject contentEntityObject, String formName);

  List<RegEntry> findRecordsByUser(ContentEntityObject contentEntityObject, String formName, String username);

  void updateField(ContentEntityObject contentEntityObject, String formName, String query, String field, String value) throws Exception;
  • Fixed issue with showing pages (multi-page field) when referenced through a smart field
  • Fixed issue with "web service request" IFTTT action not respecting the "silent" parameter
  • asLink function now supports setting up the parameter via entry field's reference, [entry.field_name]
  • Fixed issue with "web service request" IFTTT action when 204 is returned (NPE when reading response stream, which is totally incorrect in case of NoContent response)
  • String matching is now case sensitive in filters!

Version 2.0.36

  • Hotfix to address issue with formula value rendering when recalculation is not needed

Version 2.0.35

  • We have lowered the number of IFTTTs that could be executed during record update/created to 200, to catch the possible infinite loops better and report these cases in a more detailed way
  • Fixed issue with calendar item rendering when a calendar (CalendarView) has own filter set
  • Fixed issue with silent rollback and "impossibility" to delete a record when it references a file field / attachment to an already deleted attachment
  • Formula field which references context variables or other fields from the record is now correctly recalculated in the ListView and in the ValueView
  • Improved handling of expressions containing '.' dots
  • Improved extraction logic of array values from JSON documents

Version 2.0.34

  • Web services backed fields now support connections via application links
  • Better debugging options for IFTTT templates when used as Velocity templates - now the error is reported into the template rendering result if the form is set to debug mode (via ConfiForms Form Definition parameter) and the user using the form is form administrator
  • Fixed issue with filtering of checkbox groups fields when used with ConfiForms Filter macro
  • Improved support for edit restricted fields - now, even if the field is set to be required, but is restricted for current use, it will not be validated as required, but skipped. Also, edit restricted fields are not rendered on the form if the user has no permissions to edit such fields (previously the fields were rendered as read only)
  • Fixed issue with "unique by user" check when forms are used by anonymous users
  • Improved support for current page in smart fields - useful when you setup forms with such fields in the templates (you can reference current page via [entry._page] or [] or via @self. Important! This can be done only by modifying the storage format and is not supported via UI)

Version 2.0.33

  • Fixed issue with CSV export when used with default settings
  • Added new parameter to TableView/CardView to override the default behaviour of fields for "hide if empty" flag when views are used with default set of fields
  • Implemented a way to receive notifications from ConfiForms Form submission routine (by overriding the following JavaScript functions)

    function onCFSubmitStarted(formName){
    function onCFSubmitFinished(formName){
    function onCFSubmitError(formName){

    You can override it for example like this

    onCFSubmitStarted = function(formName) {
       alert('The form is about to be submitted');

Version 2.0.32 

  • Fixed content rendering issue with markup/markdown field when it is set to use Atlassian markup
  • Fixed issue with requesting "local resources" with "local request forward" via ConfiForms IFTTT actions (web connection request)
  • Fixed error reporting on web-service backed fields (when resource configured cannot be accessed or loaded)
  • Fixed issue in ConfiForms Filter Control with umlauts (non latin characters) used as IDs in multi-select fields
  • Fixed issue with ConfiForms dynamic filter macro when used with checkbox/radio group fields (also fixed the reset button bug with the same type of fields)
  • Fixed issue with using decimal numbers in filtering (for comparison, exact match)

Version 2.0.31

  • Fixed issue with CSV export (not correctly exporting the empty values in custom views)
  • Changes in ConfiForms Filter macro - now single-value dropdowns are NOT rendered as multi-value fields in the filter by default (by default these fields are rendered as single-value fields, as defined in the form). This behaviour needs to be enabled explicitly.
  • Fixed issue with reset value action rule (also affected filter reset) when applied on multi-value fields

Version 2.0.30

  • Fixed issue with "quick action" showing empty message when used together with ConfiForms IFTTT Redirect to URL action
  • Fixed issue with Velocity template evaluation in emails (ConfiForms IFTTT to send email)
  • Support for proxies in web-service connections

Version 2.0.29

  • Added experimental support for NTLM 2
  • Fixed issue with filters having an expression with free text search
  • Fixed issue when ConfiForms ListView has been used within the FormView and fields were shown in the edit mode instead of a read-only
  • Added support for TableViewMerger to show the footer with a label/count for number of records shown

Version 2.0.28

  • Improvements to parameters parsing + bugxing edge cases with parameter names clashing + validation for duplicate parameters to report as errors
  • Improvements to filters to support wildcard filters when used with texts containing AND/OR and () in the names to be filtered correctly
  • Fixed issue with "Copy" button in ConfiForms Edit Controls not showing up for form's non admin users

Version 2.0.27

  • Quickfix to address issue with parameters parsing in fields pre-sets (default values), field definition rules to set field values and ConfiForms IFTTT rules to update/create records

Version 2.0.26

  • Fixed issue with ConfiForms Filter macro using  non-latin symbols used in dropdowns
  • Fixed issue with incorrect parsing of wysiwyg fields resulting in rendering errors and missing contents on a page
  • Added parameter to ConfiForms Form macro to support setting custom messages for the forms that allow only one registration per user
  • Fixed issue with REST API call to create a records with multiple values for multi-select user field
  • Improved parsing of a date/datetime fields for user locales (different to server locale)
  • Improved parameters parsing to support setting HTML in parameters, including "a href" links

Version 2.0.25

  • Fixed issue with complex parameters parsing (when parameter value was an url or something similarly complex)
  • Added new virtual function to "truncWithExpand" - helps you to truncate the value of the field and have an "..." interactive block to make the value expandable on demand 

Version 2.0.24

  • Added auto-mapping feature for Import API, to preset the field mapping selections on CSV file import
  • Field Definition Rule to "Apply filter based on criteria" now can automatically remove the rows from the filterable field what do exist in the current form (retaining only unique rows). See demo: Using filter based on criteria rule
  • Improved setting of parameters routine and added support from & in the middle of the parameter
  • Link field now recognises emails and renders the value with mailto: prefix
  • WYSIWYG field now adds header id's to bring compatibility with Confluence "Table of Contents" macro
  • WebServices Request action in IFTTT macro now can be set not to encode the parameters
  • ConfiForms Dynamic Filter macro now has an option to "auto filter" views (without a need to click on "filter" button)
  • Support for multiple choices when using ConfiForms Dynamic Filter macro and filtering by dropdown fields (and other single option fields)
  • Improvements in Import API (now not an experimental API anymore)

Version 2.0.23 

  • Fixed issue with setting up values for checkbox/radio group fields through the lookup from another form
  • Improved performance of database backed fields up to 10x times in views
  • Fixed issue with high load caused when "view" macros are used in preview mode
  • Improvements in filters to correctly work with numeric decimal values in conditions and in values
  • New virtual function to help to render datetime interval field values in a more compact way when event is within one day (compactDateTimeInterval)
  • Fixed issue when ConfiForms EntryViewer macro was not shown for users who are not owners of the record

Version 2.0.22

  • Fixed issue with missing ownedBy field value
  • IFTTT to delete entries could be set to work with anonymous users (deleting is possible only for anonymous records!)
  • Now by restriction edit permissions on the page you can also override admin permissions for Confluence administrator users (super users)
  • Fixed issue with events not correctly firing on certain definition rules when set one rule is set on multiple fields (in CSV format)
  • Fixed issue with filtering with "apply filter" filed definition rules of smart classifier and database classifier fields 
  • Fixed issue with default view for TableView/CardView when auto-number field was not shown by default

Version 2.0.21

  • Addressing issue with forms set to use "secure storage" for attachments and custom field definition rules - when the custom rule(s) was/were failing, the page to store attachments securely was still created.
  • Addressing issue when deleting an attachment of "image" type was resulting in an error on certain Confluence versions
  • Improved filters to correctly support date/datetime fields when referenced through smart fields
  • Fixed issue related to "view refresh after filter reset" in ConfiForms Dynamic filter

Version 2.0.20

  • Fixed issue with possible deadlocks on configurations involving multiple IFTTT rules updating the same ConfiForms entry or entries inside the same form

Version 2.0.19

  • Fixed issue with IFTTTs max count check when entries are updated via REST API update field method
  • Improved support for multiple fields when setting up the ConfiForms Field Definition rule (now fully supports both, regular expressions, as well as list of fields, separated by comma)
  • Now using relative paths in File field type in ConfiForms
  • Now you can disable edits for specific fields when individual edits for the view are enabled
  • Fixed encoding issue with web-services data (returned content-type was not respected)
  • Enhanced support for complex expressions to fields in CalendarView's grouping field (now you can reference fields connected to your current form through the smart fields and etc)
  • Added reverse rule possibility for "hide if matches" parameter in FormView (Registrations Controls) and Edit Controls macros

Version 2.0.18

  • Fixed issue with view restrictions set on the Edit Controls / Entry Viewer macros (when configured dynamically through the reference to ConfiForms fields - [entry.field_name])
  • Fixed "Validate across the dataset" rule when used with _count, to validate for max submissions matching the criteria
  • Implemented guarding method to limit the number of IFTTT rules executions to 100 per user request to avoid infinite loops the users can create with configurations updating same form and having incorrect conditions defined
  • Now IFTTT to copy ConfiForms data supports setting ownedBy field to empty value
  • Section field supports defining the description property to be shown in addition to section title
  • Fixed issue with Simple date field, when the month names were shown incorrectly on certain dates
  • fixed hasChanged() method - was incorrectly giving "true" value when there was no actual change made to the form data
  • Fixed support for accessing _previousState for the ConfiForms record when used to send email/ in-app notification.

    Example: In a form we have 2 fields: "a" and "b". And want to notify about the change, together with previous values

     <ac:structured-macro ac:macro-id="be9a1667-0b16-470c-8511-951bf66dd733" ac:name="confiform-ifttt" ac:schema-version="1">
          <ac:parameter ac:name="condition">hasChanged():true</ac:parameter>
          <ac:parameter ac:name="action">Send Notification</ac:parameter>
          <ac:parameter ac:name="event">onModified</ac:parameter>
          <ac:parameter ac:name="title">testing hasChanged</ac:parameter>
          <ac:parameter ac:name="who">admin</ac:parameter>
              <ac:structured-macro ac:macro-id="c4def14c-d432-4bb9-86a7-912288fedf71" ac:name="confiform-field" ac:schema-version="1">
                <ac:parameter ac:name="fieldName">_previousState.a</ac:parameter>
              </ac:structured-macro> → <ac:structured-macro ac:macro-id="76a0b38f-4cfc-40a9-9746-993585a122d2" ac:name="confiform-field" ac:schema-version="1">
                <ac:parameter ac:name="fieldName">a</ac:parameter>
              <ac:structured-macro ac:macro-id="81d4aa93-f85f-48fc-a853-37bcb8375557" ac:name="confiform-field" ac:schema-version="1">
                <ac:parameter ac:name="fieldName">_previousState.b</ac:parameter>
              </ac:structured-macro> → <ac:structured-macro ac:macro-id="840e6523-60d5-4b47-b724-476e6a753ec0" ac:name="confiform-field" ac:schema-version="1">
                <ac:parameter ac:name="fieldName">b</ac:parameter>
  • Introducing new virtual function to help you to format the number in the given locale: formatNumberWithLocale. See more details in Virtual functions

  • Added support for showing number of records under the "view", with configurable label
  • Fixed default label text value for "locked" form

Version 2.0.17

  • Enhanced field definition rule to "validate if exists in another form" to be able to check the reverse condition easily (when record matching the criteria given does not exist in another form)
  • Improved discovery logic between TableViewMerger and Filter macro (on some configurations the filter was applied on the first TableView found, and not on the whole TableViewMerger)
  • Improved IFTTT to create/update the ConfiForms entry to support setting the ownedBy field to empty on update/insert
  • Fixed NPE with license check routine on complex configurations involving ConfiForms IFTTT macros when ConfiForms is used with evaluation license

Version 2.0.16

  • Fixed issue with setting values for checkbox group fields when this field's values are only numeric (was calculating the sum, instead of actually setting the values from the rule)
  • Fixed NPE with ConfiForms Edit Controls macro on certain form configurations
  • File field now supports referencing "always latest" version of the attachment. Good for cases when an attachment associated with ConfiForms field gets updated and you need ConfiForms record to track that change and point at latest version of this attachment
  • Support for equality check between record's field values in filters

    A form with 2 fields a1 and a2 and we want to show in a table ONLY the records where the value of field a1 is equals to a2
<ac:structured-macro ac:macro-id="d860f6a8-91e0-4b60-ac8b-f9d77f53aa33" ac:name="confiform-table" ac:schema-version="1">
  <ac:parameter ac:name="formName">f</ac:parameter>
<p>only equals</p>
<ac:structured-macro ac:macro-id="bcc29516-fa5c-46db-8a0a-4ff1248285e0" ac:name="confiform-table" ac:schema-version="1">
  <ac:parameter ac:name="filter">a1:[entry._func.asEntryRef(entry.a2)]</ac:parameter>
  <ac:parameter ac:name="formName">f</ac:parameter>

  • Support for password fields in filters (ONLY exact matches)

Version 2.0.15

  • Added support for using ConfiForms Field macros inside the ConfiForms IFTTT when sending emails/notifications on "delete" event
  • Improved support for ConfiForms Field Definition Rules when used with Datetime Interval field
  • Fixed issues with data migration routine from version 1.x to 2.x (issues with possible duplicate auto-number values)
  • Improved "fix-storage" service (see below for parameters) to handle duplicate record ids (and fix them)

  • Added support for custom form dialog initialising scripts when using edit record and form's main layout is used
  • Fixed issue in sorting of date/datetime fields when custom virtual functions are applied in sort expressions
  • Fixed IFTTT parameters to use current page when page is not specified (as per documentation)

Version 2.0.14

  • Fixed bug with field definition rules not firing when configured on the "Simple Date" field
  • Properly escaping scripts from "InfoPanel" field type default value
  • Added "simple" type for "InfoPanel" to render the field value as simple, read-only view (without any styling)
  • Fixed strong dependency on the Workbox plugin - now ConfiForms works even if this plugin is disabled (ConfiForms FAQ#Icouldnotenabletheplugin(Pluginsaredisabledduringstartupduetounsatisfieddependencieserrors))
  • Fixed issue with Add/Remove page label (attachment label) when current context was not properly propagated and _page parameter was not available in the context when used in these IFTTT actions

Version 2.0.13

  • Fixed regression issue with smart fields not showing values correctly in views
  • Optimized filtering by ownedBy and other user/multi-user holding fields to perform 4-5 times faster
  • Fixed issue with REST API representation of multi-value fields, especially comments and file/attachment holding fields
  • General initiative to remove XSS and sanitise input and output where possible and appropriate

Version 2.0.12

  • Officially approved by Atlassian version for Data Center!
  • Optimized logic for retrieving field's properties. Our tests show the rendering performance has been improved 50-75%, in some cases 100%. Affects all the "views" macros, as well as filters and sorting
  • As per request from Atlassian we now set the default limits on the number of records rendered by ConfiForms views. The default is 500 records, you can change it in macro properties parameters or set to "NO LIMIT". 
  • Fixed issue with import API for importing users list into user's multi-select field
  • Fixed issue with escaping the HTML input while generating the email message with IFTTT, which has caused problems with later parsing and including attachments properly
  • Support for wildcards (*) in navigation instructions when applying it on a JSON input. A wildcard means the first property in JSON will be taken 

    Why? Consider this JSON example. Property values can easily change here, but the structure itself is preserved

      "return": [
          "somehostname01": {
            "file_|-/etc/ssh/sshd_config_|-/etc/ssh/sshd_config_|-managed": {
              "comment": "File /etc/ssh/sshd_config is in the correct state",
              "pchanges": {
              "name": "/etc/ssh/sshd_config",
              "start_time": "11:01:54.394381",
              "result": true,
              "duration": 21.685,
              "__run_num__": 0,
              "__sls__": "abb.sshd",
              "changes": {
              "__id__": "/etc/ssh/sshd_config"

    Here is how you can take the "comment" field value


    which reads to, take the value of a "j" field, transform it to JSON, then get the first property value, then get the first property of a returned value and then lookup for the "comment" property value

  • Support for "cf_force" parameter in URLs while creating filtered views. See more: Creating links to filter views from request parameters - url
  • Fixed issue with emails generated by IFTTT where file holding fields were used to show the other properties of the file (were not visible on rendered email, which is now fixed)
  • Fixed issue with incorrect escaping of the data while importing with Import API

Version 2.0.11

  • Fixed issue with removing attachments when a record with file/attachment field get's deleted
  • Fixed issue with storage auto-migration from ConfiForms version 1 to version 2 when content is re-indexed (which has caused issues due to read-only transactions used by the indexer)
  • Fixed issue with null pointer exception thrown when IFTTT was processing onDeleted events and IFTTT actions were using ConfiForms Field macros (sending email on when a record gets deleted, etc)
  • Implemented support for READ-ONLY mode in Confluence. ConfiForms becomes READ-ONLY as well.

Version 2.0.10

  • Implemented support for | in link field type, to allow setting the labels to links
  • Rules for text fields are now applied on keypress (keyup), and not on blur - this allows us to have a more responsive user experience
  • User field profile is always loaded
  • Support for user names having a spaces for multi-select user fields in ConfiForms
  • Fixed minor issue with cache initialization for data loaded from JIRA (Issues and Insight objects)
  • Introduced "remove" virtual function to support the removal of a substring or element (in case of multi-value field) from the values
  • Connection timeout for web-services connections is set to max 20 seconds
  • Fixed issue with ConfiForms Filter macro incorrectly transforming all the fields to dynamic dropdowns
  • Additional service to help with autonumbers in forms after migration (if migrated from ConfiForms version 1.x to ConfiForms version 2.0.8 or lower)


    The service makes sure there are no gaps in the records and all the missing / deleted "records" get also migrated carefully. 

  • Fixed Persian Date field bug not showing correctly the date stored (when in edit mode)

  • Fixed issue with incorrect attachment version in presentation when used with "file" field when an attachment has multiple versions
  • Fixed issue with showing file field's value when an attachment referenced has been deleted
  • Added support to ConfiForms IFTTT to send emails with field value changes. The following constructions (inside ConfiForms IFTTT macro body) show how to check for changes in fields "t1" and "t2". And only in case the value has been changed it will be printed (in this example together with it's previous value)

    #if(("[entry.t1]" != "[entry._previousState.t1]"))
    [entry.t1] [entry._previousState.t1]
    #if(("[entry.t2]" != "[entry._previousState.t2]"))
    [entry.t2] [entry._previousState.t2]
  • New feature to help with setting up customer JavaScript functions when form is loaded (dialog shown) in ConfiForms Registrations (FormView) Control macro
  • New feature to support setting up custom JavaScript functions for ConfiForms Filter macro to execute on filter form load and on filter applied
  • Fixed performance affecting issue with "infinite loop" when specifying broken/incomplete expressions in Formula/Calculated fields

Version 2.0.9

  • Improvements in data migration for forms using auto-number fields and have missing rows (deleted rows)
  • Fixed issue with User fields not showing profile pictures
  • Fixed issue with conditionally shown Edit Controls in TableViews
  • Better reporting of license incompatibility when used on environments not matching the license type
  • Compatibility with upcoming Confluence 6.13
  • Fixed issue with TableViewMerger macro form/file naming for exports

Version 2.0.8

  • TableViewMerger macro dynamic sources discovery now supports forms defined in blogposts 
  • ConfiForms views placed on external pages/blogposts now support forms defined in blogposts
  • Fixed issue with user's data caching on Confluence version 5.7.x
  • Fixed configuration issue with ConfiForms Field Definition Rule when rule to "Look up and set the value from WebService" has been used
  • Optimized filters by page and user fields, when simple expressions are give (to match agains page id or username)
  • New virtual function "randomInt(minVal)" - Virtual functions

Version 2.0.7

  • Fixed regression issue with [empty] filters applied on user fields
  • Fixed issue with rules applied on the same fields, when ConfiForms started to calculate the sums (when numbers only were given as values), instead of applying values separately
  • Support for CSS and message to show when results are empty for TableViewMerger macro
  • Edit controls and viewer controls rendering optimizations when no dynamic parameters were given
  • Optimizations in how user fields are fetched
  • Fixed backward compatibility issue with Confluence 5.5

Version 2.0.6

  • Fixed regression issue with page creation via IFTTT when scripts were not correctly loaded on a pages created with automatic ConfiForms ListView
  • Support for multi-line field values in field definition rules, when setting the values. Use \\n to form a new line in parameters to set (for values)
  • Fixed regression issue with Datetime interval fields not rendered on a CalendarView
  • Performance optimisations in filters when used on user fields
  • Performance optimisations in ConfiForms Filter macro when used with a setting to show only relevant choices
  • Fixed issue with showing/hiding fields in views when it has no value and field was given with virtual function
  • Experimental service to export ConfiForms data as RSS feed

       &feedTitle=<FEED NAME>
       &feedDescription=<FEED DESCRIPTION>
       &feedLink=<FEED URL>
       &entryTitleField=<FORM FIELD TO USE AS TITLE>
       &entryDescriptionField=<FORM FIELD TO USE AS DESCRIPTION>
       &entryLinkField=<FORM FIELD TO USE AS URL>
    entryTitleField, entryDescriptionField, entryLinkField - could use virtual functions and access any field property your form's field may have
    Optional parameter: feedType
    Possible values: rss_2.0, rss_0.92, rss_0.94, rss_0.93, rss_1.0, atom_1.0, atom_0.3

Version 2.0.5

  • Re-packaged for data center compatibility (metadata). Version is waiting an approval from Atlassian ( ConfiForms is already fully compatible with Confluence Data Center, but is awaiting official approval from Atlassian.

Version 2.0.4

  • Recovery API now physically deletes existing records and replaces the dataset contents with what's given (this also resets autonumber sequences in a form). You can also clean up the form completely by uploading empty dataset in a format

  • Fixed issue with show/hide container on forms in dialog mode (and when ID is used as CSS selector)
  • Field Definition Rules macro, when used with "Lookup and set value" action tries to "aggregate" the values it receives, and if all are numbers then sums it up. Use of formulas (expressions) in values to set parameters is supported
  • Enhanced service to check forms storage integrity (reporting non-compliant fieldnames)

  • Fixed issue with Currency field type not validating it's type by default and accepting non numeric values
  • Fields of a text type and similar are now rendered as lookups when used in ConfiForms Filter macro
  • Smart fields now support referencing field values (in addition to referencing records)
  • Introducing "_func" bridge function to enable access to virtual functions through the entry (without using any field). This is sometimes necessary when you want to create complex dynamic filters such as:

    field1:[entry._func.asEntryRef(entry.field2.transform(id).join( OR field1:))]

    This filter, for example, tells to find records where "field1" values match values from "field2". And both fields are multi-value fields

  • timezoneAwareDate and timezoneAwareDateTime virtual functions to format date/datetime as timezone aware dates
  • Cleaner output of emails when rendered and sent though IFTTT macros
  • Attachments picker field enhancement to support showing of all attachments versions
  • Fixed issue with creating pages using ConfiForms when a 3rd party app called "InPlace editor" is installed
  • Added support for "Apply filter" field definition rule to work on attachments picker

    Assuming the field name for "Attachment picker" is "mypicker" and is set to show attachments from children pages, but you want to show only current page attachments (when you put FormView on a child page)
  • Fixed regression issue with excessively strict field name validation

Version 2.0.3

  • Quick fix to address too strong check for field names in ConfiForms field names. Non-latin characters in ConfiForms field names are still supported but strongly NOT RECOMMENDED

Version 2.0.2

  • Optimisations in data serialization and deserialization, resulted in reducing the data storage format size up to 30% (depends on the data you store)
  • Data loading speed improved up to 15% compared to previous version (depends on the dataset / form configuration)
  • Field definition rules are processed 30% faster, especially on the configurations with many rules (30+)
  • Fixed issue with the uploading of multiple attachments of the same file
  • Entry metadata is back as a tooltip in CardView/TableView row
  • Fixed issue with IFTTT to send emails containing files having a comma in their names
  • Fixed issue with service URL mapping in web services backed fields when current context variable values, such as [entry._user] and [entry._now] were not correctly applied on the parameter
  • New field definition rules to hide (or show) any arbitrary element on the page by CSS selector based on the condition ("Show/Hide container" action type)
  • Fixed helper tools with providing mapping of database and web-service backed fields
  • Fixed issue with form printing when comments added with a Comment field with "inline comments" enabled were not printed
  • Fixed issue with auto-link generation when a reference to uploaded file is used in the pattern
  • Changed JSON export format for multi-value fields to contain "JSON" value string for the values, instead of "XML"
  • Improved and secured content search indexing for forms - now you need to enable form export  to enable the contents of a form to be searchable. Also, setting the form to "show only own records" to non-admin users disables indexing the contents of a form
  • Fixed permissions issue with Recovery API (accessible now by space admin users)

Version 2.0.1

  • ConfiForms now has a new storage layer, with much faster edit and delete operations. And with faster and less memory consuming search / filtering operations. 
    There are no limits on the dataset size per form. And the size of the record is limited by the number of characters your database can hold in a CLOB type field (ConfiForms limits are 2,147,483,647 bytes)
  • Data migration is done for your automatically when you access the form for the first time. This could take some time for the first load, depending your your dataset size

    There are methods to help you to understand how you data looks like and force the migration via migration APIs if you want to do so (accessible only to Confluence system administrators)

    Storage analysis




    Storage integrity check


    (Force)Migrate form's storage via service

  • We advise you to take extra care with upgrading to version 2.x+ from 1.x branch and test your form configurations in your test environments first, before upgrading your live environments.

  • Your tables, rendered with CardView and TableView macros, will look different and use the cleaner styles as provided by AUI -

  • Your forms look cleaner as well, and also follow the guidelines and styles from AUI

  • ConfiForms is DC ready (approval is in progress)
  • Optimizations in rendering: reducing HTML markup size → faster rendering
  • All the features and changes included in 1.54.x releases, up to the latest 1.54.6,
  • Data is stored in the database table "AO_CEFA84_CONFI_FORMS_ENTITY", using record per row method.
  • Rows are not physically deleted from the database when you delete a ConfiForms entry, but marked as deleted. Record contents is removed, but the ID and removal date for the entry are stayed. This allows us to "fix" the logic with auto-number re-use when last ConfiForms entry has been deleted (in ConfiForms version 1.x the last number will be reused, which is not the case anymore with ConfiForms version 2.x)
  • Backup and restore DOES NOT back up the values from ConfiForms storage. Use RAW export and recovery APIs to get the data imported