EasyCatalog 17.0.0 Release Notes

EasyCatalog 17.0.0

Enhancements

The following enhancements have been made to EasyCatalog and are available in the latest release on our web site. Maintenance customers can receive a version of EasyCatalog containing these modifications for an earlier version of InDesign by contacting us via the web site. Please be aware though that its not always possible to include all new features in previous versions.

EasyCatalog

IDSummary/Description
2918Added new pop-up to “Replace Fields” dialog to select the layer to update.
User can now choose “All Layers” (this is the previous behaviour); “Current” to only replace fields on the ‘current’ layer (the layer with the pen icon in the Layers panel) or a named layer. Locked layers will not be updated.
2911Modification to “File > New > EasyCatalog Panel” menu to show data providers in alphabetical order
2899Added general preferences to manifest.xml file in data source package
Added general preferences, such as Content Tracking, to manifest.xml file in data source package
2891Modifications to URL image download
* “Always Download Latest” menu option renamed to “Download Latest”
* Image size and modification date are now requested when “Download Latest” menu option is on, and images will only be downloaded when the size and/or date has changed. This needs to be supported by the server providing the images. * Multiple images are downloaded simultaneously, increasing download performance.
2890Added support for batch updating of metadata for URL(Live) links
2887Added support for group rows in matrix tables
A group row can be included in the table prototype for the field selected in the ‘Group’ pop-up in the matrix table configuration dialog.
2875Added support for importing images encoded as Base64 in field content
A new option has been added to the “Location” pop-up on the “Picture Content” pane: “Field Content”.
2839Added supported for dragging and dropping fields from a data panel to the document
2833Applying a table style via HTML now forces the application of any cell styles
2817“Import from Data Source…” added to Configurations menu
2814Added right click “Delete Custom Field” menu option to EasyCatalog Lite/Record Viewer panel
2815Full serial number no longer displayed in the “About EasyCatalog” dialog
2807Field dependencies are now stored in Fields.XML to save having to re-caclulate them when re-loading a data source
2806Added “Fixed Width” checkbox to Matrix table dialog
Added “Fixed Width” checkbox to Matrix table dialog to specify that the header columns are a fixed width
2789When a tabular field table is filtered, the filter now “Matches” a regular expression rather than “Equals” a string value
2786Enhancements to Tabular Fields
Added support for assigning a FIELD to a table cell. When the cell is populated, the field is used to populate the cell content, so formatting etc, is carried over from the underlying field.

t:cell(1,1):setcontent(FIELD.get(‘field’));

https://www.65bit.com/docs/placing-fields-inside-tabular-fields/

2788Added ‘Populate Formatting Rules on Drag ‘n’ Drop’ advanced preference
Added ‘Populate Formatting Rules on Drag ‘n’ Drop’ advanced preference, which will be the default option for Formatting Rules in new documents.
2775Wrong style being applied to <ul> tags
When nested <ul> tags were present, it sometimes applied the style from a later <ul>, <li> tag
2773Added support for the <font> ‘shade’ attribute to apply a paragraph shade
2768Added new keyword for Advanced numeric options to specify the suffix when the decimal part is zero
Added new keyword for Advanced numeric options to specify the suffix when the decimal part is zero

[ZERODECIMAL=;-]
2759Tabular Field Enhancements – Added Support for Formatting Rules
https://www.65bit.com/docs/formatting-rules-combined-with-tabular-fields/
2760Faster updating of fields when modifying content and field options
Field dependencies are now cached, so updating when updating a field only the fields affected by the change need to be updated (rather than the whole data source).
This also applies to updating field options.
2755Added a new HTML formatting option to control the use of a default <body> tag
“Enclose In <body> Tag” added as a new option. This defaults to on. Turning it off excludes the appearance of the default root tag in the parsed text.
2752Field Insertion Error Reporting Improvements
2746Enhancements to inline image insertion
https://www.65bit.com/docs/inserting-images-as-anchored-frames/
2743Added scriptlabel attribute to the <IMG> tag
<img src = “xxxxx” scriptlabel = ‘test’/>
2735Added new “Advanced Preference” to specify the output format of reports
Reports can now be exported as Excel, CSV and XML in addition to the default, browser, option.
2733Whitespace or case changes to field names are no longer detected as changes during “Synchronize with Data Source”
Whitespace or case changes to field names are no longer detected as differences during “Synchronize with Data Source”

EasyCatalog > Custom Field Commands

IDSummary/Description
2895Added GETPARAMETERVALUE
This function can be used to retrieve the values specified in the data source parameters:

GETPARAMETERVALUE(‘param1’)
2883Added “DOESFILEEXIST” command
DOESFILEEXIST(‘/Users/easycatalog/Desktop/file.txt’)

The command will accept multiple file paths as additional parameters, empty paths will be ignored. If all paths are empty, the function will return FALSE.

2818Added ‘FORMATDATE’ function
Added ‘FORMATDATE’ function which takes three parameters:
– The input date string – The input date format – The output date format

FORMATDATE(FIELDSTR(myfield),’%d.%m.%Y’,’%V’)
2750Added an optional count parameter to PARTSTR to get ‘count’ number of parts
2732Added new function “DOESDATASOURCEEXIST”
Added new function “DOESDATASOURCEEXIST” – returns TRUE if the specified data source exists:

DOESDATASOURCEEXIST(‘STOCK.csv’)

EasyCatalog – LUA Commands

IDSummary/Description
2880Added LUA command to obtain XML node name
Added command to obtain XML node name

name = myNODE:name();
2846Added new ‘doscript’ method
2823Added HTTP.postwithheaders method
2808Workspace ‘Scripts’ folder now added as access path for ‘require’
2795Add LUA formatNumber method, to take number, mask and type.
Added ‘formatNumber’ method, to take number, mask and type.

amount = formatNumber(amount, “[DECIMAL=.] [THOUSANDS=,]\n[PRECISION=2]\n[PREFIX=]\n[STRIPTRAILINGZEROS=YES]”, “NUMBER”);
2772Lua menus now support the HTTP class
2749Improved the error reporting of lua errors to include the text from the line of code with the error
2740Added RECORDSET.merge to merge the records from the given set
2741Added RECORDSET.filterout
Filters out any records from the record set by sets of field/value pairs
2742Added getcontent to RECORDSET to get the named field content from the nth record
2730Enhacements to Lua tables
– Added a new optional parameter to TABLE.getcell() to return the cell content including cleansing
– Added TABLE.setrowkeepwithnext to flag the row to keep with the next.

EasyCatalog – Pagination Module > Formatting Rules

IDSummary/Description
2913Formatting Rule Drag to behaviour change
When dragging to a formatting rule in the document, it will only get regenerated if it has previously been populated
2879Hold Alt/Option key when selecting one of the “Update Document” option to suppress updating of Formatting Rules
2843Improvements for Formatting Rule and Drag and Drop.
• Formatting Rules can be post processed using Extenscript or Lua. Extendscript usage requires the scripting module. Any objects created by the script become managed as part of the formatting rule.
• Formatting Rule Update improvements. Formatting Rules get re-created when dragging new data onto rules that exist on the page, rather than just being updated. This allows the post pagination Script to change the elements of the rule and have consistent results. • Formatting Rules can now be dragged into a text flow • A range of fields or fields can be dragged into the text by click holding the selection in a data panel. https://www.65bit.com/docs/using-formatting-rules-with-extendscript/
2766Added search widget to the Formatting Rules panel
2748Enhancements to Formatting Rule based field types
As documented here:
https://www.65bit.com/docs/formatting-rule-fields/

EasyCatalog – Pagination Module > Guide-based

IDSummary/Description
2824Library items can now be placed in the bleed area
Library items can now be placed in the bleed area – i.e. if guides are positioned off page.
This will only work though if the margins on the page are set to (0,0,0,0).

EasyCatalog – Pagination Module > Master

IDSummary/Description
2796Boxes with an action applied are now assumed to be position index 1
Boxes with an action applied are now assumed to be position index 1, in the same way as boxes containing fields/field specifiers.

EasyCatalog – Pagination Module > Template

IDSummary/Description
2907Multiple template documents can now be specified in the Template Document field
Multiple template documents can now be specified in the Template Document field – the template names should be separated by a carriage return.
e.g. in the Template Document field, enter FIELDSTR(templates) The ‘templates’ field would contain a list of templates to paginate into:

Macintosh HD:users:easycatalog:Templates:Template 1.indd Macintosh HD:users:easycatalog:Templates:Template 2.indd

Note: If outputting files, you need to use FIELDSTR(‘templatename’) in the output path (otherwise the output files for each template will overwrite each other).

EasyCatalog – Enterprise

IDSummary/Description
2908‘Manage Enterprise Data Providers…’ dialog can now be used to hide built-in Enterprise data providers
Modification to “Manage Enterprise Data Providers” dialog to enable user to specify which built-in data providers are visible in the EasyCatalog Panel menu.
2896Add data provider script callback to populate “Data Source Information” dialog “Info” field.
2828Manage Enterprise Data Provider dialog enhancements
Manage Enterprise Data Provider dialog now allows Release Notes to be viewed for data providers and also indicates whether any are out of date and need updating.
2813Added “Manage Enterprise Data Providers…” menu option and LUA data providers to data sources pop-up menu

EasyCatalog – Scripting Module

IDSummary/Description
2858The DSO.save method now saves all data source information
2853Added menu option “Install EasyCatalog Sample Scripts” to Script panel.
Added menu option “Install EasyCatalog Sample Scripts” to Script panel, this will download and install EasyCatalog sample scripts into “User->EasyCatalog Sample Scripts” folder.
2838setFieldOption now also accepts an array of field names as the first parameter
setFieldOption now also accepts an array of field names as the first parameter.
2831Added ‘logging’ property to EasyCatalog Object to enable/disable logging
Added ‘logging’ property to EasyCatalog Object to enable/disable logging.
If changing the location of the workspace folder, be sure to enable logging again to force EasyCatalog to log to the new location.
2821Added ‘datasources’ property to ‘datasource’ to access child data sources
Added ‘datasources’ property to ‘datasource’ to access child data sources – for example, to retrieve a list of the child data sources for a Relational data source:

$.writeln(app.easycatalogObject.datasources.item(“rel”).datasources.everyItem().name);
2822Added ‘unformattedContent’ property to Field object
Added ‘unformattedContent’ property to Field object to get the unformatted/raw content of the field
2819Added support for new ECLink object available from scripting
Details of the methods and properties can be found in the Scripting documentation, available from the Help menu in InDesign

EasyCatalog – XML Module

IDSummary/Description
2904Holding Shift key when pressing ‘Add’ button will prompt to add missing fields

Bug Fixes

The following bugs have been fixed in this release of EasyCatalog. For clarity, the bug reports listed below show the original problem as reported. It is often not possible to detail the fix for each issue as they involve internal changes to EasyCatalog. Note that some bugs listed here refer to issues that were encountered with new features in the beta version by our beta testers and are included here for completeness.

EasyCatalog

IDSummary/Description
2914ECPAGE:// treats page numbers with alphanumeric characters as page names
2915Subsets are no longer internally limited to 5 parameters
This has been added to allow scripting to specify more subset parameters than can be configured using the User Interface.
2905Panel being sorted by wrong columns when fields are added or removed during Synchronize with Data Source
2900Computed Field command being lost on “Convert to Field Specifiers”
2898Table rows being deleted when Content Tracking switched off
Table rows being deleted when Content Tracking switched off and Row Options > Delete When Fields are Empty is used.
2893“Update All Custom Fields” not available to update fields that use a pre-processing script
2894Field Pre-processing LUA script not being called if the field content is empty
2889“Synchronize with Document” slow when using URL(Live) links
2888Live URL links would report missing Links when the host server was overloaded with requests
2884Lock/Unlock loses a field’s computed field command
2885Modification to column deletion to not delete column when cells are merged
If the table contains horizontally-merged cells that span a column, the column is no longer deleted if the merged cells contain content.
2881Regular fields are being shown as ‘in error’ and their content is not being output
Regular fields are being shown as ‘in error’ and their content is not being output as the ‘parse error’ flag is not being reset on Synchronize
2877Fields that contain multiple URL-based images are not automatically downloading previews
Fields that contain multiple URL-based images are not automatically downloading previews – only the first image is automatically downloaded.
2837Custom formats now add the [SUFFIX] after other options are applied
2836Dependencies are being cached when there are no records
Dependencies are being cached when there are no records, which results in an invalid dependency map
2834Dependencies not always being recalculated when first record has been deleted
Dependencies not always being recalculated when the first record in the record list has been deleted
2835Dependencies could be written out to fields.xml when they haven’t been calculated
2829Issue with fields out on sync when synchronising combined data sources
2825Crash when Record Viewer panel is open and the user opens a Relational Data Source
2826The name of the Download Images error report file is not being translated
The name of the Download Images error report file is not being translated – the file is called “0x53500kECDownloadErrorsLogFileTitleKey.html” rather than “Download Errors”.
2810Replace Fields… from book panel not closing documents that have been opened
2804Cleansing options not showing the special characters in EasyCatalog Lite
EasyCatalog Lite cleansing options not showing the special characters
2805“New Custom Field” menu not available in EasyCatalog Lite
2800Modifying some field options not updating field content
This is a defect introduced in an earlier beta version with the enhanced dependency checking functionality.
2790Importing Inline Images would not reapply field options if the content was the same
2780Applying a paragraph style via a <tag> is not removing character overrides
2781EasyCatalog can sometimes hang by attempting to keep opening a data source that cannot be opened
2782“Search Entire Data” and “Search Currently Shown Items” buttons enabled on table filter dialog
“Search Entire Data” and “Search Currently Shown Items” buttons enabled on table filter dialog, even though they don’t do anything.
2776Highlight document selection advanced preference is not being obeyed
2771Licenses being disabled unnecessarily during validation
2769“Package” is not always copying all files in the “Data” folder
“Package” is not always copying all files in the “Data” folder, such as the “Original Data.xml” file for XML Data Provider data sources
2767Added support for group tabular fields
https://www.65bit.com/docs/grouped-tabular-fields/
2761Cleansing options preview translation character ^n not working
2762Cleansing options preview on Windows displaying broken and missing text
2763Cleansing options preview on Windows green changed text area not accurate
2757Images are not imported from a URL if the field is empty
Images are not imported from a URL if the field is empty – for example, if the user is building the full path in the Location field but the field’s content is empty.
2758Position Index not functioning correctly when dragging a group containing a single record
Position Index not functioning correctly when dragging a group containing a single record.
If the box(es) being dragged to has a position index > 1, dragging a group containing a single record will populate all boxes with the first/only record.
2747Master Based Pagination would remove items inside a given position index
2744“Show All” not clearing the quick search text field
2739Some field specifiers are not always populating
Some field specifiers are not always populating if the document contains an erroneous end of field marker with no matching start of field marker.
2736Hyperlink fields are always being treated as ‘formatted’ if any fields in the data source are formatted
Formatting should only be applied to hyperlinks containing <tags>

EasyCatalog > Custom Field Commands

IDSummary/Description
2857Custom field update performance enhancements
2845SORT custom field command not always sorting numeric values correctly
SORT custom field command not always sorting numeric values correctly, if the field content also contains non-numeric data – e.g.

SORT(TRUE,^p,’09.07. bis 11.09. 02.07. bis 04.09. 09.07. bis 10.09.’)
2812CREATERANGES not sorting delimited list into order before creating the ranges
2783FRAC2DEC not working with when supplied integer numbers
2784FRAC2DEC not working when input string contains a unicode fraction slash
2753Path shown on IMPORTFILE example is incorrect

EasyCatalog > Combined Data Sources

IDSummary/Description
2902Wrong field lists being shown when editing link
Wrong field lists being shown when editing link, which can lead to a ‘cannot compare placeholder fields’ error on sync.
2903‘Field’ pop-up sometimes changes back to ‘Value’ when editing a link
2882Update Furniture failing when using “Apply Swatch Named In” with Combined Data Sources
This appears to be happening when using custom fields created in the Combined Data Source.
2876DOESFIELDEXIST command not displaying results referencing a field that does not exist for the record being evaluated
2871Update Furniture not updating custom fields created in a Combined Data Source
2854“Edit Condition” dialog allowing fields from all data sources to be selected in the left-most popup
“Edit Condition” dialog allowing fields from all data sources to be selected in the left-most popup: it should only allow fields from the ‘root’ data source.
2850Memory leak when working with Combined Data Sources
Memory leak when working with Combined Data Sources – memory not freed when closing the data source.
2848Combined Data Source comparison performing a ‘Contains’ instead of an ‘Is’
The ‘Is’ comparison operator is performing a ‘contains’ operation when comparing field values
2791Update Furniture not populating fields when using a combined data source
Updating furniture is not working correctly when using a combined data source – for example, if a field from data source A is placed at the top of a page, the furniture box cannot update with data from data source B.
This modification will only work where there’s a 1:1 relationship between the records from different data sources.
2792Replace Fields not always working
It’s not possible to replace fields from data source A with fields from data source B, even if there’s a 1:1 relationship between records.
2793Sync with Data Source keeps reporting the same records as being deleted
Synchronize with Data Source should report the records that were deleted during the last sync.
However, with Combined Data Sources the same deleted record(s) is being reported each time.
2785Crash when attempting to insert a placeholder(chequered) field

EasyCatalog – LUA Commands

IDSummary/Description
2901‘callback’ LUA function does not order groups correctly
‘callback’ LUA function does not order groups correctly – i.e. the groups are processed in alphanumeric order, rather than numeric order (if the group field is defined as numeric)
2859Fixed issue with embedded Lua logic inside a table cell. Sometimes the correct order of commands would not be obeyed
2844HTTP.get() much slower than HTTP.gettofile()
This would affect all URL-based operations, whether through LUA or EasyCatalog’s UI.
2794LUA dialog checkboxes are showing as an indeterminate state when initialised with a ‘false’ value
2751sortrowsbyvalue excludes one of the rows in the range

EasyCatalog – Excel Data Provider

IDSummary/Description
2745Boolean values are always being imported as ‘true’

EasyCatalog – File Data Provider

IDSummary/Description
2872UTF-8 encoded byte order marker being included in first field name
If a UTF-8 encoded file includes a UTF-8 encoded byte order marker, this marker will be included in the first field name when importing the file.
This also prevents quoted field names from being un-quoted correctly.

EasyCatalog – Pagination Module

IDSummary/Description
2919Ungroup Pagination Rule now works on a released anchored object
2892Frame Width to Content Width fitting option ignoring anchor point for text boxes
2816Attributes not being filtered from right-click context menu
Attributes not being filtered from right-click context menu based on the “Filter” option select in the Pagination Rules panel’s pop-out menu.
2799Formatting Rules criteria are being evaluated after the record’s position in the group
Formatting Rules criteria are being evaluated after the record’s position in the group, which results in the wrong Formatting Rule being chosen.

EasyCatalog – Pagination Module > Flow-based

IDSummary/Description
2841“Keep With Next” sometimes being applied incorrectly
“Keep With Next” sometimes being applied when it shouldn’t to paginated items

EasyCatalog – Pagination Module > Formatting Rules

IDSummary/Description
2878Detach Rule is disabled when an anchored Rule is selected
This option should only be disabled when the Rule is anchored in a Rule Set.
2874Germans strings not displaying in full on Formatting Rule information dialog
2861Unhandled exception in ECFormattingRulesMgr.cpp at line 4281
Unhandled exception in ECFormattingRulesMgr.cpp at line 4281 – should be reporting “Rule not found error”.
2862Formatting Rules are sometimes being updated when the “Update Formatting Rules” option is off
2860Large formatting rules are sometimes failing to populate
Large formatting rules are sometimes failing to populate when dragged to the page, if boxes at the top of the Rule are set to resize and they’re off the top of the pasteboard
2856Update Document > Selection on an anchored formatting rule inserts extra rule
Update Document > Selection on an anchored formatting rule inserts extra rule, rather than replacing the one that’s there
2802Formatting Rules are sometimes being ungrouped incorrectly
2803Formatting Rules being updated with wrong records
– If a new panel has been manually created containing only a few records from a data source, and all of those records in the panel are used to populate a Formatting Rule, it will later be updated with all records in the data source.
– If a panel has been created using an Advanced filter (e.g. showing ‘placed’ records) and all of the records shown in the panel are used to populate a Formatting Rule, it will later be updated with all records in the data source.

EasyCatalog – Pagination Module > Guide-based

IDSummary/Description
2886Double-page items are not being automatically detected
2738Restrict Vertical Cell Merging to Page Bounds crashing

EasyCatalog – Pagination Module > Master

IDSummary/Description
2912Positions being left behind when break on field change specified
When breaking to a new page or spread, unused positions are being left behind in the document regardless of what the “Unused Positions” pop-up is set to
2797Linked text boxes are not overridden from the master page correctly – only the first box in the chain will be overridden.

EasyCatalog – Pagination Module > Positional

IDSummary/Description
2920Paginating an ungrouped panel will store incorrect data on Formatting Rule
Paginating an ungrouped panel will store incorrect data on Formatting Rule, resulting the wrong data being used to update the Formatting Rule during “Update Document”.
2764Fixed issue with positional pagination placing objects in the wrong position due to text wrap

EasyCatalog – Pagination Module > Template

IDSummary/Description
2917Furniture is not being updated when paginating template documents
2851FIELDSTR command in document template path not working when paginating Relational Data Source
2734Template pagination ignoring the “Update Furniture After Pagination” option
Template pagination ignoring the “Update Furniture After Pagination” option and always does it.

EasyCatalog – Enterprise

IDSummary/Description
2909Issue when populating “Manage Enterprise Data Providers” dialog was showing a progress bar.
2863Datasource.xml file keeps growing in size when using LUA-based providers
2820On the Manage Enterprise Data Source Dialog the underline needs to be black when using the light UI

EasyCatalog – Enterprise > Elvis

IDSummary/Description
2728Assets in collections are not being imported

EasyCatalog – ODBC Module

IDSummary/Description
2873Errors not always being reported in full.
This version now uses different ODBC API calls that should receive more descriptive error information from the ODBC driver.

EasyCatalog – Relational Module

IDSummary/Description
2842Crashing when displaying Relational Data Source Configuration dialog
Crashing when displaying Relational Data Source Configuration dialog (specifically, displaying the child data sources in the configuration dialog).
2832Crash when attempting to apply picture options
Crash when attempting to apply picture options and the field being placed doesn’t have an underlying record

EasyCatalog – Scripting Module

IDSummary/Description
2916DSV.subsetOf not correctly assigning subset parameters to the DSV
DSV.subsetOf not correctly assigning subset parameters to the DSV, which results in Formatting Rules being incorrectly populated
2865Script methods myDS.setOption and myDS.getOption not working with Custom Data Providers.
2849myDS.setFieldOption would not redraw DSV’s after changing field options
2847“No selection” error is not being reported when using “placeFormattingRule” call
2840“Synchronize” button is now disabled on Information dialog if the workspace has a “PostSynchronizeWithDataSource.jsx” script
“Synchronize” button is now disabled on Information dialog if the workspace has a “PostSynchronizeWithDataSource.jsx” script.
This is because scripts cannot be executed when the dialog is displayed.
2811insertField returns an error when attempting to insert an empty tabular field
2809runLua shown incorrectly in documentation
runLua shown incorrectly in documentation:
– ‘runlua’ instead of runLua on EasyCatalog object – ‘executeLua’ instead of ‘runLua’ on Data Source object
2779purgeDeleted not updating the DSVs immediately
Calling datasource.purgeDeleted does not immediately update any DSVs created for the data source.
2770The selection method insertField would fail on field retrieved from a DSV rather than a DSO
2756Missing properties in Scripting documentation
‘fields’ property missing from ‘record’ object
‘dataviews’ property missing from ‘datasource’ object ‘datasources’ property missing from ‘easycatalog’ object ‘records’ property missing from ‘datasource’ object ‘records’ property missing from ‘dataview’ object
2754Added new method(importFormattingRules) to the EasyCatalog object to import formatting rules
e.g:
var f = File(‘/Users/xxx/Desktop/rules.indd’); app.easycatalogObject.importFormattingRules(app.activeDocument, f);
2737updateDocumentField not updating all fields
updateDocumentField not updating all fields – as reported, Formatting Rule fields inside of tables.