Page tree

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

Compare with Current View Page History

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


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: http://vertuna.com/builds/

Known issues

  • Unable to locate Jira server for this macro. It may be due to Application Link configuration. - affects pages that are created and then moved to some dedicated place. Works for a number of pages, but starts to break when the number of moved pages grows.
  • Unable to locate Jira server for this macro. It may be due to Application Link configuration. - There is a bug in Confluence that breaks ConfiForms functionality around copy/move pages (affects moving/copying pages with children only). You will need to update Confluence to get this fixed. See mentioned issue on Atlassian Jira 

Published versions and changes

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

Version 2.27.17

  • Fixed issue with "Controlled vocabulary" option in multi-select fields
  • Support for ESC key as a "hot key" to quickly close the inline (individual) edit UI
  • Fixed minor issue with discovery service not working with application links that contain illegal names
  • CSV2JSON experimental service - Using Excel files as sources for ConfiForms fields  (https://your_confluence_server/ajax/confiforms/rest/csv-2json.action)
  • Improved support for metadata fields (id/recordId) when used with ConfiForms Filter Control macro
  • Improved support for using results of a web service call for JSON documents that contain "." (dots) in property names
  • More robust "discovery attachments" routine to handle better poor configurations for IFTTTs to move/copy attachments

Version 2.27.16

  • Improved support for inline edits on configurations having multiple views of the same type to the same form
  • Backward compatibility issue with system-like field names (not following the casing) for own field names and inline individual edits. Only will work when "strictValidation" for forms is disabled
  • Fixed issue with duplicate processing of custom JS and action messages duplicated when multiple ConfiForms macros are used on the page 
  • Improved support for dates/timestamps when IFTTT to copy/update data to database (DB) is used

Version 2.27.15

  • Fixed issue with field definition rules not triggering when bound on security group / security group multi-select fields
  • Status field rendering improved - does not render empty default value when value is empty
  • Fixed support for marking the fields as failed validation on forms with custom layout
  • Backward compatibility with forms that use system-like field names (not following the casing) for own fields and want to set them via preset values in ConfiForms Registrations Control (FormView) (strictValidation must be disabled in ConfiForms app settings)
  • Fixed issue with server timezone incorrectly taken when showing the value of a date/datetime field
  • (regression) Free text search now finds records by UUID

Version 2.27.14

  • Added strict validation of form's configurations in (cloud) pre-migration report (field names)
  • Fixed (conflicting) issue with rules that have validation rules bound on fields and also other rules that need to be executed on field change
  • Fixed issue with required asterisk being placed incorrectly on smart multi-row fields
  • Fixed issue with incorrect handling of user timezones in date/datetime and datetime interval fields
  • New virtual function "securityGroupUsers" to list users from a security group 

Version 2.27.13

  • Support for "atlassian.indexing.attachment.maxsize" system property in ConfiForms search indexer
  • Inline individual edits are now supported with ConfiForms Edit Controls

Version 2.27.12

Version 2.27.11

  • Random NPEs occurring while rendering contents on older versions of Confluence when ConfiForms is set to use parallel loading and filtering
  • New feature to enable strict validation of values a field can accept. Enabled via ConfiForms Field Definition macro for each particular field individually. Useful when you want to ensure the values entered by users gets strictly verified against the "controlled vocabulary" (registered options in choice-based fields, valid users). Some fields, such as text-based could accept any values. But you can have custom validations for value lengths, pattern matching, etc

Version 2.27.10

  • Compatibility with Confluence 7.18.x
  • Fixed memory leak with ConfiForms content extractor caching contents for indefinite time (in a thread local)
  • Fixed issue with show/hide rules when used with a form having an "auto-align" option enabled
  • Fixed issue with storage size calculation for form's non admin users

Version 2.27.9

  • Fixed compatibility with Confluence 7.17.x and ConfiForms ListView (rendering issue related to "Caused by: java.lang.ClassCastException: class java.util.ArrayList cannot be cast to class java.util.Set (java.util.ArrayList and java.util.Set are in module java.base of loader 'bootstrap')")

Version 2.27.8

  • Fixed possible NPE with active redirects 
  • Improved robustness of loading ConfiForms records in enabled "parallelLoading" mode

Version 2.27.7

  • Enhanced time field to work in user's timezone
  • Fixed: ConfiForms Filter macro's reset button does not correctly reset the filter results with certain form's field types 
  • Fixed issue with missing classes reported when IFTTT actions get executed (affects certain older versions of Confluence only)

Version 2.27.6

  • Fixed regression issue with RAW file export (affects cloud migrations and recover APIs)
  • Improved ConfiForms Filter macro to work with options that have parenthesis in their values

Version 2.27.5

  • Improved support for parallel filtering of records that may have smart fields or fields that use lazy loading

Version 2.27.4

  • Fixed ORA exception with ConfiForms storage when used with Oracle database

Version 2.27.3

  • Feature flags (configurable through ConfiForms app configuration) to enable/disable parallel (multi-threaded) data loading and filtering. Might be useful to disable these features when Confluence runs on a low end machines with restricted resources (CPU, open threads, memory)

  • Optimization in data loading for the admin UI view - paged to 500 records by default, with enabled search and filter. OOM fix for data storage size calculation on low memory instances
  • Fixed issue with not checking the value for the field when "required" parameter in Smart Multi-Row is enabled
  • Field Definition rules bound to text fields (not choice based fields) now triggered on "input" event - which helps to reduce the number of useless requests sent by the app
  • Fixed issue with duplicate request being issued when the view has inline search enabled and the view uses "paging"
  • Improved data sorting performance (avg 30% faster)

Version 2.27.2

  • Fixed support for timezones and rendering dates in user's timezone (including CalendarView that now can be set to be rendered in user's timezone)
  • Improved loading and de-serialization of data for large datasets by using parallel processing
  • Improved filtering (especially on free text searches) to use parallel processing for almost all filtering expressions (excluding the ones that use _count)
  • Admin UI now is using paging (1000 records per page is rendered) to improve performance and has an inline search
  • Fixed regression with inline/dialog file delete operation (with forms using file/attachment fields)

Version 2.27.1

  • Fixed issue with IFTTT to "Copy ConfiForms Data" not triggering events (when data is copied to target form)
  • Fixed issue with page discovery algorithm when given without a space key (on large installations it may cause thread stuck and other performance related issues)
  • Fixed bug with asUserLink and asUserLinkMacro Virtual functions
  • Dependencies upgrade based on snyk report on vulnerabilities (no critical/major vulnerabilities)
  • Fixed UI for Dynamic dropdown field configuration (misleading parameter texts removed)
  • Fixed issue with configurations that have attachment uploads and IFTTTs to update the same record

Version 2.27

  • Support for multipart/form-data requests in ConfiForms Server REST API version 1 when yo need to create/update/validate a record that has files/attachments
  • Reworked support for timezones and user timezones. Now functions report correctly times and dates when fields are set to show data in user timezones (for input and output)
  • Support for setting and resetting "comment" field value via IFTTT update
  • Support for evaluating as Velocity template all the page related parameters in IFTTTs
  • Enhanced support for file/attachment fields to be used from within smart multi-row fields
  • Optimized spaces loading query in "Spaces" field type to load user accessible spaces in one go. Significantly optimizing loading performance for instances with large (current) Confluence spaces count 
  • Fixed memory leak in Content extractor (Confluence search) and CachedEntry (thread local bound cache)
  • Fixed issue with encoding on certain server configurations when using Recovery API to recover data that has non-latin characters (accents, umlauts, etc)
  • Fixed issue with IFTTT to redirect to another URL when set to run onDeleted event (subsequent runs were not triggering actual redirect)

Version 2.26.6

  • Fixed issue with resetting radio group field value (reseted value were not saved on update when the field has previous value - ConfiForms Field Definition Rules#Resetvalue)
  • Improving loading performance of smart classifier referenced data
  • Fixed issue with virtual functions applied on web-service backed fields that use the same service url (but show different things and have different mapping)

Version 2.26.5

  • Move/Copy attachments will be still possible on pages that have ConfiForms forms and want to move/copy attachments from the same page even when the user does not have view permissions on the ConfiForms page (when the form is set to "allow reads" parameter, overriding explicitly Confluence page permissions model) 

Version 2.26.4

  • Rendering: Fixed issue with accessing properties of the field when it is referenced through the smart field
  • Rollback of "move attachment" IFTTT change due to incomplete implementation of possible user scenarious. Making it look broken when an attachment that is moved remains referenced in some field of a ConfiForms form

Version 2.26.3

  • Fixed regression in filtering of masked field type values when the field is set to use "numeric" or "date" field type
  • Fixed issue with double <br/> happening on comment fields when rendered
  • Improved support for web-services backed fields that have ID as row identifier (that was incorrectly interpreted as a missing id for the ConfiForms record, as "id" is expected (in small letters))
  • Improved ConfiForms Filter Control macro to work with "metadata" fields, like "created", "ownedBy", etc (on custom layouts) - Documentation
  • Fixed issue with ConfiForms Filter Control and JavaScript that can be set to be executed on filter refresh
  • Fixed performance issue with pages having Smart ConfiTemplates plugin used together with ConfiForms
  • Fallback routine implemented to move an attachment via ConfiForms IFTTT to use saveAttachment/deleteAttachment methods to workaround issues cause with attachment reconciliation process (which happens with enabled collaborative edit) Unable to locate Jira server for this macro. It may be due to Application Link configuration. Important to note that this will only work on certain cases, when source page (where the form is) does not have other attachments or attachments with the same name (multiple versions of the attachment)
  • Fixed security issue with copyAttachment/moveAttachment (proper access rights checks now implemented)
  • Support for scientific notations in numbers - to be used with Supported math operators, formulas and functions
  • Improved Persian calendar field to work correctly with time settings

Version 2.26.2

  • Fix for rendering of attachment picker/file field values

Version 2.26.1

  • Quickfix to address issues with incorrect rendering of multi-value fields when used through smart fields
  • Regression issue fix related to handling of multi-user fields (including voting control)

Version 2.26

  • Added support for rendering QR codes and barcodes directly in ConfiForms! See barcode and qrcode functions in Virtual functions
  • Improved rendering and filtering performance of multi-value fields (we see a 10x times better performance improvements on certain (most) configurations, especially in filters)
  • Implemented an earlier check for app level configuration that disables content indexing of ConfiForms forms (option in ConfiForms app configuration). 
  • Improved support for retrieving _previousState values via ConfiForms Field macros for ALL field types
  • Improved ConfiForms Filter Control to work on Persian dates (and interval fields) + fixed filtering by these field types

Version 2.25.7

  • Added pagination to search API - REST API on server/dc, both versions support startAt and limit parameters
  • Fixed encoding of REST APIs (server/dc) to retrieve ConfiForms data when servers are not running UTF-8 by default
  • Fixed issues with form view rendering when the form has wysiwyg or smart multi-row fields (and dialog/link rendering mode is selected)
  • Fixed issue with auto-align option when used on dialog forms
  • Improving handling of "delete attachment" routines to perform in a separate, non blocking thread
  • Improving handling of dates/datetimes when the format is given in a way that it results in a numeric value
  • Fixed bug with "Apply filter on field" not working on Insight multi-select fields
  • Improved support for ConfiForms FormView macro to be used in Confluence welcome template

Version 2.25.6

  • Hotfix version to address regression issue with field length validation

Version 2.25.5

  • Disabling strict validating (option introduced in 2.25.3) for form's configurations allows you to continue to use field names that differ with system fields by case (although, it is highly recommended to have field names that are different to internal field names each ConfiForms record has Documentation)

Version 2.25.4

  • Fixed issue with inline edits of smart multi-row fields
  • Field Definition Rules now work on a from rendered via Entry Viewer as well (same as with FormView)
  • Fixed issue with incorrect event being sent when a record is changed through Smart multi-row field
  • ConfiForms Registrations Control (FormView) macro's restrictions parameter supports variables and [entry.field_name] notations now
  • ConfiForms EntryViewer's field name parameter supports complex expressions and [entry.field_name] notations as parameter
  • ConfiForms file field now allows to clean up "broken file references". When the file was uploaded using ConfiForms, but has been deleted (directly) using Confluence.
  • Templates can be looked up by space key as well, in addition to [template.TEMPLATE_NAME] you can use [template.SPACEKEY::TEMPLATE_NAME]
  • Workaround for forms that have validation rules around fields that upload image files - Confluence has a bug that prevents ConfiForms from deleting the image file due to a DB constraint. We attempt to workaround this, but this will not work for scenarios when another version of a image file is uploaded (attachment with the same name) - in this case we skip deleting of this file to successfully complete ConfiForms process (as otherwise Confluence raises a transaction rollback)

Version 2.25.3

  • Addressing issue that has been introduced by strict validation of the form configuration (in 2.25.2). Field max length is upped to 60 symbols max. And the rule could be disabled via plugin configuration (but we encourage you to enable this setting if you plan to migrate your ConfiForms data to cloud at some point).

Version 2.25.2

  • Fixed missing header in Smart multi-row field when set to render as TableView
  • Fixed issue with default fields in ConfiForms Filter Control macro (rendering system fields by default as well, which it should not)
  • Experimental support in Import API to allow users to specify "field or fields as unique key" to identify a record to update (in addition to "entryId" column mapping)
  • Added support for importing of smart multi-row field values via Import API
  • Lookup and Set rule (ConfiForms Field Definition Rules#Lookupandsetvalue and others from "Lookup and Set" rules family) has been improved to work correctly with values that have CRLF (new lines) - looked up from TextArea/Markdown field
  • queryAndSet function now to support expressions on the field it is queried on - Virtual functions. Wrapping the field or expression in parenthesis will tell ConfiForms to try to calculate the field, and for numeric/currency fields that will attempt to sum up the values that were found
  • Attempting to improve ConfiForms attachment handling as per advises given by Atlassian in Unable to locate Jira server for this macro. It may be due to Application Link configuration. (to avoid conflicts with Collaborative editing)
  • Fixing issues with incorrect time rendering when "use user timezone" option is selected for date/datetime and datetime interval fields
  • Convenient option to disable ConfiForms indexer globally via ConfiForms app configuration

Version 2.25.1

  • Fixed issues with migrating (to cloud) forms data that have non-latin names
  • Fixed issue with labels auto-align option set in ConfiForms Registrations Control (FormView) macros
  • Fixed issue with double rendering of the template in ConfiForms emails (IFTTT to send emails)
  • _previousState is now accessible directly through ConfiForms Field macros (not only through [entry._previousState]) - if it exists in the context for the current record, see where it exists Virtual functions
  • Virtual function to remove items is enhanced to work better on arguments given as CSV (asList). An example below that removes options from "choice1" field that already being selected and stored in choice1 and choice2 fields

    id.getOptions(choice1).remove([entry.choice1.transform(id).asList]).remove([entry.choice2.transform(id).asList]).asList

    similar approach to create a filter dynamically (filters OUT choices from choice1 that are already used in fields choice2 and choice3). In these examples our choice1,choice2,choice3 fields are of the same structure and type

    choice1:[entry.id.getOptions(choice1).remove([entry.choice3.transform(id).asList]).remove([entry.choice2.transform(id).asList]).join( OR choice1:)]

Version 2.25

  • Improved use of  "_previousState" through ConfiForms Field macro
  • Improved support for custom dialog modes in CalendarView when multiple views using the same form are set up on the page
  • Fixed performance issue with form page lookup when page history is used to render old version of a page that has ConfiForms views (referencing a form on a different page)
  • Fixed issue with incorrect escaping of an "&" in the email's subject
  • Fixed issue with target form not being dynamic (could not set via [entry.field_name]) in ConfiForms IFTTT to update ConfiForms entries
  • New Virtual functions to retrieve pageWatchers and pageContributors (must be used on a page object)
  • CalendarView now supports setting the "week numbers"

Version 2.24.7

  • Fixed an issue with custom layout for the CalendarView's Edit Controls when the view is set to render as "Dialog" in "body placement" parameter
  • Fixed issue with incorrect headers in TableView/CardView when rendered for Action buttons
  • Improvements in inline edits (includes content refresh after action button's action execution)
  • base64 function from Virtual functions accepts a true/false parameter to construct either base64 URL safe output or normal bas64 hash (when parameter is given as false)
  • Fixed issues with initialization of smart multi-row fields that use complex fields in the configuration
  • Fixed edit mode for smart multi-row fields when they used in "FormView" rendering mode

Version 2.24.6

  • Fixed issue with multi-value fields not resetting on form submit (record update)
  • Fixed issue with data export when the filter is using current page [entry._page]. Current workaround (before 2.24.4) is to construct OWN custom export links - Data Export tricks and hints
  • Experimental support in Smart multi-row for new custom way of rendering - using form's defined default layout (when you have own layout for the form designed via ConfiForms Registrations Control)
  • Fixed initialization of action buttons after updates done via inline edits
  • ConfiForms IFTTT to "Send Notification" has been improved and is capable of self-fixing the semi-broken notification templates (for example, when ConfiForms Field macros are put without "views" macros)

Version 2.24.3

  • Fixed issue with ConfiForms ValueView macros used as values for page properties and rendering of a page properties report
  • Fixed issue with formulas inside the field name expressions evaluating big decimals as text values
  • Fixed ConfiForms Field Definition Rules#ApplyFilterbasedonmatchingcriteria when used with "retain values" parameter set and custom filter on the dataset

Version 2.24.2

  • Fixing possible ORA-01795 when Recovery API used to reset forms that have 1000+ records stored
  • Improved support for HTML arguments inside the formulas Supported math operators, formulas and functions
  • Fixed ConfiForms CSS Rules when set to apply on the whole record (table row, for example)
  • New option in ConfiForms Field Definition macro to hide the form's admin UI - (see related Why do I see an extra button with + sign on my form and ownedBy field)
  • Improved support for parsing numeric values (currency values, non english locale values)
  • Fixed regression for required checkbox group fields (not being properly checked)
  • Extended support for function "userInSecurityGroup" to work on multi user fields 

Version 2.24.1

  • Hotfix to address issues with CalendarView events grouping
  • Virtual functions convertToStorage enhanced to accept storage format as a parameter with evaluating [entry.field_name] references if any
  • Added required attribute for required fields in ConfiForms (aiming at screen readers and improving accessibility of forms)

Version 2.24

  • Updated "jsoup" library to 1.14.3 (security fixes) based on snyk (snyk.io) report
  • Performance optimizations in how formula fields are calculated and re-calculated
  • Performance optimizations of rendering forms that have custom layout
  • Performance optimizations of Edit View (dialog) rendering
  • Fixed issue with pageProperties Virtual functions to correctly render the page property value when it contains multiple Confluence macros (as value)
  • Fixed bug with "Time" field type not firing the change event and therefore field rules (set on this rule) were not executed
  • Adding "aria-required" attributes for required fields to be readable by screen readers (better usability and accessibility for users using screen readers)
  • CalendarView supports drag&drop of "events" for configurations using simple field (not an expression) as calendar items grouping
  • Reworked support for numeric values using comma as decimal separator (instead of a dot)

Version 2.23.1

  • Quickfix to address issue with "id" rendering as label in the columns that contain ConfiForms edit Controls macros (TableView/CardView)

Version 2.23

  • Complete rework of how smart multi-row fields and parameters they produce are handled
  • Fixed regression issue with checkbox group not resetting the value after edit (when all options are unset)
  • Bug with multi-row field having a checkbox group field
  • Fixed bug with loosing record ID in multi-row fields on updates
  • Upgraded XStream library to 1.4.18 - https://x-stream.github.io/news.html
  • Cleaned up and removed dependencies that were not used. Plugin is repackaged and is smaller in size now
  • Upgraded dependencies as per report by snyk, see https://developer.atlassian.com/platform/marketplace/dc-apps-security-scanner/ to mitigate and workaround possible (known) vulnerabilities
  • Fixed issues with Persian date field not triggering change events

Version 2.22

  • Fixed issues with possible broken page layout when rendering multi-row fields or using queryAndRender function (Virtual functions)
  • Fixed issues with custom layouts not found (viewers/edit controls) on Confluence versions 7.13+
  • Improved multi-row fields to initialize correctly fields that need initialization
  • Fixed issue with checkbox field in multi-row fields not saving "checked" state
  • Fixed initialization of date/date time fields when used through multi-row field
  • Fixed issues with saving data from multiple multi-rows at once
  • Fixed issue with ConfiForms IFTTT that update record which has multi-row field(s) defined
  • CalendarView uses own CSS styles (old css styles, but prefixed with cf to avoid possible conflicts with other plugins using full calendar)

Version 2.21.6

  • Fixed issue with incorrect migration service url used for Migration from server to cloud
  • Workaround for Unable to locate Jira server for this macro. It may be due to Application Link configuration.  
  • Support for @self and @parent in all parameters in IFTTTs that work on pages / expect page as a parameter
  • Support for helper JavaScript functions (feel free to share yours, so we can bundle them into ConfiForms!)
    JavaScript functions
    Available since versionFunction DescriptionDemo

    2.21.5

    function cfAddFieldRequired(formId, fieldName)

    Adds required field mark / asterisk. This does not make the field required - you need to have an additional validation in place to validate the field's value

    2.21.5

    function cfRemoveFieldRequired(formId, fieldName)Removes required field mark / asterisk from a field. Important to know that if the field is set as required in ConfiForms Field Definition then it still remains as required and users must provide a value before they can submit the form. This function only changes the visual appearance of a field label

    2.21.5

    function cfAddTabStop(formId, fieldName)Adds "tab stop", meaning that the field will be excluded from form's set of fields when moving around using the "tab" key 



    2.21.5

    function cfRemoveTabStop(formId, fieldName)Removes the "tab stop" marker from a field

    2.23

    function cfSetValue(formId, fieldName, fieldValue, isAdvanced = false)Set's value on a field. Set "isAdvanced = true" if you want to set the value on "advanced" fields (such as dropdown fields with lookup, etc)

    3.8

    function cfSetValueWithEventPropagation(formId, fieldName, fieldValue, eventType, isAdvanced = false)

    Same as "cfSetValue" function but  triggers an eventType event

    eventType can be of the following type:

    • change
    • input
    • blur
    • keyup

    This depends on the field you want to trigger this for. Text fields expect 'input', dropdowns and other choice based fields - "change"; Jira, user and page lookup fields expect a "blur"


    2.23

    function cfResetValue(formId, fieldName, isAdvanced = false)Resets value on a field (sets it to empty state).

    2.23

    function cfSetValueByIndex(formId, fieldName, index, isAdvanced = false)Selects value by index in a dropdown (radio) field. Options start with 0 index (so, the first option will be with index = 0)

    3.8

    function cfToggleReadOnly(formId, fieldName, isReadOnly, isAdvanced = false) Toggles readonly attribute (either adds it or removes it, depending on a isReadOnly parameter value)

    3.8

    function cfToggleDisabled(formId, fieldName, isDisabled, isAdvanced = false) Toggles disabled attribute (either adds it or removes it, depending on a isDisabled parameter value)

Version 2.21.5

  • Fixed issue with IFTTTs to update ConfiForms records that has a required field of file/attachment type
  • Fixed issue with ConfiForms IFTTT to update ConfiForms records in bulk that use cascading mode on (also triggering IFTTTs that react onModified and attempt to update other records)
  • Fixed NPE in ConfiForms user settings for web-services when a web-service is restricted to users/not user groups
  • Voting control field could be used in ConfiForms Dynamic Filter macro (rendered as multi-select user field)
  • ConfiForms configuration could be split into different pages and included via Confluence standard Include page macro (in addition to ConfiTemplates, Live templates from Adaptavist or Confluence user macros)

Version 2.21.4

  • Fixed issue with Smart multi-row field type when it is set on fields that require additional initialization (user fields, multi-selects, etc)
  • Fixed issue with JQL field type to export "counts" instead of configured JQL
  • Added missing parameter to set rendering mode in TableViewMerger macro (parallel rendering is preferred, but sequential could be also used)
  • Fixed issue with applying rules on compulsory fields conditionally, where condition involves checking for files/attachments to be empty/non empty

Version 2.21.3

  • Fixed bug with individual edit on file fields (using inline "save" button will (wrongly) de-associate currently linked attachments)
  • Confluence administrators could allow users to define and configure own connections to web-services to be used by ConfiForms (will be accessible if the below parameter is enabled via "user profile → settings → ConfiForms settings")

  • Improved server-to-cloud migration status reporting 
  • Experimental support to allow importing of attachment IDs via Import API for file/attachment type fields
  • Fixed issue with checkbox (as checkbox group) field validation when it was made as required
  • Fixed issue with attachments versioning and deletion of the attachments (via ConfiForms)
  • XSS issue fix in numeric field when set via "Set Value" action
  • Support for using Sorting in ConfiForms in queryAndSet Virtual functions
  • Improved reading of page properties (through pageProperties Virtual functions) when they are given as user macro values
  • Enhanced data export functionality to allow you to define * as a parameter for fields to export (which enables you to quickly override the default behaviour of exporting only the fields you see)

Version 2.21.2

  • Improving support in experimental API for reading excel files with blank data in cells - Using Excel files as sources for ConfiForms fields
  • Ensuring that Smart multi-row fields configurations are valid. No nesting of smart multi-row fields is currently supported
  • Fixed issues with rendering of (ConfiForms) ListViews having certain configurations

Version 2.21.1

  • Added support for smart fields used in Smart multi-row field - ConfiForms Smart Multi-row - what it offers and how to use it
  • Fixed issue with incorrect (success) message shown when multiple registrations control macros are on the page
  • Fixed issue with class loading conflict (affects sending emails with attachments from ConfiForms)
loader constraint violation: when resolving method 'void javax.mail.internet.MimeBodyPart.setDataHandler(javax.activation.DataHandler)' the class loader
  • Fixed issue with conflicting CSS styles for width of form view when ConfiForms Filter macro is also used on the page

Version 2.21.0

  • Introducing Spaces field type. New field type to list Confluence spaces. Although something like is already possible with (limitless) WebService dropdown field, we have decided to make an easier to configure and setup version of the field
  • Introducing new field type to help building master-details forms much easier - Smart multi-row. Field is in BETA version (please do not use in mission critical forms as of now) and your feedback is very appreciated. 
  • Fixed issue with finding correct EntryViewer/Edit Controls custom layout on pages with multiple views over the same form. As well as with configurations having EntryViewer set in "Edit" mode
  • Support for Include Page macros inside ListView with contents evaluation (evaluating [entry.field_name] placeholders found in the included page) + support for referencing Confluence templates from inside the ListView via [template.TEMPLATE_NAME]
  • Improved Virtual functions pageProperties function to support rendering of local (<ac:link>) links (when used within page properties) 
  • Fixed issue with importing values into Dynamic dropdown fields (including the ones backed up by web-service and database query)
  • Redesigned compatibility between WYSIWYG field in ConfiForms and Confluence shortcuts
  • Fixed "Render a striped table" functionality (to work in both: parallel and sequential rendering modes) 
  • Fix for possible NPE when attachment has been removed from a page but is still referenced in ConfiForms record
  • Fixed issue with ConfiForms Field Definition Rules not firing when set up to track changes on a file/attachment fields
  • Fixed issue with rendering attachment field in CardView/TableView when sent via email (current workaround is to use "sequential" rendering mode for the view macro). With 2.21 version sequential mode is always used automatically when used for email / notification
  • Improved pageProperties Virtual functions to render local links and tasks when referenced through this function and used in page properties on a page

Version 2.20.5

  • Fixed issue with Web service connection configurations (missing admin security token)

Version 2.20.4

  • Fixed issue with "base url" when configured to other than root context (submitting forms from custom layouts)

Version 2.20.3

  • Fixed issue with incorrectly removing complete attachment instead of attachment version when attachment is uploaded via ConfiForms form and then deleted (either via record edit or as whole record)
  • Improved "Lookup and set" rule to set the expressions (on requested fields) even when the lookup operation results in an empty value 

Version 2.20.2

  • Improved parallel rendering to be more compatible with 3rd party macros rendered inside ConfiForms
  • New "round" Virtual functions to help with number rounding

Version 2.20.1

  • Quick fix to address compatibility issues with Confluence versions prior to 7.0.1 and ConfiForms
  • Fixed regression issue with CardView rendering (missing headers)

Version 2.20

  • Support for server/data center to cloud migration - Migration from server to cloud (make sure you read about limitations and blockers current process has, and also read about Differences between ConfiForms server/data center and ConfiForms cloud)
  • Parallel rendering to improve performance of large datasets. You can select view rendering mode in each macro.
    • ListView/CleanView and CalendarView use (old) sequential mode of rendering, as it is compatible with larger range if 3rd party apps (try switching to parallel (as it is much faster), but if you dont see expected results switch back to parallel)
    • TableView/CardView/PlainView and TableViewMerger use parallel rendering mode as a default option (as these views very rarely depend/use other 3rd macros to render their output and this mode is a lot faster than old sequential rendering mode)
  • Fixed issue with "Lookup and set value" - ConfiForms Field Definition Rules#Lookupandsetvalue when static parameters are configured to be set on lookup (incorrectly always setting the value, no matter of a lookup result)
  • Fixed regression issue with CheckboxGroup field check for empty value in filters (condition to check fo empty field was not working)
  • When whitelist is enforced in ConfiForms settings, all the redirects are also checked against the Confluence whitelist
  • HTML stored in ConfiForms fields (HTML/Hidden HTML) are now cleaned up and escaped (no scripts allowed, used OWASP policy)
  • All ConfiForms configuration and administrative operations are now following the recommendations found on https://developer.atlassian.com/server/confluence/form-token-handling/

Version 2.19.5

  • Repackaged to avoid direct dependency on Atlassian Cloud Migration Assistant. Starting from version 2.20 ConfiForms will require you to have Atlassian cloud migration assistant installed and updated to latest version https://support.atlassian.com/migration/docs/confluence-cloud-migration-assistant/

    org.springframework.context.ApplicationContextException: Application context initialization for 'com.vertuna.confluence.plugins.confiforms' has timed out waiting for (objectClass=com.atlassian.migration.app.AppCloudMigrationGateway)

Version 2.19.4

  • Hotfix to address issues with incorrect handling of checkbox fields when inline edit mode is enabled

Version 2.19.3

  • Support for enabling auto-delete on form's data when the Confluence page holding the form configuration is (completely) deleted

  • CalendarView now does not collapse/expand events, but show them all in an expandable container. In other words, there is no "+n more events" expandable labels shown
  • Fixed issue with _skipIfParamIsEmpty flag in REST API to update ConfiForms entry (affects both API versions)
  • Fixed possible NPE when space key is incorrectly configured for Configuring ConfiForms IFTTT actions and rules#CreateBlogPost action
  • Optimized performance for issues lookup when using through ConfiForms Jira Issue field

Version 2.19.2

  • Quick fox to address regression issue with edit of "checkbox" type fields

Version 2.19.1

  • Fixed "Redirect to URL" IFTTT (Configuring ConfiForms IFTTT actions and rules#RedirecttoURL) action to work correctly onDelete
  • Fixed Import API to work correctly on "empty cells" in Excel files
  • Improved support for importing "date formatted" values from Excel files (now ConfiForms attempts to convert these values to timestamps to import)
  • Fixed regression issue with "broken" export links
  • Improved "sort" function in Virtual functions to work correctly on ConfiForms entries as well

Version 2.19

  • Improved rendering performance for views using Edit Controls macro (when rendered for form's non administrators)
  • Fixed issue with supporting 0, and 0. values in formulas
  • Fixed ConfiForms Field Definition Rule to set the value on "Jira" field
  • Support for sort and limit parameters in export - Data Export tricks and hints
  • Fixed issue with multiple change handlers set on the form's fields which resulted in multiple rules check invocations
  • Fixed issue on inline edits (whole record) when a view has complex fields and expressions that use the same field (like fields that expose referenced records, when we talk about smart fields or fields with functions and transformations (applied on the same field in one view))
  • Improved rendering of restricted fields. Overall improvements in rendering performance (our tests show 15% quicker results on the same datasets)

Version 2.18.16

Version 2.18.15

  • Exports reworked and new service endpoint (fixed issues with incorrect Content-type served on certain cases) has been introduced

    /plugins/servlet/confiform/export  See updated Data Export tricks and hints

  • Improved support for Web-service backed fields when the choices are given as JSON array (of strings/numbers). Fixed "Apply filter on field" rule and retrieving field values through [entry.field_name] notations from the fields of these types and structures (no mappings for ID field)
  • Formulas are now correctly recalculated on any "quick action" - updates issues via action buttons, adding/removing comments, voting and "quick enrolling actions"
  • Permissions are now correctly verified on anonymized forms that involve interactions with pages/blogposts and attachments
  • Fixed issue with broken support for managing view/edit permissions on blogposts via Remove Page Edit Restrictions, Remove Page View Restrictions, Restrict Page Edit and Restrict Page View
  • Fixed issue with incorrectly added prefix to Confluence server in the contents generated via ConfiForms (emails, pages) that has links which contain mailto:

Version 2.18.14 

  • Improvements in formula calculations (Supported math operators, formulas and functions) to allow numeric values separated both, by comma and by dot
  • Improvements in memory/resources clean up after processing ConfiForms rendering operations
  • ConfiForms Field Definition Rules#ApplyFilteronafield works correctly on web-service fields backed by "array of values"
  • Fixed issue when ConfiForms was looking for the form's configuration page by it's title and was wrongly taking the blog post (when the blogpost had the same title)
  • Support for tooltips in fields (values) - new parameter on ConfiForms Field to enable field descriptions to be rendered as tooltips
  • ConfiForms contents indexer is improved to avoid initiation of transaction rollback on minor cases
  • Fixed bugs with loading and caching of loaded Jira issues
  • Add/Remove page watcher (IFTTT - Configuring ConfiForms IFTTT actions and rules#AddPageWatcher) can work also on pages that have ConfiForms that "allow reads" for users without proper view permissions on the page
  • Fixed issue with DateTimeInterval field when used is sorting, without specifying property (startDate/endDate) to sort on

Version 2.18.13

  • Using new Audit IFTTT action has been fixed to correctly set the "creator" of the audit log entry to be the user who made the auditable change
  • Support for arrays of values in Web-service backed fields (not required to have JSON object as a mappable option, but supports "strings" as well)
  • Fixed bug with filtering by file name when file name contains a comma (,)
  • Fixed bug with ConfiForms Filer Control macro with option set to use date ranges and when a date/datetime field uses custom formatting pattern in the form
  • Bugfix to preserve the "required" attribute on field label when the ConfiForms Field Definition Rules#Setfieldlabel rule is used on required fields
  • Support for [entry.field_name] parameters when contents in referenced through ConfiTemplates https://wiki.vertuna.com/display/ST

Version 2.18.12

  • Fixed ConfiForms CSS Rules macro when applied on the TableViewMerger which is used in "aggregation mode"
  • Improved Import API to support "updates". Select "entryId" as a mapping for your column containing ConfiForms's record internal ID to perform an update on record
  • Making sure the plain view is returned when using "evaluateFormula" formula from Virtual functions
  • Improving rendering performance of page properties - using lazy loading and optimizations for non rich-text values to render quicker

Version 2.18.11

  • Fixed issue with extracting ConfiForms contents via Confluence search extractor when Smart templates and LiveTemplates are used with ConfiForms for contents reuse
  • Fixed double escaping of options in Dynamic dropdown fields (+DB/WS) - when & was escaped and shown and &amp; and so on
  • Fixed issue with updating of radio/checkbox fields that are set read-only via ConfiForms Field Definition Rules

Version 2.18.10

  • Fixed issue: An internal label for EntryViewer was rendered in the TableView/CardView/TableViewMerger macros
  • Fixed issue with custom layouts for EntryViewers
  • Fixed issue with read-only fields (set via Field Definition Rules) and record updates

Version 2.18.9

  • Fixed issue re-saving data in forms having a file field (looses reference to file on re-save)
  • Improved support for Confluence search extractor when Smart templates and LiveTemplates are used with ConfiForms for contents reuse
  • TableViewMerger macro now has a mechanism to safely merge the forms with different structures sharing the same key and when certain fields are of formula field type are used in the result

Version 2.18.8

  • Hotfix to address an issue with individual updates (for fields)

Version 2.18.7

  • Fixed issue with Virtual functions trim/trimLeft/trimRight
  • Fixed issue with rendering an empty option for radio/checkbox group fields backed by the web-service call
  • New option in Formula field to disable formula recalculation on "view" (formula will be recalculated ONLY on record update)
  • Improving caching of WebService field values to improve rendering performance
  • Fixed issues with using Virtual functions on Attachment picker field
  • We have extended ConfiForms Server REST API version 1 to include an endpoint to export RAW datasets
  • Fixed issue with update REST API call in ConfiForms Server REST API version 1 not taking correctly the ID of the entry (+ added support to specify "id" parameter in the JSON payload as "id" (as alias), and not necessarily as "entryId")
  • Performance optimizations in TableViewMerger rendering (specifically when expressions are used and the data is aggregated)
  • Improved support for TableViewMerger macros used inside the ListViews with sources given using dynamically filtered TableViews

Version 2.18.6 

  • Added new feature to "disable page evaluation" against the current record values when using Configuring ConfiForms IFTTT actions and rules#CopyPage
  • New option for ConfiForms Registrations Control (FormView) for "hideIfMatches" parameter to force using the form's dataset with this parameter (even when the macro is used within the other container "view" macro, such as ListView, CleanView, CalendarView)
  • Fixed issue with "Inline add" feature in TableView/CardView when a form has ConfiForms Field Definition Rules
  • Fixed issue with "hideIfMatches" parameter in ConfiForms Registrations Control (FormView) to take correct "record" for matching when used in nested macros (other ConfiForms views). Also improved performance to verify this parameter earlier which results in a better rendering performance
  • Fixed issue with [watchers] keyword that can be used to get form's page watchers and send them email or notification. Also fixed issue with loading "space watchers" into the list of recipients - now space watchers will receive a notification as well when referenced through [watchers] in the ConfiForms IFTTT macro configuration

Version 2.18.5

  • Fixed regression issue with ConfiForms field of "file" type when "fancy input" parameter is selected - now selected file/files are correctly rendered / shown
  • Optimized rendering and loading of Attachment picker field values when used on the view that uses free text search

Version 2.18.4

Version 2.18.3

Version 2.18.1

  • Fixed issue with "hiding the Insight key" parameter not working when used on multi-select Insight field
  • Comment field with "inline comments" mode enabled now respects correctly the "edit restrictions" parameter
  • ConfiForms IFTTT to send emails now support an option to automatically include Confluence CSS styles into the email template
  • Fixed issue with "Copy Page" IFTTT where not a copied page was added to the IFTTT result
  • Fixed issue with applying virtual functions on formula fields (values), on recordId property and on certain cases on hidden fields
  • Performance optimizations for "pageProperties" Virtual functions (especially when multiple page properties are requested from the same page)

Version 2.18

  • Fixed compatibility issues with Confluence 7.4 and lower (Now ConfiForms is again compatible with Confluence version as old as 6.3)
  • Support for PAT tokens in ConfiForms REST API. New version of ConfiForms REST API
  • Fixed CSS styling for CalendarView in Confluence 7.11
  • Fixed use of [unique] as validation parameter in ConfiForms Field Definition macro for formula/calculated field type
  • Experimental support for Import API to perform a lookup by label, when the label is given instead of an ID for key-value fields (dropdowns, checkbox groups, radio group fields, etc)
  • Fixed form definition rules processing error (404) when used within the ListView on a different page (not the same page where the form is defined)

Version 2.17.1

  • Fixed copy the record functionality when the form (with files) is set to use secure storage
  • Confluence 7.10 and 7.11 have introduced incompatibilities with ConfiForms CalendarView which we are trying to solve...
  • Fixed issue with classes conflicts in proxies (affects Jira issue lookups and other)

Version 2.17

  • Fixed issue with setting view permissions via ConfiForms IFTTT to correctly set the inherited permissions on child pages
  • ConfiForms IFTTTs to Update ConfiForms Entry and Update ConfiForms Entries by filter now correctly handle attachments, copying them (creating new versions)
  • New Virtual functions to evaluate formulas and calculating expressions - evaluateFormula
  • queryAndSet function now supports aggregations and expressions
  • Copy entry functionality to copy correctly the fields with attachments (new versions of attachments created now)
  • Fixed issue with configuration of Dynamic multi label fields
  • Fixed issue with Dynamic multi label fields used in ConfiForms Filter macro and when multiple labels were selected to filter
  • Delete attachment IFTTT now respects the settings you can set on ConfiForms Form Definition macro to bypass a requirement for page edit permission when used to upload files (and can delete the attached file, even when is invoked by the user who has no permissions to do so)
  • Compatibility with Confluence 7.11
  • Fixed regression issue with Smart Classifier / DB Smart Classifier not firing "change" event when the selection is made by the user which breaks field definition rules that bound to this field's change events 

Version 2.16.10

  • Fixed issue with extracting properties of file/attachment fields (affected also the filters)
  • Added support for setting placeholders on fields

Version 2.16.9

  • Improved experimental Import API to avoid data double parsing, fixed issues with XLS/XLSX parsing and, as a result, improved performance when importing XLS/XLSX files
  • New virtual function to help with value lookups on ConfiForms IFTTT macros - queryAndSet (Virtual functions)
  • New: support for removing the comments (ConfiForms comment field). And owner of the comment or form's admin now can remove the comment if necessary
  • Fixed issue with WYSIWYG field not firing correctly "change" events that prevented users from setting up ConfiForms Field Definition Rules macros on the field of this type
  • Fixed possible XSS issue when IFTTT executions are set to report in debug mode
  • Improved compatibility with ToC macro and ConfiForms form headers
  • Fixed issue with DB connections configuration exposing database password to admin users unencrypted

Version 2.16.8

Version 2.16.7

  • Fixed issue with setting up the ConfiForms Field Definition Rules macro  to react on the change on the Jira field (+ Jira multi-select, Insight field and Insight multi-select fields) 
  • Fixed issue with incorrect rendering of the contents when action button having a "success message" set is used within the ConfiForms ListView (affects CleanView and CalendarView as well)

Version 2.16.6

  • Fixed NPE with xsrf token generation
  • New feature: you can enable labels "auto align" when form uses custom layout. Same thing described here is done for you automatically

Version 2.16.5

  • Fixed issue with incorrect rendering of Jira fields when used with expressions
  • Fixed issue with rendering of smart fields that reference rich fields via expressions

Version 2.16.2

  • Fixed "Hide if matches" (and "reverse" option) on the ConfiForms Field macro when used in ConfiForms ListView/CalendarView/CleanView. As current workaround for this issue users may use ConfiForms IfMatches macro to have the same rendering result
  • Attachment picker now supports @parent and @self in it's configuration for the page with attachments 
  • Fixed issue with ConfiForms CSS Rules macro when used in ConfiForms ListView/CalendarView/CleanView macro 
  • Hotfix to address an issue with Smart classifier field values rendering

Version 2.16.1

  • Fixed issue when ConfiForms Field Definition Rules use [entry._page] in the filters / lookups and that points at the form's storage page, not at the page where the "form view" macro is located
  • Fixed issue with incorrect rendering of non-latin symbols in user multi field
  • Fixed rendering issue with TableView/CardView where certain fields have dynamically applied view restrictions and views were rendering with gaps
  • Support for Scaffolding Live Templates as a possible source for ConfiForms macros (can load contents from the configured via LiveTemplates target page/template)
  • Improved support for rendering rich contents fields when they are referenced through the smart fields. For example: that means we can render correctly a multi-page field that is referenced through the multi-select smart field (or any other type of smart field) as a nicely looking links to pages referenced

Version 2.16

  • We are starting to implement protection mechanisms agains the XSRF attacks where possible and appropriate (https://developer.atlassian.com/server/confluence/form-token-handling/)
  • Support for variables (via [entry.field_name] notations) in trunc/trim, truncLeft/truncRight and trimLeft/trimRight Virtual functions. Fixed trim*/trunc* functions to work and cut the value correctly
  • Fixed issue with incorrect message encoding when record was updated from "inline edit"
  • Improved support for field definition rules when used in inline modes (including a fix for field's re-initialization after "apply filter" rule was applied)
  • ConfiForms IFTTT to delete entry (and update entries by filter) now supports dynamic parameters for form name and form's page location parameter
  • Fixed issue with transformation of DB- and WS-backed dynamic multi-label fields
  • Fixed issue with complicated expressions involving dynamic parameters referencing other field's value also dynamically. Something like: 
[entry.date.startDate.timestamp.add([entry.periodicy.multiply(86400000)])]-[entry.date.endDate.timestamp.add([entry.periodicy.multiply(86400000)])]
  • Extracting page properties now supports when page property names are given as table headers (not only as 1st table column within TD element, but also could be given as a header, via TH element)
  • Fixed issue with calculation of averages in TableViewMerger
  • Fixed UI glitch when "use as proxy" parameter was not correctly rendered in macro browser in "Webservice Object Referencing Field"

Version 2.15.8

  • Fixed issue with incorrect encoding and escaping of cyrillic/umlauts in validation messages (affects custom validation rules, field definition validation rules/messages)
  • Now explicitly using UTF-8 encoding when serving pages lookups in the results provided by connected web-services (when used via ConfiForms proxy, affects fields that have "proxy" mode)

Version 2.15.7

  • Fixed issue with incorrect rendering of Cyrillic and/or umlauts in form's titles
  • Improved CalendarView to support custom layouts for the dialogs when used to show a "dialog" as "body placement" option (via CalendarView's macro body)
  • Fixed "index out of bounds" issue when form:pageId location is given without "pageId"

Version 2.15.6

  • Now it is possible to override web-service connections timeouts (ConfiForms app general settings)
  • Fixed regression issue in ConfiForms Field labels rendering when used to render field's value with a label i Cyrillic or with umlauts
  • split function from ConfiForms Virtual functions now correctly takes splitting parameter as a parameter and not as a regular expression

Version 2.15.5

  • Fixed issue with use of LIMIT functionality on the view and the restrictions set by Confluence administrators on the max number of records rendered in a view (when the limit is lower than the configured maximum ConfiForms should not report the error)
  • Improved Web-service and database query backed field types to support "proxy" modes and perform dynamic requests to underlying services when necessary
  • Improved support for "Apply Filter on field" action when it is applied on a smart field which references a "choice-based" field, but is set not to have "reference to records" (smile)
  • Fixed double-escaping for field labels (affects field labels having &, umlauts and other non-latin symbols in their values) 
  • Fixed issue with rendering of an auto-number field value when configured to render through a smart field. Now renders correctly the number with configured pattern, not an internal value
  • Improved support of Velocity templates in ConfiForms IFTTT actions to send email/notification and the handling of an inner macros, such as PlainView (with enabled Velocity rendering). 
  • Fixed issue with CSS not applied correctly when defined in ConfiForms Field macro and used via TableView/CardView macro
  • Enhanced support for @parent in parameters that reference form's page

Version 2.15.4

  • Fixed issue with "Lookup and set" action in ConfiForms Field Definition Rules macro that uses "[entry._count]" in parameters
  • Fixed regression issue with Velocity templating evaluation and the field values available context in particular (for empty single-value holding fields (choice based like dropdown))
  • Fixing possible XSS issues in form confirmation and success messages, in field descriptions
  • Improved our internal parser/templating engine when you reference field values via [entry.field_name] notations and when you use functions that involve [ or ] in the parameters

Version 2.15.3

  • Fixed compatibility with Confluence ToC (Table of Contents) macro when used on the page with a ConfiForms FormView (in embedded mode) and H2 is used as a header that constructs the ToC
  • New filed type: Dynamic multi-label backed by a webservice call - allows you to have value lookups against your backend systems and store multiple matching results (supports "as proxy" mode, allowing you to query your backend service dynamically)
  • Unlimited number of pages can be used for TableViewMerger macro sources (when discovered dynamically via CQL)
  • New configuration panel to help you to overview the number of pages having ConfiForms Form macros (form configurations)

  • Fixed context filling logic when PlainView is used to evaluate own macro body as a Velocity template
  • Enhanced support for ConfiForms Field macro's "filter" parameter to work in inline mode (inline edit and inline individual edit)
  • Fixed security issue with Markdown field when rendering a markup that contains links (now sanitising links that are considered harmful (executing JavaScript, for example)) 
  • Improved export functionality to support custom "headers" in exported CSV/Excel files - see more on Data Export tricks and hints ("headers" parameter) 
  • Fixed issue with rendering of certain ConfiForms views (MatrixView at the moment) that dont support "paging", and the paging limit was set by the administrator (and records number per view exceeds the limit)
  • Added support for paging in PlainView and in CleanView macros
  • Improved support for [entry.fieldname] notations that use functions that have [ or ] as parameters (For example: [entry.f1.replaceWith([,”).replaceWith(],”)])

Version 2.15.2

  • Fixed inline search for ListView
  • Implemented a workaround for the issue with ConfiForms content extractor on Confluence 7.x. The issue seems to be with Confluence itself, as when ConfiForms extractor is enabled the text files stop being indexed and searchable. 
  • Fixed issue with ConfiForms IFTTT to create new entry and transfer record "ownership" to new owners
  • Fixed issue with auto-focusing on the 1st form's field when ConfiForms FormView (in embedded mode) is used no matter if the option to set "auto-focus" is used or not
  • Fixed JS issue with initialization of "Copy record" function when Edit Controls are used in compact mode and with dialog mode
  • Fixed issue with ValueView when it is set to aggregate values with defined custom field label and "show with label" parameter is enabled 
  • New "view" macro for ConfiForms - MatrixView. Convenient way to show grouped and filterable data to your users.
  • Fixed issue with file preview when attempted to open from the ConfiForms dialog window. Now the file is downloaded instead (as Confluence file preview functionality seems to be not working correctly for consecutive openings, and fails to open a file for preview on second and further attempt)
  • ConfiForms IFTTTs to add/remove the watcher, add/remove restrictions and "page reindex", now correctly take the "form's content page" when no page is set in parameters
  • Fixed NPE in TableViewMerger macro when flatting is used on smart fields that reference deleted records
  • Fixed styling of a "required" attribute on fields when used in custom layouts

Version 2.15.1

  • Quick fix to address the issue of rendering <div> wrapped field values to be rendered as inline <span>, so it works nicely with customer templates using ConfiForms data
  • Fixed issue with inline edit when the result of the edit should run a custom user JavaScript (defined via ConfiForms IFTTT handler). This is now supported

Version 2.15

  • New IFTTT action to "Copy Page" and that includes the whole hierarchy if necessary! Created pages can be dynamically named and processed through the "record" they were created from. That allows you to create a truly dynamic copy of pages from a given page tree or single page
  • Parameter "_skipIfParamIsEmpty" in ConfiForms REST API now works this way that if the field is not supplied as parameter it takes the default (or existing value for the field, in case of update)... but if it is present then it takes the value given in the parameter for this field
  • Fixed inline edit for WYSIWYG field when it contains certain "HTML" tags. This required us to change the values output from wrapping it in "<span>" into wrapping it in "<div>". So, you have some very custom scripts that were relying on something like span[id^='i_holdingrow_']  you will be required to update those to be something like div[id^='i_holdingrow_'] . This only affects you if you have a lot of custom scripting and customizations around the output generated by ConfiForms
  • Fixed issue with "comments" field incorrect value escaping
  • Fixed avatar CSS styling when user/multi-user field value is shown in ConfiForms views
  • Fixed issue with TableViewMerger counting incorrectly on configurations where "count_" is used and fields used as parameters for calculation expressions
  • Improved support for Jira/Jira (multi-select) in ConfiForms Filter macro
  • Improved rule "Apply filter based on criteria" to support matching against multi-value fields
  • Fixed issue with web-service backed fields which use JSON which has field names with underscores (like "sys_id", "account_id", etc). This has resulted in incorrect value lookup for "empty" fields via [entry.field_name]
  • Fixed export to Excel to truncate field values that are larger than 32K (string cell in Excel can store the value of 32767 characters max)

Version 2.14.4

Version 2.14.3

  • Inline edit for fields improvements, including the fix for the inline editor rendering for edit restricted fields + fixed rendering of the fields with labels with enabled individual edits
  • Fixed issue with "comments" field not updating UI after the comment has been added by the user
  • Fixed security issue exposing passwords to hidden HTML element in plugin administration UI when configuring connections to external systems and databases
  • Improved support for printing the forms when custom layout is used for the form and a user has multiple views over the same form using custom layouts for "edits"
  • Fixed issue with detailed panel rendering in a CalendarView when used [entry.field_name] notations
  • Fixed ConfiForms IFTTT to add/remove page watchers to support "silent mode" and not to report and error when the option is set and the error occurs (most often a user permission error occurs)
  • Now the parameter "Reply-To" in ConfiForms IFTTT with action set to "Send email" supports dynamic variables (via [entry.field_name] notations)
  • ConfiForms IFTTT macro with an action set to "Update entries by filter" now supports and option to "not to trigger" update events on the updated entries/records
  • Improved "hasChanged" function to work correctly on new records. Now a property that has other than null/empty value is reported as a changed value for new records

Version 2.14.2

  • 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+, https://confluence.atlassian.com/confkb/aui-tabs-do-not-render-properly-on-confluence-pages-1021236940.html
  • 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
  • New: support for "pre-setting values" when "inline add" for the view is enabled. This allows to add new records to the "inner view" inline with a preset references for fields connecting it to outer view 
  • ConfiForms IFTTT to send emails now supports setting "Reply-To" header

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

/ajax/confiforms/rest/jira-issue-mapping.action

Examples:

For web service connection

/ajax/confiforms/rest/jira-issue-mapping.action?webServiceId=a4c253e1cc9d7534f136279e03de444d&projectKey=JTEST&issueType=Story

For applink

/ajax/confiforms/rest/jira-issue-mapping.action?applinkName=MyJira&projectKey=JTEST&issueType=Task
  • 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 ${iftttResult_0.id} can be safely replaced with [iftttResult_0.id]). 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)
http://YOUR-CONFLUENCE-SERVER/ajax/confiforms/rest/create-page-with-view.action?pageId=<PAGE_ID>&formName=<FORM_NAME>&viewType=form-view

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" - https://developer.atlassian.com/server/confluence/secure-your-macro/ (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

/ajax/confiforms/rest/storage-details.action?pageId=819201&formName=f&fieldName=mypage

- 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
@ExportAsService({ConfiFormsStorageComponent.class})
@Named("confiFormsStorageComponent")
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 [entry._page.id] 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:rich-text-body>
            <p>
              <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>
            </p>
            <p>
              <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>
              </ac:structured-macro>
            </p>
          </ac:rich-text-body>
        </ac:structured-macro>
  • 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

    Example: 
    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>
  <ac:rich-text-body>
    <p>
      <br/>
    </p>
  </ac:rich-text-body>
</ac:structured-macro>
<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>
  <ac:rich-text-body>
    <p>
      <br/>
    </p>
  </ac:rich-text-body>
</ac:structured-macro>

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

    [YOUR_CONFLUENCE_SERVER_URL]/ajax/confiforms/rest/fix-storage.action?formName=<FORM_NAME>&pageId=<PAGE_ID>
  • 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

    j.asJSON.return.*.*.comment

    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)

    [YOUR_CONFLUENCE_SERVER_URL]/ajax/confiforms/rest/fix-storage.action?formName=<FORM_NAME>&pageId=<PAGE_ID>

    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]
    #end
    
    
    #if(("[entry.t2]" != "[entry._previousState.t2]"))
    [entry.t2] [entry._previousState.t2]
    #end
  • 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

    https://<YOUR_SERVER>/ajax/confiforms/rest/export-to-rss.action?
       pageId=<PAGE_ID>
       &f=<FORM_NAME>
       &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 (https://ecosystem.atlassian.net/browse/DCHELP-387). 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

    {"data":"<list></list>"}
  • 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)

    [YOUR_CONFLUENCE_SERVER_URL]/ajax/confiforms/rest/storage-integrity.action?formName=<FORM_NAME>&pageId=<PAGE_ID>
  • 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)
    
    
    mypicker.asAttachment.content.id:[entry._page.id]
  • 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

    [YOUR_CONFLUENCE_SERVER_URL]/ajax/confiforms/rest/storage-analysis.action?spaceKey=<SPACE_KEY>

    Auto-migration

    [YOUR_CONFLUENCE_SERVER_URL]/ajax/confiforms/rest/auto-migration.action?spaceKey=<SPACE_KEY>

    Storage integrity check

    [YOUR_CONFLUENCE_SERVER_URL]/ajax/confiforms/rest/storage-integrity.action?formName=<FORM_NAME>&pageId=<PAGE_ID>

    (Force)Migrate form's storage via service

    [YOUR_CONFLUENCE_SERVER_URL]/ajax/confiforms/rest/migrate-to-storage-v3.action?formName=<FORM_NAME>&pageId=<PAGE_ID>
  • 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 - https://docs.atlassian.com/aui/7.8.0/docs/tables.html

  • 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, https://marketplace.atlassian.com/apps/1211860/confiforms-data-forms-workflows/version-history#b105004060
  • 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


 





  • No labels