Unifi 4.1 Release Notes
Release date: 17 November, 2023
Highlights
Interface Update
The portal interfaces have been upgraded to include our latest branding and a fresh experience that makes building and managing integrations faster and easier than ever.
New Feature: Templates
We are excited to introduce Integration Templates.
Marking an integration as a template makes it easier to identify the integrations you want to start from or reuse. They also provide the mechanism for us to ship standard templates with the application.
With the version 4.1 release, some basic templates are included and more templates will be added in future.
Dataset Improvements
We've improved the way that Datasets operate and interact with Import Sets and Transactions.
Dataset Request are now fully linked for the end-to-end process which makes it easier for you to see and understand the import/export states.
New Features & Improvements
UN-113 Add flag to Connection so Inbound User doesn't need to be added for Outbound only integrations.
A Connections can now be marked with a direction: Inbound, Outbound, or Bidirectional. An inbound user is only necessary for Outbound or Bidirectional connections.
UN-460 AttachmentSender should check if the attachment exists
In rare cases where the attachment referenced by a Bonded Attachment record is deleted or cannot be found, the AttachmentSender will now mark the Bonded Attachment as Failed with a status of "Attachment cannot be found".
UN-1222 Update documentation links for new docs.sharelogic.com folder structure
Documentation links have been updated to reflect the latest folder structure used in the docs website.
UN-1224 Add new diagnostic for multiple active bonds with the same integration on the same record
There should only ever be one active bond for a specific document and integration. Occasionally (usually during development) duplicate bonds can be created. A new integration diagnostic has been added to checks for this and make it easy to find and fix.
UN-1225 Allow Coalesce field to be edited from the Field list on a Message in Designer
The field(s) used for coalesce are now configurable from the embedded Field list when viewing a Dataset Process Message in Designer, rather than only from the Field form.
UN-1231 Add Diagnostic to check for Dataset bond
In normal operation, the bond for a Dataset is created when it becomes active. However, migrating an integration with an active Dataset does not migrate the Bond which can lead to issues with failed imports and exports. A new integration diagnostic has been added to check if a bond exists for each Dataset with an option to quickly fix the issue if necessary.
UN-1235 Add Diagnostic to check if Fields are using Unifi field maps
In the past, it has been possible for Fields to reference built-in Field Maps which ship with the application. This is not recommended. A new integration diagnostic has been added to check for fields which use field maps in the ShareLogic Unifi scope and provide an easy way to copy them into the integration, removing reliance on ShareLogic field maps.
UN-1241 Add Datasets to documentation
Updated the integration documentation feature so it includes Datasets.
UN-1247 Add support for multi-table attachments outbound
Prior to this release, adding an attachment to a record would only create a Bonded Attachment if the record it belonged to was specified by the process. This behaviour has now been modified so attachments will work properly with multi-table processes such Request/Request Task.
UN-1271 Building message scripts should use message direction
Updated message script generation in the Build process so outbound message scripts are only generated for outbound/bidirectional messages and inbound message scripts are only generated for inbound/bidirectional messages.
UN-1274 Add missing "Configure in Unifi" related links to all tables
Added new "Configure in Unifi" related links to Scheduled Scripts, Datasets and Message Scripts.
UN-1283 Improve error handling for connections using the same inbound user for the same process
Prior to this update, an inbound request would pick a random connection if there was more than one active connection with the same inbound user for the same process. Since this behaviour is not supported, this update prevents the inbound request from being processed and notifies the sender with an error response.
UN-1291 Provide a link to the test UI from the test build worker
Added a button to the "Create Test" progress worker to "Open in Test Assistant" once the test has finished being generated.
UN-1300 Prevent Snapshot records from being created when they are not related to any messages
To help prevent the snapshot table from growing excessively large, snapshot records which do not relate to at least one integration message will no longer be inserted.
UN-1307 Add a link to the Bond record to show related Integration Tests
Added a form link to the Bond record which navigates the user to the integration test list for that integration.
UN-1309 Use notices instead of warnings in Test Assistant
Changed integration test warnings into notices to make them look less like a failure and more informational.
UN-1310 Rename application from Unifi to ShareLogic Unifi and update theming
Up until now, ShareLogic and Unifi have been separate entities, company and product. We are now taking the step to simplify things, making our company synonymous with our product. This update introduces brand new ShareLogic theming, a refreshed interface, and sees our product, Unifi, renamed to ShareLogic Unifi.
UN-1324 Add notification messages to $stage during dataset processing
Dataset processing summaries are now automatically added to the stage "Summary" property when the inbound dataset request is created, or when the outbound send message is sent.
UN-1331 Add support to Designer for opening records in Xplore
Designer will now detect if Xplore is installed and provide shortcut methods to forms and lists.
UN-1332 Add Retry option to Connection Test
A new Retry button has been added to the Connection Test interface to make it easier to re-run the connection test.
UN-1336 Add Build version to Integration
Added a new field to integration which tracks the application version the integration was last built with. This field is not currently visible anywhere.
UN-1341 Add support for sending attachment content as the payload
Developers can now get the attachment content in the Stage to Request script to put attachment data directly into the payload to be sent. This is useful when only the content of an attachment needs to be sent rather than the attachment itself.
UN-1343 Add button to perform test export on a Dataset
Updated the Dataset export buttons to be “Export Delta”, “Export Full”, and “Export Test”. The export type is now set on the Dataset in the Type field (Delta, Full, or Test). Test exports will only export a maximum of 20 rows (regardless of the max rows value on the Dataset) which in turn will allow full debug logs in Activity Log.
UN-1345 Add helpful links to Dataset form view in Designer
Added new links to the Dataset form view in Designer to make it easier to get to related records.
Bond will open the Bond record form view for the Dataset.
Requests will open the Dataset Requests list view for requests generated by the Dataset.
Import History will open the Transform Histories list view for imports managed by the Dataset.
UN-1346 Update inbound dataset requests to show an error when the import set fails
Viewing an inbound Dataset Request which is in the Processing state will now automatically check to see if there has been an error on the import and will set the state to Error.
Also, a new button “Find inbound errors” has been added to the Dataset Request list to make it easy to find all requests with inbound processing errors.
UN-1348 Roll up Import Set errors to the Dataset Request
Dataset Requests responsible for importing are now immediately updated with the import error when the import fails.
UN-1349 Add button to format payloads on HTTP Requests so they are easier to read
Added a new button “Format Payloads” to the HTTP Request form view which toggles formatting for XML and JSON request and response payloads, making them easier to read when checking for values.
UN-1350 Inbound REST processing improvements
Improved the inbound REST processing:
Low level processing errors now respect the accept header and content type.
Sending a message with content type text/plain will now work instead of being rejected.
Inbound payloads are now stored even if the request fails, making them easier to identify and debug.
Fixed the error shown when an invalid process is chosen in the Scripted REST API.
UN-1355 Add button to Designer to open bonds that belong to the current integration
A new action called “Show bonds” has been added to the main dropdown menu in Designer which will open a new list view for all the bonds belonging to the integration.
UN-1357 Tell the user when the dataset query start time has been reset because the dataset query has changed
Added a new info message to Datasets which shows when the query start time is reset because the query condition changed: "The dataset query has changed so the next export will include all records."
UN-1358 Add the ability to cancel a Dataset export
A new Cancelled state has been added to Dataset Request in addition to a Cancel button which is shown on outbound requests when the state is Ready, Queued, or Processing.
UN-1361 Update portal browser title so the integration name is always first
Updated Designer so the integration name is shown first in the browser title, making it easier for developers using multiple tabs to see where they are.
UN-1367 Integration Templates
An integration can now be marked as a template making it easier to identify the integrations you want to start from or reuse.
UN-1370 Add request parameters object to response action scripts
Response actions now have access to the “query” and “headers” objects which gives direct access to inbound request query parameters and header values.
UN-1372 Cancel dataset exports when the integration or dataset is inactive
Dataset exports will now be skipped if the integration is not found or is not active or if the Dataset is not active.
UN-1378 Make Integration Tests run as the transaction created by user
Updated the integration test runner so integration tests are executed as the original user that generated the transaction. This ensures that the test follows the same process path during testing as it did originally.
UN-1382 Increase list rows in Designer to 50 items
Updated the default list size in Designer to be 50 items.
UN-1383 Show more list columns for Fields on a Message in Designer
Key fields such as path and property are now shown in the Field list on a Message.
UN-1386 Add decodeURIComponent to the Attachment REST API Template
File names and references are now decoded in the attachment REST resource template providing support for encoded character values. Note: this only affects new processes with existing processes requiring a manual update if necessary.
UN-1400 Showing field maps for other integrations in fields
To help prevent upgrade issues, built-in field maps are no longer selectable when configuring a field.
UN-1402 Add Event Actions to Documentation
Updated the integration documentation feature so it includes Event Actions.
UN-1407 Revert Properties module to use old system properties interface
We've switched the system properties interface back to use the original system_properties_ui.do interface. This better supports temporary app scope switching so users don't need to manually change to the ShareLogic Unifi app scope.
Fixes
UN-758 Messages with the same name do not work
Fixed an issue where messages with the same name but different directions, or where one is inactive, do not always work as expected.
UN-1042 Invalid field inheritance is not clear
Fixed an issue that prevented an error message from being displayed when viewing a field that is technically inherited but does not actually inherit from a valid field.
UN-1097 Test Assistant is showing stage and snapshot test warnings
Fixed an issue with test data substitution when running an integration test.
UN-1115 Copying a connection variable in the Portal will navigate you back to platform
Copying a connection in Designer will now keep you in Designer.
UN-1134 Resuming an integration will process a queued transaction even if the previous transaction was errored
Queued transactions are now only processed during integration resume operation when the previous transaction was complete.
UN-1166 Payload to stage errors do not fail an HTTP Request without a flag
Prior to this update, errors occurring in payload to stage processing would not fail the inbound request. A backwards compatible fix has been added which allows integrations developed before version 4.1 to opt into having these errors be recognised and treated as a 500 error. Existing integrations can enable this behaviour by turning on the "Fix inbound errors" flag on the integration list (this field is not available on forms). New integrations created with 4.1 or above will use this behaviour by default.
UN-1219 Packaging an integration does not capture scheduled scripts
Fixed an issue where scheduled scripts belonging to integrations would not be captured by the integration packager.
UN-1223 Dataset Requests which are in the error state cannot be ignored
Fixed the Ignore button on Datasets so it is available in the Error state.
UN-1232 Integration Dashboard transaction insights do not load properly for "Today"
Fixed an issue with the initial loading of the Insights dashboard widget.
UN-1237 Cannot delete integration from Designer portal
Fixed a bug that would prevent the integration delete operation from working when initiated from Designer.
UN-1240 Diagnostic for "All message scripts belong to a message" fails with error
Fixed a reference issue preventing this diagnostic from working properly.
UN-1244 Dataset import row logging not working
Fixed an incorrect info message which directed the user to enable a system property for import logging instead of the "Import logging" flag on the Dataset.
UN-1249 Message template shows lint errors with HTML/XML
Fixed a bug causing the template field on Message to be displayed with Javascript formatting instead of XML.
UN-1250 Editing a template in the script viewer closes the script upon save
Fixed a bug which would reset the template field when saving a Message in Designer.
UN-1251 Integration tests are failing after new fields are added
Updated integration test logic to ignore new fields on the process table (e.g. Incident) which were not present when the test was created.
UN-1252 Template field does not show on Messages
Fixed an issue with rendering the Message template in Designer.
UN-1257 Replaying transactions when they've been created by the "guest" user fails
Fixed guest transaction replay logic by preventing the system from trying to find a guest user to impersonate.
UN-1265 Inbound endpoints are still picking up non-Unifi endpoints
Fixed the REST resource query logic so only the process related resources are shown when viewing the Connections list in Designer.
UN-1266 Duplicate bonds being created on inbound creates
With the ServiceNow Tokyo release it has been possible for an inbound create to take so long to process (due to customer process and instance load) that another message trying to lookup the bond will not find it and trigger another create message causing two bonds to be inserted. This has been fixed by committing the bond before attempting to commit the target during inbound create operations.
UN-1269 Full page scripts do not render for Poll Processors or Event Actions etc, shown in Designer
This issue was caused by a self-closing directive tag and was fixed with UN-1270.
UN-1270 ServicePortal directives included with self-closing tags are not always rendered in Tokyo
Fixed a browser/content-type compatibility issue which caused directives included with a self-closing XHTML tag to not render (e.g. full page scripts in Designer form views).
UN-1272 Pollers not using Run As user when executed from the Unifi portal
Fixed the Poller Execute Now button in Designer so Pollers are executed as the specified user (providing global utility is installed).
UN-1275 Diagnostic hotfix check should be specific to patch release
Updated the diagnostic that checks hotfix version to compare at the patch level. Also improved the diagnostic error comment.
UN-1277 Replaying a transaction should clear its error message fields
Added a new business rule "[S] Clear errors on complete" on the transaction table to clear the process error when the state changes to Complete.
UN-1280 Dataset Advanced query script does not work
Fixed the Dataset advanced query evaluator so it points to the correct field.
UN-1290 Error when connection testing a SOAP integration
Fixed Connection Test for SOAP integrations.
UN-1297 When copying an integration in Designer, the message count is not updated and sits at 0
Improved the copy worker logic so message count is updated on the dashboard as the integration is being copied.
UN-1298 Error messages defined on the Integration are not retrieved properly
Fixed a bug which prevented the error messages specified on the integration from being used.
UN-1299 DataSetProcessor events can auto-queue even when there is no additional data to process
Fixed an issue which under specific circumstances could result in events that use DataSetProcessor to continually generate events even when all records have been processed.
UN-1301 Link out to target record from Test Assistant is broken
Fixed Test Assistant portal so clicking the target record from a test result will open the record correctly.
UN-1302 Update sets do not automatically download when packaging an integration in the Portal
Fixed the update set URL so it is compatible with the latest releases of ServiceNow.
UN-1304 The copy and package integration workers can show the wrong number of records
Record counting logic has been revamped to be more robust so the progress workers display accurate information.
UN-1305 Users with the x_snd_eb.admin role can access menu items they cannot see records for
Added role checks and warning messages for non-admin users who do not have access to records in Designer.
UN-1308 Test Assistant shows an error when an invalid test sys_id is used
Fixed the test result widget so it exits processing earlier if an invalid test sys_id is provided.
UN-1333 Inbound HTTP Requests that fail early do not have a direction value
Updated the inbound processing logic so inbound requests that are unable to be processed will still be marked as Inbound where previously the direction was not stored.
UN-1337 Tests failing with partial async messages
Modified integration tests so receipt processing logic is only tested if the receipt is available on the message.
UN-1340 Datasets with Fields marked only Inbound or Outbound do not generate data
Fixed an issue with Dataset processing not following the directional choice set by the configuration.
UN-1354 Dataset exports are missing field values when source to stage script uses field.property instead of field.element
Added support for Dataset field maps that refer to the property value on the field instead of the element. By default, the field element value is used unless the field map is using ${field.property}, in which case the property value is used.
UN-1359 Designer dashboard search does not work with capital letters
The dashboard has been updated to ignore letter case when using search, e.g. searching “acme” will now match “ACME”.
UN-1362 Action Method resets to POST after updating a Message
Updated the Message logic to only set the Action method value to POST when it is empty and the integration type is REST.
UN-1371 Tests which use a closed bond fail when comparing bond cleanup date
Fixed an issue which caused tests generated from closed bonds to fail incorrectly.
UN-1374 Dataset cleanup job should only delete completed dataset requests
Updated the Dataset Request cleanup job so it only removes transactions which are Complete or Ignored. This prevents the Dataset Requests from being removed too soon since the requests are cascade deleted from the Transaction.
UN-1376 Activity Log does not allow horizontal scrolling in Next Experience
Updated Activity Log rendering so it works with the new macro display container used in Next Experience.
UN-1379 Outbound integration tests will fail when an update triggers a different number of integrations
Updated the integration test runner to prevent an error being generated when multiple integrations are triggered from a process update during testing.
UN-1393 ResponseAction retry fails with "integration not defined"
Fixed an issue preventing custom Response Actions from running request retry logic.
UN-1395 Inbound_sync test script failed on cleanup_date check
Cleanup date is now ignored during integration testing since it is irrelevant to the test.
UN-1408 Copying an integration will leave some new configuration in the old scope
Fixed an issue where the copy integration service would not move some of the newly copied configuration to the new scope chosen by the user for the new integration.
Last updated