Changelog 3B Forms v9.x (Abel)

From 3B Knowledge
Jump to navigation Jump to search

Version 9.0

HTML Output Field Enhancements

Context Aware Merge Tags

The major change is that we have made the HTML output element context aware. This means, that if you drop an HTML output element in a form, it will have visibility of it's context. So, if you add it to the top level, then you can merge with fields of the contextual object. If you add it to a child/parent, then you can merge with fields of that contextual parent or child record.

Please note that this works great for Context/Parent contexts however if you add the HTML output to a child repeat panel, we will merge the fields when the form is opened, however if the user adds a new panel, then the merge fields will render as their merge tags as adding a new panel doesn't equal to adding a new record in the system.

Context Aware HTML Output

Other enhancements:

- We have added a merge tag builder against HTML output. Go to an HTML output field and click on "Get Merge Field" to get the context scope or merge field path.

- When the form is opened and merged, we will store the merged HTML output values in the response.json against the Form Response record. This is useful for the Save as Draft feature delivered in this update as well as for audit tracking.

- Previously, applied font and text styling wasn't correctly retained when the form was opened. This was a bug with how we were loading the CSS styles. This is now resolved - we will render the form exactly as per the HTML output configuration

- Previously, if a Date/DateTime/Time field was added inside HTML output, we would render it as a UNIX timestamp (a long number). This is now resolved. We will render them as ISO Strings.

- The new Merge Tags builder now supports formula fields

Related Tasks

DEV-1296, DEV-1195, DEV-1198, DEV-1250, DEV-1289, DEV-1156

Save as Draft Functionality

Save as Draft Builder Option

With this release, we are adding "Save as Draft" functionality to 3B Forms. To use this functionality, set the "Save as Draft" checkbox against the form level settings to true.

Save as Draft Button

How it works?

When a form is enabled to save as draft, a new button will become available against the 3B Form, next to the "Complete" button. This button will only ever be visible if the form is pre-populated (i.e. you have added a recordId parameter).

When the user clicks on "Save as Draft" we won't insert the form record(s) into the database, instead, we will update the Form Response Type to "INCOMPLETE". This indicates that the user started the journey, but they never clicked on "Complete" button.

The user can continue the draft form response by following the same link they were sent (secure or non-secure). We will then perform a check to see if we have a Form Response in the system with Type "INCOMPLETE" which matches the Form's ID and Record Id. If so, we will pre-fill the form from the previous response as opposed to from the salesforce data, ensuring that the user continues their journey where they left.

When a form is embedded in 3B Onboarding and has Save As Draft, we will not create a Document Submission until the user has clicked on "Complete" button to complete the form. We will however present them any previous draft submission within the compliance screen.


Related Tasks

DEV-1126

Dynamic Drop Downs and Parent Lookups

Dynamic Dropdowns

This version adds the ability to dynamically populate the choice options within a dropdown/multi-select form. A new option against drop-down and multi-select fields is now available called "Use Dynamic Options" - when checked, additional options will appear:

Object - search object. Will be auto-set to the reference object name if the field is a Lookup/Master Detail

Custom SOQL - filter query to restrict the object records

Value Field - the field that will be used to set and save the selected option(s)

Label Field - the field that will be used to display for the retrieved choices


Dynamic Drop Downs are extremely useful for example when you have a reference field on your contextual object and need to select a record to assign. You can also use this functionality with database field types that are not References, e.g. texts, dates, picklists etc. In such case, when the form user selects option(s), we will set the "value field" to the target salesforce field.


Related Tasks

DEV-1066

Google Address Search

Address Autocomplete

This version adds a new field type "Address Autocomplete" in the fields toolbox.

You can use this field in order to allow form users to search for an address and then map the selected address to form fields.

When you have added the input field on the form, you need to map the google address component field to the form address input field.

When the form user selects an address from the Google suggested addresses, we will use the configured mapping to pre-populate the form address input fields with the google address component fields.


Note: You will need to set the "Google Maps API Key" custom setting in Forms General Settings with the client's API key. It is required for the field's correct operation

Related Tasks

DEV-1075

Other Improvements & Changes

  • Added Re-Sync Field button on question types. When clicked, we will re-sync the field with the database definition. Useful if you want to sync the picklist/multi-picklist options with the form input without having to remove and re-add it.
  • DEV-1245 Language selection drop down UI and UX has been improved
  • Automatic field conversion on System Field assignment - we will now auto-set the field type and subtype based on the System Field's type. Example, if the System Field is "Date", the form field will also be converted to a Date input.
  • Breaking: Changed the form component's tag to <complete-form> from <x-form>
  • Added the ability to validate child related object's SOQL filter. A new button is available in Child Panels that allow you to validate your inputted SOQL filters. This has the further benefit that we will only check the validity if you invoke this button, improving the UX of entering filter SOQL statements
  • Added multi-file upload support. You can now allow input fields to accept multiple files. You can limit how many files can be uploaded
  • Added the ability to map a Signature field to a System Field. We will store the signature's base64 (image) value in the target system field. We can also pre-populate Signature inputs from System Fields.
  • When a form is configured to be Saved as PDF at the end of the workflow, we will also display additional properties that allow you to control the output PDF.
  • We have changed how file uploads are handled. In line with best practice, we now upload the file(s) as soon as they are selected on a form. We will upload the file(s) and link them to the Form Response record until the form is submitted & completed. When the form is completed, we will relate the previously uploaded files to the correct system records. This has the added benefit of improving the form saving time.
  • Documents AI - we have removed the "Manual Interaction" option and we have re-factored the AI functionality, maturing and further improving its operation

Fixes

  • Fixed an issue where URL parameters won't override form inputs correctly
  • Removed form overscroll - on mobile, users could scroll out of the boundary of a form
  • Fixed font/styling issues in the Form Builder and generated Form

Other Changes

  • The product has been completely refactored with this version. This was necessary so we can streamline our development cycle. The risk is that we might have missed/changed some default functionality during the refactor.
  • There are numerous bug fixes across the Form Builder, Form and Form Preview components.
  • We have improved the form saving procedure to ensure a more robust form saving cycle.