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
Since ConfiForms app version 2.x we will publish release notes here
(Smart) multi row field - new field type to help with "inline" creation of master-details structures
"ConfiQuery" field type to help you to link other form's data and associate it with a particular field/row in your current form
New ConfiForms IFTTT Action to Audit records
New ConfiForms IFTTT action Rename attachment
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 classified 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
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
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
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
Fixed issue with emails generated by IFTTT where file holding fields were used to show the other properties of the file (were not visible on rendered email, which is now fixed)
Fixed issue with incorrect escaping of the data while importing with Import API
Version 2.0.11
Fixed issue with removing attachments when a record with file/attachment field get's deleted
Fixed issue with storage auto-migration from ConfiForms version 1 to version 2 when content is re-indexed (which has caused issues due to read-only transactions used by the indexer)
Fixed issue with null pointer exception thrown when IFTTT was processing onDeleted events and IFTTT actions were using ConfiForms Field macros (sending email on when a record gets deleted, etc)
Implemented support for READ-ONLY mode in Confluence. ConfiForms becomes READ-ONLY as well.
Version 2.0.10
Implemented support for | in link field type, to allow setting the labels to links
Rules for text fields are now applied on keypress (keyup), and not on blur - this allows us to have a more responsive user experience
User field profile is always loaded
Support for user names having a spaces for multi-select user fields in ConfiForms
Fixed minor issue with cache initialization for data loaded from JIRA (Issues and Insight objects)
Introduced "remove" virtual function to support the removal of a substring or element (in case of multi-value field) from the values
Connection timeout for web-services connections is set to max 20 seconds
Fixed issue with ConfiForms Filter macro incorrectly transforming all the fields to dynamic dropdowns
Additional service to help with autonumbers in forms after migration (if migrated from ConfiForms version 1.x to ConfiForms version 2.0.8 or lower)
The service makes sure there are no gaps in the records and all the missing / deleted "records" get also migrated carefully.
Fixed Persian Date field bug not showing correctly the date stored (when in edit mode)
Fixed issue with incorrect attachment version in presentation when used with "file" field when an attachment has multiple versions
Fixed issue with showing file field's value when an attachment referenced has been deleted
Added support to ConfiForms IFTTT to send emails with field value changes. The following constructions (inside ConfiForms IFTTT macro body) show how to check for changes in fields "t1" and "t2". And only in case the value has been changed it will be printed (in this example together with it's previous value)
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)
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. 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)
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
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)
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.
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