Release: InCatalog 2/3.2.1 for InDesign 2/CS

Changes at 2.2.1/3.2.1 release

Fixed a problem which could cause a crash when an error was reported.

Added new %"..." ODBC character encoding field qualifier. The value (Windows, Macintosh, UTF-8, or UTF-16) applies to all fields in the DD and specifies the format of characters sent to and received from a database via ODBC (and only ODBC).

Reinstated field quoting (the “Q” field qualifier) for ODBC-based exports. This really shouldn’t be necessary due to the bind/exec sequence we’re using to transfer data. Some ODBC drivers, however, appear to paste the data into the SQL update command directly without first wrapping the data in quotes, which then causes the update to fail. If your database updates are failing with mysterious errors, try adding the “Q” qualifier to the appropriate fields. Conversely, if you’re seeing quotes appear in your database after an update then be sure to remove the “Q” qualifier from those fields.

Fixed an ODBC import problem so that DOS-style line-ends (CR LF) are now treated as a single new-paragraph character rather than two.

Fixed an import problem where invalid characters (like nil) in un-tagged text fields were not being ignored.

Added UTF-32 character support to our tagged text machinery.

When importing tagged text, paragraph and character overrides are no longer cleared when a paragraph marker is encountered. Instead, applying a paragraph style will clear all paragraph and character-level overrides as well as reset the active character style (to No Style, currently). Applying a character style will now clear only character-level overrides. Otherwise, extant styles and overrides persist across paragraph markers.

Exporting a multi-paragraph link as tagged text no longer emits all possible paragraph and character level tags for each new paragraph after the first. Now, only the minimal set of required tags (to describe the style and any local overrides) are produced.

Exporting a link as tagged text no longer emits a tag for the link itself (since the presence of the link should be transparent).

When exporting a multi-paragraph link, the "I" (independently tagged) field qualifier may now be used to force the generation of a paragraph style tag for the initial paragraph. Without the "I" field qualifier, a tag for the initial paragraph’s style will never be emitted. In both cases, remaining paragraphs will be prefaced with a style tag only if their style differs from the preceding paragraph’s.

Added using InCatalog suffix to all scripting event descriptions to make InCatalog-specific events easier to find.

Cleaned up the tagger palette a bit by making dropdown heights and label positions conform to InDesign standards.

The About dialog entry in the InDesign (on MacOS) and Help (on Windows) menus has been moved from an About Plug-ins sub-menu to a new About Em Software Plug-ins sub-menu.

Changes at 2.2/3.2 release

Added Unicode and long filename support for DDs, data snapshots, and imported pictures. (Unicode and long filenames are not available in 2.2 when running InDesign 2 in MacOS 9 or as a Classic application in Mac OS X.)

In a quoted field, a doubled quote character followed by the end-of-field character no longer produces a spurious end-of-field.

Fixed a long-standing problem that would produce a “fatal error” on document update or when closing a newly created/updated data file (a “can’t get data error”) when a field’s size exceeded about 4,000 characters.

Linked place-holder characters, created by importing an empty field, are now exported as an empty field rather than a “?” (question mark). (Windows only)

Fixed a problem where tables cells not in the table’s originating text frame were being ignored.

Fixed a performance problem where all cells in a table were being visited (potentially) more than once during a document update.

Using an empty key field when importing a link as tagged text no longer results in an error so long as the specified keytype is other than “from link”.

The current selection is now properly restored after an update.

Shortcut keys now work properly when key focus is on the tagger palette. (Windows only, CS only)

Due to new features and limitations in InDesign CS, we made some changes to InCatalog’s scripting language which may or may not affect you.

On Mac OS (InDesign CS only) we’ve had to eliminate our use of the so-called “direct object”, but we’ve managed to do this without changing the event syntax. Unfortunately, compiled scripts will need to be recompiled.

What were update document using file and update document using string have become the single event update document with new, optional parameters using file and using string. What was update data using file is now update data with the required parameter using file. All other events remain unchanged.

The using file parameter (of both events) may specify a file alias or text (which InCatalog will coerce to an alias). The using string parameter must specify text.

When using update document, one (and only one) of using file and using string must be present. If both are present, the string reference is currently ignored; however, we may change this and issue an error in the future.

Under Windows, the only change was the removal of the InCatalog prefix from the scripting methods. For example, what was InCatalogUpdateDocumentUsingFile is now UpdateDocumentUsingFile. Except for additions noted below, the parameter list remain the same. (NB: Unlike the changes to Mac OS scripting, this change applies to both the 3.2 and 2.2 versions of InCatalog for Windows.)

Added new update document and update data boolean parameters selected frame and selected group which limit the effect of the update (in either direction) to the currently-selected frame or the currently-selected group, respectively.

For example, using AppleScript, the code:

update document using file alias("...") ¬
with selected frame

would update just the currently-selected frame.

These options mimic the behavior of the interactive update palette exactly (i.e., only the currently selected frame’s contents are updated in the selected frame case (and not any other part of a story, if it’s a text frame and part of a text chain), and the entire outermost containing group is updated in the selected group case. Likewise, undo is not disabled for selected frame and selected group updating.

If there is no such selected item, an error results.

Note that these “limits” can’t be used in conjunction with page or spread first/last limits.

On Windows, these parameters have been introduced in the limits group, immediately following the lastSpread parameter:

Added support for multiple ODBC managers, selectable from the Open ODBC Connection… dialog, the DD (see new "^" qualifier, below), or via a script parameter. Support for Data Direct and OpenLink driver managers is built-in. When only one of these managers is available, it will be used as the default manager. When both a Data Direct and an OpenLink manager are available, the user will be prompted to select one in the Open ODBC Connection… dialog if a manager hasn’t been specified in the DD. Added a manager parameter for scripting control of which ODBC manager is used. (Mac OS only)

Added a new DD field qualifier, ^"...", where an ODBC driver manager library may be specified. For example, [^”iODBC CFM Bridge”] would specify the OpenLink manager, [^”ODBC Driver Manager”] would specify Data Direct’s MacOS 9 manager, and [^”ODBC DriverMgr PPC”] would specify Data Direct’s Mac OS X manager. This qualifier is only useful when multiple ODBC managers are present, in order to avoid having to choose one in the Open ODBC Connection… dialog. (Mac OS only)

Note that, in theory, any provider’s manager library may be specified, so long as it exports the ODBC functions required by InCatalog.

Note also that the manager name specified is actually the library’s “load” name, which isn’t necessarily its file name. (The load name should be that of the first exported symbol.)

InCatalog Pro no longer crashes InDesign on startup if no ODBC manager is present. Instead, it will run with ODBC options disabled (like the non-Pro InCatalog) until a manager is made available.

The DD’s DSN field qualifier &"..." may now be used to specify a connection string which is passed directly to the ODBC manager’s SQLDriverConnect() service. The DSN qualifier will be treated as a connection string if (and only if) it doesn’t name an existing user or system DSN and it contains at least one equals sign (=). For example, a file DSN named “foo.dsn” may be specified using the qualifier [&"FILEDSN=foo"]. For more information on SQLDriverConnect()-compatible connection strings, see this document on Microsoft’s site. (Microsoft defined the ODBC standard.)

Added the ?"..." DD field qualifier, allowing the specification of a field’s default value in the event of a missing key. For text, the qualifier’s value is unquoted tagged text which is inserted in place of the missing data. For pictures, the value is the path of an alternative image to be loaded or a hyphen (?”-“) to specify that the picture frame be cleared. Note that missing key errors are logged regardless of this qualifier’s setting.

Pressing a tagger shortcut key which applies a field containing an indirect key type preset (e.g. L"C") now automatically applies the link regardless of the Add/change link on field hot key setting.

Pressing a tagger field shortcut key now immediately updates the tagger’s key type, price fields, and tagged text fields to reflect any field presets in the current DD.

The tagger field shortcuts no longer disappear when a plug-in is added or removed.

The tagger field shortcuts are tracked more accurately in the user interface Preferences panel, which now allows their re-instatement after the active keyboard shortcuts set is switched.

An alert issued by the tagger for an illegal field value no longer resets the field to its previous value. (Windows only)

Reinstated an audible alert when a (key or field) prompt or error is issued by the tagger.

The Fill frame maintaining aspect ratio picture positioning method now uses both the image width and height when fitting the image to the frame. Previously, only the image width was used, which–for wide images–could leave gaps at the top and bottom of the frame.

Fixed a potential crash when using database or table names longer than 31 characters.