Several users have reported that they fail to update SmartSort when a new version arrives. They have downloaded the latest JSX file from this website, replaced the previous one in their Scripts Panel folder, restarted InDesign, but the script dialog box still appears as it did in the previous release and the version number is not up to date in the title bar. So what is going on?

This is a typical issue related to residual instances of the previous script that, for reasons related to your configuration or the Indesign update process, remains active when the application starts up. We will provide here as much technical detail as possible to definitively resolve this problem.

Note. — As I write this, the current version of SmartSort is 1.22 and should be displayed as such at the top of the dialog box. It introduces “Remove Duplicates” and “Remove Empty Lines” options (and some fixes) that were not implemented before.

Abstract

1. SmartSort is a free InDesign script that allows you to sort paragraphs or tables in different languages. Its particularity is that it installs a “Smart Sort…” command (or a localized title) in different menus of the application so that you can quickly execute it in a given context.

2. The mechanism for integrating with InDesign menus involves startup commands that are handled by the script itself. When SmartSort is first run, it creates a shortcut (named SmartSort) in a special startup scripts folder that InDesign examines every time the application restarts.

3. However, the actual script SmartSort.jsx should normally reside in your standard Scripts Panel folder. It is not recommended to install this file directly as a “startup script” (better to let it manage its alias). Please read the User Guide for more information on the installation steps.

4. InDesign has in fact three distinct Scripts Panel folders (and sibling startup scripts folders). One is in the [Application] branch, one is in the [Community] branch, and one in the [User] branch — which can all be accessed from the Scripts panel. Although opinions differ on this point, we recommend installing scripts in the [User] branch because it remains well separated from the application folders and does not pollute multi-user environments.

Finding the location of the User's Scripts Panel folder.

5. In addition, several versions of InDesign may coexist on your system, and for each a hierarchy of script folders — and possibly different scripts! Depending on your update preferences (and InDesign versions under consideration), a script and/or shortcut transfer procedure may have been initiated automatically.

All these considerations explain why residual scripts or links can hang around in your folders and disrupt the normal update of SmartSort.

Detect and Verify Present Files

1. Preliminary step before any other operation: quit InDesign!

2. The quickest way is to run a search for the SmartSort file(s) on your hard drive. This will reveal all existing instances (including aliases) and their locations.

Note. — A drastic solution is to remove them all, then download and install the latest version!

3. If you are taking a more careful approach, consider the actual SmartSort.jsx files first (or go from their shortcut to the file.) If you are unsure of the version of a release, simply open the JSX file in a full-text editor. The script header always indicates a reliable version number:

Each SmartSort.jsx file can be opened in a text editor in order to check its version.

4. Regarding shortcuts (i.e. file aliases), the rule is simple: they should be located in a startup scripts folder and point to the up-to-date version of SmartSort.jsx. If not, don't try to fix them manually: just delete them. When you restart InDesign, you'll just need to run SmartSort once from the Scripts panel and it will reinstall its menu items.

The normal structure of a clean installation (for each InDesign version) is as follows:

    startup script folder: alias to SmartSort.jsx ↓
    Scripts Panel folder: SmartSort.jsx (freshest version)

Typical Issue

The diagram below represents a typical misconfiguration, as can occur when multiple versions of InDesign coexist.

Typical misconfiguration.

The user downloaded and dropped the latest version of SmartSort (1.22) into the Scripts Panel folder of InDesign 20. However, the older file (1.18) is still present in the ID 19 structure and the startup scripts folder of ID 20 contains a residual shortcut that still points to the old version. When you start InDesign 20, it is the old version of SmartSort that is attached to the application menus!

Canonical solution

If you're tired of endlessly troubleshooting multiple InDesign versions, there's a simple, definitive way to manage your scripts. Gather them into a single, personal folder, and create — once and for all — an alias to that folder in each Scripts Panel folder.

The cleanest way to manage all your scripts.

When you need to update SmartSort, simply drop the new version in place of the old one in your MyScripts folder. Nothing else to do then but restart InDesign.