ADF Release Notes v2.7.0

Overview

The Application Development Framework (ADF) version 2.7.0 release contains enhancements and bug fixes to core ADF 2.6.3 functionality.

Version Compatibility

This 2.7.0 version of the ADF is ONLY compatible with CommonSpot 10.5.2 or 10.6.1 or higher.


If your site is running CommonSpot 10 up to 10.5.1 or 10.6 please use ADF 2.4.x, however we strongly recommend upgrading to CommonSpot 10.7.3, 10.8.2, 10.9 or 11 and ADF 2.7.0!


ADF 1.8.x and older versions of the ADF are NOT compatible with CommonSpot 10.x. Please note if your site is running CommonSpot 9 or older you will need to use the ADF 1.8.1 release or 1.8.2 development builds.

ADF AjaxProxy CSRF Safe Mode

CommonSpot 10.5.2 and 10.6.1 introduced robust security enhancements to mitigate CSRF vulnerabilities but adding CSRF Token validation to it's form submits as well its internal /loader.cfm requests.


To complement these security enhancements, ADF 2.5 and above and the ADF companion Apps have also be updated to add CSRF validation to its custom forms, internal CommonSpot /loader.cfm requests as well as its own /ajaxProxy.cfm requests.


However, due to the flexibility and customizability of the ADF and the ADF Applications, specifically the powerful ajaxProxy feature, the CSRF attack prevention validation has been disabled by default. It can be enabled when all custom ajaxProxy requests have been updated to take advantage of this security feature.


For more information see the ADF AjaxProxy CSRF Safe Mode documentation regarding enabling the security enhancement.

Field Type CFCs

CommonSpot 10 and above, requires that all Custom Field Type Render modules be converted to be a CFC versus a CFM module. See the ADF 2.0 release notes for more information regarding CFC render modules built for the ADF 2.x releases.

Resource Loading

CommonSpot 10 introduces a new Resource Loading Framework to help efficiently load JavaScript and CSS resources. See the ADF 2.0 release notes for more information regarding using CommonSpot Resource Loading with ADF 2.x releases.


For detailed information about the Resource Loading Framework, see the CommonSpot Developer's Guide.

Installation/Upgrade

For detailed instructions for installing the ADF, see the ADF Installation Guide.


For detailed instructions for upgrading from a previous version of the ADF, see the ADF v2.7 Upgrade Guide.

If you are upgrading from an earlier release, we strongly recommend that you also read the following:

2.0.0 Release Notes

2.0.1 Release Notes

2.3.0 Release Notes

2.3.1 Release Notes

2.4.0 Release Notes

2.4.1 Release Notes

2.5.0 Release Notes

2.6.0 Release Notes

2.6.1 Release Notes

2.6.2 Release Notes

2.6.3 Release Notes

Previous ADF version Release Notes

Notable Enhancements

The ADF 2.7 release contains the following significant enhancements.

General

  • Core
  • Updated Core, Base, and SiteBase components to add the HotFix version patch list to the ADF reset message.

  • versions.xml
  • Updated the lib version.xml file to be used with v2.7.

Extensions

  • CustomCF
  • Added a ceAddRecord custom script to allow an "Add CE record" button to be added to a CommonSpot page that will open an add new form dialog for a specified Custom Element.

  • Custom Field Types
  • Updated the Custom Element Hierarchy Selector custom field type to store the element and field names to allow these values to be converted to the FormID and FieldID when the element is exported and imported into a new server.

  • Datasheet Modules
  • Added a new pageID-to-link-for-global-ce-records.cfm datasheet module to create a link around cell data that open's to that records's viewer page.

Library Components

  • apiImage
  • Added a delete() CMDAPI wrapper function to delete images from CommonSpot.

  • apiPaige
  • Added the page active state status to the return struct of the create() function.

  • ceData
  • Added the normalizeCsFilename() function based on the CommonSpot normalizeFilename() function (should replace use of the makeCsSafe() function.

  • Added the getCsImageIDByFileName() function.

  • Added the getCsImageIDByTitle() function.

  • Added the getCsImageDataByFilename() function.

  • Added the and getCsImageDataByTitle() function.

  • Added the getViewerPageID() function to return the page Id for a given Global Custom Element's configured Viewer page.

  • Added the getViewerPageUrl() functions to return the page URL for a given Global Custom Element's configured Viewer page.

  • Data
  • Added the calcStartEndRows() function.
  • Added the symbolsToASCII() function.
  • Added the convertTagAttrsSingleToDoubleQuotes() function.
  • Added the removeDuplicatesFromArray() function.
  • Added the listToEmptyStruct() function.
  • Added the generateRandomString() function.
  • Added a new data_2_1 component with a new parseHTMLTag() function.
  • Resource
  • Updated the default AllScripts data version to be v1.1.
  • Updated the getAllScriptsData function to read the JSON scripts data array from the 'DATA' key to allow metadata (datecreated, version, etc.) to added to the allScripts JSON packet.
  • Scripts
  • Added the jQuery v3.7 resource definitions to the allScripts v1.0 data files.
  • Added the Bootstrap v5.3 resource definitions to the allScripts v1.1 data files.
  • Added the Font-Awesome v6.6 resource definitions to the allScripts v1.1 data files.

  • Added the data-fns v2.30 and data-fns v3.3 resource definitions to the allScripts v1.1 data files.

  • UI
  • Added iconLibrary, iconClass and iconPosition parameters to add an icon to the Add/Edit button generated by the buildAddEditLink() function.

  • Utils
  • Added default the .log extension as the default value for the schedLogFileName argument in the setScheduledTask() function.

  • Added option to replace doubled charToReplace character with a single charToReplace character to the fixFilePathSlashes() function.

ThirdParty

  • Added the javaLoader v1.2 library.

  • Added the jQuery v3.7.1 library.

  • Added the Bootstrap v5.3 library.

  • Adding the jQueryUI v1.14 library with themes: Base, Black-Tie, Redmond, Smoothness, Start, UI-Darkness and UI-Lightness.

  • Added the Bootbox 6.0 library.

  • Added the Font-Awesome v6.6.0 (free) library.

  • Added the Datatables v2.1 library with datatables versions to allow use with Bootstrap 5, Bootstrap 4, Bootstrap 3 and jQueryUI.

  • Added the date-fns v3.3 library.

  • Added the clipboard.js v2.0 library.

Notable Updates

The following notable updates were in this 2.7 release:

Extensions

  • Custom Field Types
  • Updated the Custom Script Selector Field to better handle the return value from the utils_2_0.scriptExists() ajaxProxy call
  • Updated the Custom Element Hierarchy Selector Field's component move the the "disable active nodes" functionality and the "disable Ineligible Parent Nodes" functionality to their own separate functions.
  • Updated the Custom Element Hierarchy Selector Field to add ActiveField and ActiveValue parameters to allow inactive items to appear as disabled nodes in the generated tree since using the filter criteria to hide inactive records was breaking the tree.

  • Updated the Custom Element Hierarchy Selector Field to add a parameter to disable the current record's item node and all of its children in the tree when the Custom Element is configured to point to itself.

  • Updated the Custom Element Hierarchy Selector Field to add an override parameter to use the values passed in from the request.params.selected url parameter. The new 'selected' parameter will set the currently selected values if passed to the edit form when it is rendered.

  • Updated Custom Checkbox Field's checkbox logic to correctly detect when the checkbox is checked and assign the correct value to the hidden field.

  • Datasheet Modules
  • Fixed an issue in the edit-delete.cfm v2.0 that required buttons to be clicked twice before edit dialog would open.

  • Updated edit-delete.cfm v2.0 and v1.0 .ds-icons class definitions to better to align the tool icon within the jQueryUI buttons

  • Utilities
  • Updated the make-static-files.cfm custom script to fix an issue when being run on a sever without a valid SSL cert so it sets the correct protocol for the cfhttp page file get request.

Library Components

  • ceData
  • Updated the apiRemote_1_0.runCmdApi method to add the cfhttp result's first item in the array (eg. the error message text) to the return structure.

  • Removed a WriteDump from the apiImage.createFromData component.

  • csData
  • Fixed theissue with the logic in the createUniquePageTitle() function to not compare with current page's title when the current pageid is passed in.

  • Fixed the issue withthe logic of the createUniquePageName() function to not compare with current page's name when the current pageid is passed in.

  • Fixed error message in the output from the getImageInfoByCPIMAGE() and removed dependency for the CMDAPI image component.

  • Updated getSubsiteID() function to normalize the SubsiteURL string value before passing it to the subsite id lookup query.

  • Updated the getCSPageDataByURL() function to combine main pages and subsites queries to use a JOIN instead of two different queries.

  • Data
  • Updated the convertTagAttrsSingleToDoubleQuotes() function to add argument properties.

  • Date
  • Fixed initial execMS calculation in the calcExecutionTime() function.

  • Fixed incorrect return type in the createTimeStruct() to return a struct instead of a string.

  • Fixed the createValidDate() function to no longer need the while loop with the catch to text for valid date.

  • Fields
  • Updated the renderHiddenControlsFromRequestParams() function to encode return value before outputing the field value.

  • Log
  • Fixed the default value for the methodName argument in the doTextLogging() function.

  • Schedular
  • Fixed a typo in scheduleName argument in the setSchedule() function.

  • Scripts
  • Updates to the resource scripts data validation tools to work with the new v1.1 of the allScripts data file.

  • Utils
  • Fixed the fixFilePathSlashes() function to remove the slash validation that breaks the logic if other find/replace characters are passed in.

  • Fixed typo in argument being passed into the initTimer() function.

ThirdParty

  • Updated jsTree library to v3.3.17.
  • Updated jQuery Migrate 3.4 library.
  • Moved the previous version of the javaloader library to a v1.0 subfolder under the thirdParty/javaloader directory structure to make available for backwards compatibility.
  • Updated the JavaLoader.cfc calculateJarName() function to add an algorithm argument for use with the CF hash() function to force the default to be the pre-ACF 2021 updater 14 default of "CFMX_COMPAT".
  • Fixed an issue with the javaLoader.init() v1.0 and v1.2 libraries to remove an extra slash in the compileDirectory default path value.
  • Removed 18 jQueryUI theme css and image file sets from jQueryUI  v1.12 and jQueryUI  v1.13: blazer, cupertino, dark-hive, dot-luv, eggplant, excite-bike, flick,hot-sneaks, humanity, le-frog, mint-choc, overcast, pepper-grinder, south-street, sunny, swanky-purse, trontastic, and vader.

Updated ADF Applications

The following ADF applications were also updated as part of the ADF 2.7 release. Please check the release notes for these apps for details.

  • PT Calendar v4.8
  • PT Social Media v3.4