Release Notes v2.3

Overview

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

Version Compatibility

CommonSpot 10.0, 10.0.1, 10.0.2, and 10.5


If your site is running CommonSpot 10.x and is using a previous build of ADF v2.0, please upgrade to the release version of ADF 2.3! If you are upgrading to CommonSpot 10.x and have ADF 1.8.x or older installed, at least ADF 2.0 is required, but upgrading to ADF 2.3 is recommended.


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.

Field Type CFCs

CommonSpot 10 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.3 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

Previous ADF version Release Notes

Supported ColdFusion Versions

All supported Adobe ColdFusion and Lucee versions supported by CommonSpot 10 and 10.5.
Note that CommonSpot 10 no longer supports Railo.

Notable Enhancements

The ADF 2.3 release contains the following significant enhancements.

Custom Field Types

  • Added the Numeric with Length Control CFT to enforce minimum and/or maximum number lengths 
  • Added the Device Size Options CFT for use with the new CS Widgets
  • Added the Field Settings CFT for use with the new CS Widgets
  • Updated all CFTs to use the CommonSpot resource loader for all inline CSS and JavaScript blocks.
  • Updated all CFT props and render files that use jQuery to enable noConflict mode.
  • Updated the Custom Element Data Manager CFT to allow the selection and sorting of Local Custom Element records
  • Updated the Custom Element Select CFT to add properties to the limit the width of the select input control and limit the number of characters rendered for each selection option display value.
  • Updated the Custom Element Select CFT's _render.cfc file to load Javascript via the loadResources().
  • Updated the Widget Configurator CFT render and props files to add multicheckbox functionality.
  • Added a Widget Configurator Custom Field to use with the new CommonSpot Widgets.
  • Custom Element DataManager field updated to allow Local Custom Elements to be used as a Join Element to allow Drag and Drop sorting of LCE records. Although, in this configuration the DataManager's standard Add/Edit/Delete controls will be disabled.

Library Components

  • Added the new ADF IsRealDate() which is a fix for ColdFusion's IsDate() issue to make sure that 'dateStr' is not just a number value.
  • Added methods to help calculate Bootstrap Two Column Grid classes to the widgets_1_0 component.

  • Added the checkResourceURL() and checkRemoteResourceURL() methods to the scriptsService_2_0 component.

  • Updated the registerAllScripts.cfm and scriptsService_2_0 to render feedback to the screen during configADF or reconfigADF if source files or URLs for resources that is being registered are not available.

  • Updated the data_1_1 listUnion function to preserve order of combined lists.

  • Updated several functions in the scheduler_1_0 component to be able to pass a unique log filename parameter via scheduleParams to the setScheduledTask call.

  • Added a parameter to disable the unique log filenames in the utils_1_0 setScheduledTask function.

  • Added Title suffix and maxAttempts parameters csData_1_2 createUniquePageTitle function.

  • Added getCEDataByPageID() and getCEDataViewByPageID() functions ceData_3_0 component.

  • Added locking around the around populateCustom function call in the csContent_2_0 populateContent function.

  • Added a new method preSaveFormElementInfo() to the presaveform_1_0 component to check element type from submitted data. So the object list builder hook will not error when a simple form is submitted.

  • In the presaveform_1_0 component renamed the preSaveFormElementType function to be preSaveFormElementInfo.

  • Added a getAllCSGroups function to the csData_2_0 component to retrieve all of the CommonSpot sercurity group names.

  • In the data_2_0 library component added the compareStructData() with subfunctions structCompare() and arrayCompare().

  • Added the createFromData() to the apiImage_1_0 library component.

  • Added widget_1_0 buildOptionData() function for parsing data from the selections pulled from the new multicheckbox fields rendered using the Widget Configurator CFT.

  • Updated the widget_1_0 buildClassValue function to remove comma or semi-colon delimiters if found in newClass value list.

  • Added verifyRenderHandlerMetadata() to output messages if a widget does not have the correct Custom Metadata/Render Handler binding.

  • Added buildCustomWidgetCssPaths() and loadCustomWidgetCSS() methods to allow the Widget Generic Render Handlers to using custom CSS resources.

  • Added writeINIfile and dataDirExists methods to the utils_2_0 library so the Widget Configurator CFT can create and update Widget Script INI files.

  • In the doTextLogging function in the log_1_0 component added the fileNameOverride, addTimeStamp, logDir parameters. Also added these parameters to the doTextLogging subfunctions.

  • Moved the CSExtURL pageid parsing code from parseCSURL() to a subfunction called getPageIDfromCSExtURLStr() so it can be called directly to get the PageID from a CSExtURL.

  • Updated to scripts_2_0 and the registerAllScripts.cfm for FancyBox to v2.1.6.

  • Updated to scripts_2_0 and registerAllScripts.cfm for MouseWheel to v3.1.13.

  • Updated csData_1_0 buildCSPageName to allow legal extended characters in generated CS Page Names for CS 10.0.3 and up.

Third Party

  • Added the jQuery 3.2 javascript library.
  • Updated the jQuery migrate library.
  • Added the Font Awesome CSS v4.7 Library.
  • Added the datatables v1.10 JavaScript library with the bootstrap and jquery theme extension versions.
  • Added bootstrap 3 css extension col-ms for a column breakpoint between small and medium.
  • Added Bootstrap Bootbox javascript library.
  • Added Bootstrap Datepicker javascript library.
  • Updated the MouseWheel JavaScript library to version 3.1.13.
  • Updated the FancyBox JavaScript library to version 2.1.6.
  • Added the Bootbox.js library to the registerAllScripts.cfm file.
  • Added the Clipboard JS javascript library.
  • Added the Moment JS javascript library.
  • Added the Swiper jQuery carousel plugin javascript library.
  • Updated the updated jQueryUI timepicker addon library file to version 1.6.
  • Updated the FancyBox jQuery library to version v2.1.6 and reorganized the folder structure.
  • Removed obsolete Selectbox jQuery plugin code. Should be using the versions of these files in the 2.2 folder.
  • The jQuery FileUploader JavaScript library was deprecated and may be removed in a future version of the ADF.
  • Removed the 3.0.4 versioned mousewheel file from the root of the mousewheel directory. Should be using the files in the 3.0 folder.

Notable Updates

The following notable updates were in this release:

Custom Fields Types

  • Resolved issues with the display of the selected properties for the Padding Setting CFT
  • Fixed the General Chooser custom field with updates to fix issue that was preventing the custom app specific GC files to work since it was defaulting to AppName "ADF" instead of the actual app name specified in the General chooser props.
  • Updated the pre-save-form-hook include file for the Object List Builder CFT so it will not error when a simple form is submitted.
  • Updated the Custom Element Select CFT to always render isMultiline=true so select radio buttons will render the label at aligned to the top of the stacked radio buttons list.
  • Updated General Chooser to better handle values that contain single and double quotes.
  • Updated the _preformFileMove function in the File Uploader base component to be CommonSpot Shared DB and Replication aware when moving files.
  • Updated the read only properties on input control in the Custom Checkbox Field _render.cfc file.
  • Updated the Widget Configurator CFT use the ColdFusion Workaround for Dynamic method names.
  • Updated the Widget Configurator CFT to create an INI file based on the Widget Configurator property value.
  • Fixed an issue with the Widget Configurator CFT that when it renders option fields that have no options or only one option it renders a hidden field so the current or default value is still saved.

Library Components

  • Updated the date_1_0 IsRealDate() function to accept any type of data as the dateStr so we don't crash the json.cfc encode IsDate check.
  • Added the missing component metadata properties to the scriptsService_2_0.
  • Updated the utils_1_2 sanitizeADFDumpVarData function to fix an issue with invalid variable paths on CF2016.
  • Updated the privateImage return value in the csData_1_0 decipherCPIMAGE function to better handle the data returned from CommonSpot CS 9.0.6, 10.1, 11 CMD API image.getInfo() function call.
  • Updated the ceData_2_0 dependency in the data_2_0 component.
  • Updated the log_1_0 addLogEntry passthrough function to properly handle the parameters that are required to use specific datatypes and set default parameter values. Also updated the to use use ordered parameters when calling the CommonSpot function.
  • Updated the scriptService_2_0 registerResource function to better handle argument validation from the CMD API since the wrapper function adds some additional arguments.
  • Updated the default logs directory variable to use the CommonSpot variable in the utils_1_0 and the log_1_0 components.
  • Fixed issue with single character words in data_2_0.capFirstAllWords function.
  • Fixed an issue with the presaveform_1_0 preSaveDataCompare function to handle CommonSpot Simple Form and Custom Metadata Form pre-save input data.
  • In the doTextLogging function in the log_1_0 component updated the logs directory variable to use the default CommonSpot log variable.
  • In the date_2_0.firstDayOfQuarter function fixed the issue with the "inYear" parameter.

Third Party

  • Resolved the a SourceURL issue with jQueryMouseWheel 3.0 in the registerAllScripts file.
  • Fixed and issue with the FancyBox box registerResource code for versions 1.3 and 2.1 in the registerAllScripts.cfm file.