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/ |
Since ConfiForms app version 2.x we will publish release notes here
|
<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> |
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> |
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
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)
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 |
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 |
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>"} |
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> |
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
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] |
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