Your prescription for increased productivity and profitability
In this blog we will continue to build some handlers for an AppleScript that will provide a number of options for working with InDesign libraries.
To complete our script we will be adding the following:
As with many scripts, once you start working with it you may discover your initial approach to the problem could be simplified or made better in some way. So it is with our library script. To simplify, it was decided to have just one list of libraries from which the user can choose. If the library is not open, the script can open it. So much simpler. The only downside to this approach is that the list of libraries from which the user will have to choose could be quite long.
Custom Dialog with Enabling Group for adding selected page item to chosen library
Once a library is selected in the custom dialog, a reference to the library is established in a handler namedĀ getLibraryReference:
(*Returns reference to library; opens library if not open *) on getLibraryReference(libName, libPath) tell application "Adobe InDesign CC 2014" if not (exists library libName) then set fileAlias to (libPath & libName) as alias set libReference to open fileAlias else set libReference to library libName end if makes library referenced the active panel --makes library referenced the active panel set libPanel to associated panel of libReference if visible of libPanel is false then set visible of libPanel to true end if end tell return libReference end getLibraryReference
Notice the code that makes the library referenced the active panel.
The custom dialog will only add an enabling group for entering asset information if there is a selection. To check for a selection, the following handler is added to the script:
(*checks for selection in document. If no selection an empty list is returned.*) on checkSelection() set selItem to {} tell application "Adobe InDesign CC 2014" try if selection is not {} then set selItem to item 1 of selection end if end try end tell return selItem end checkSelection
If there is a selection, an enabling group is added to the dialog with fields for the user to enter a name and description. Also a dropdown from which to select the asset type.
if selectionRef is not {} then make dialog row set enable3 to make enabling group with properties {static label:"Add Selection to Library", checkedState:false} tell enable3 tell (make dialog column) tell (make dialog row) make static text with properties {static label:"Asset Name: "} set assetField to make text editbox with properties {min width:300} end tell tell (make dialog row) make static text with properties {static label:"Description: "} set assetDescField to make text editbox with properties {min width:300} end tell set assetType to make dropdown with properties {string list:assetTypes, selected index:0, min width:316} end tell end tell end if
The entire script will be added to our AppleScript page, Monday October 6. It will be our featured script for the month of October.
All that is left is the need for a script to open a chosen asset to the page. We will leave this for our next blog (Monday October 6). Meanwhile, check this blog or watch for our Twitter feeds (Twitter.com/publish.rx) forĀ exciting news coming soon.