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

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 

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


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

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