'APID ToolAssistant' Plug-In

  Version 1.0.54 - 11-Dec-2013

(C) 2005-2013 Rorohiko Ltd.
P.O. Box 57143
Mana
Porirua 5247

Web: http://www.rorohiko.com
Mail: pluginsupport@rorohiko.com

What is it?
-----------

Installed just by itself, APID ToolAssistant does not offer any useful
features to an end-user. Instead it enhances InDesign and InCopy 
for software developers and helps them create powerful tools more easily.

In order to use these enhanced tools, an end-user needs this
plug-in installed. There are many versions of the plug-in files available
for Macintosh, Windows, CS..., CS6, CC versions of InDesign or InCopy.

A number of the tools that are built on APID ToolAssistant are free, 
and work with a free, standard copy of APID ToolAssistant - for
example, check our web site for a list of useful tools, some
of which are free:

  http://www.rorohiko.com/indesignpluginsdownloads.html
  
Some tools gain a few extra features when used with an enhanced 
copy of APID ToolAssistant that has its optional extra features 
enabled.

Installing
----------

Select the proper download for your platform. Download, decompress 
and then copy the plugin file or file(s) into your InDesign or 
InCopy Plug-Ins folder, or a subfolder thereof.

The plug-in has a different name for each platform or version of
InDesign, as shown in the table below:

Mac InDesign CS:
  APIDToolAssistantCS.pln

Mac InDesign CS2:
  APIDToolAssistantCS2.pln.framework

Mac InDesign CS3:
  APIDToolAssistantCS3.InDesignPlugin

Mac InDesign CS4:
  APIDToolAssistantCS4.InDesignPlugin

Mac InDesign CS5 (2 items to copy: two plugin files):
  APIDToolAssistantCS5.InDesignPlugin
  APIDToolAssistantUICS5.InDesignPlugin

Mac InDesign CS5.5 (2 items to copy: two plugin files):
  APIDToolAssistantCS5.5.InDesignPlugin
  APIDToolAssistantUICS5.5.InDesignPlugin

Mac InDesign CS6 (2 items to copy: two plugin files):
  APIDToolAssistantCS6.InDesignPlugin
  APIDToolAssistantUICS6.InDesignPlugin
  
Mac InDesign CC (2 items to copy: two plugin files):
  APIDToolAssistantCS7.InDesignPlugin
  APIDToolAssistantUICS7.InDesignPlugin

Windows InDesign CS:
  APIDToolAssistantCS.pln

Windows InDesign CS2:
  APIDToolAssistantCS2.pln

Windows InDesign CS3:
  APIDToolAssistantCS3.pln

Windows InDesign CS4:
  APIDToolAssistantCS4.pln

Windows InDesign CS5 (4 items to copy: two plugin files and two directories):
  APIDToolAssistantCS7.pln
  (APIDToolAssistantCS7 Resources)
  APIDToolAssistantUICS7.pln
  (APIDToolAssistantUICS7 Resources)

Windows InDesign CS5.5 (4 items to copy: two plugin files and two directories):
  APIDToolAssistantCS7.pln
  (APIDToolAssistantCS7 Resources)
  APIDToolAssistantUICS7.pln
  (APIDToolAssistantUICS7 Resources)

Windows InDesign CS6 (4 items to copy: two plugin files and two directories):
  APIDToolAssistantCS7.pln
  (APIDToolAssistantCS7 Resources)
  APIDToolAssistantUICS7.pln
  (APIDToolAssistantUICS7 Resources)
  
Windows InDesign CC (4 items to copy: two plugin files and two directories):
  APIDToolAssistantCS7.pln
  (APIDToolAssistantCS7 Resources)
  APIDToolAssistantUICS7.pln
  (APIDToolAssistantUICS7 Resources)
  
Windows x64 InDesign CC (4 items to copy: two plugin files and two directories):
  APIDToolAssistantCS7.pln
  (APIDToolAssistantCS7 Resources)
  APIDToolAssistantUICS7.pln
  (APIDToolAssistantUICS7 Resources)

For Mac CS5 and onwards, the software is composed of two items
(see table above). Both items must be installed.

For Windows CS5 and onwards, the software is composed of four items
(see table above). All four items must be installed.

If you accidentally copied only some of the files and forgot the rest,
you cannot simply add the missing files afterwards - it won't work.

Instead you need to carefully execute the following procedure
1) Exit InDesign if it is running
2) Remove all installed APID ToolAssisant-related files and/or folders
from the Plug-Ins folder
3) Launch InDesign
4) Exit InDesign
5) Copy all necessary files into the plug-ins Folder before attempting to
launch InDesign again.

InDesign has some internal cache which is only cleared if you run it
without any trace of APID ToolAssistant installed.

Standard and Standard+Developer Extras mode
-------------------------------------------

This plug-in can be used in two ways: standard and standard 
with developer extras.
 
Standard mode is free of charge, and enables you to use a number
of free and commercial scripted plug-ins which can be downloaded 
from the Rorohiko web site.

  http://www.rorohiko.com/indesignpluginsdownloads.html

There is also a growing number of tools based on APID ToolAssistant 
that are created by software developers other than Rorohiko. These 
tools will only function when a copy of APID ToolAssistant 
with developer extras is installed.

As a result, the end user might need to purchase two activations:
one from Rorohiko to enable the developer extras in APID ToolAssistant, 
and another from the third party software developer for the 
scripted plug-in. 

For end-user convenience, the third party developer can also opt 
to provide 'bundle' activations to their customers, which combine the 
needed APID ToolAssistant extras activation as well as the activation
for the tool into a single purchase.

The '+extras' mode of APID ToolAssistant has a cost of US$25 
(or less) per installed copy of InDesign. Purchasing an activation 
for APID ToolAssistant can also activate dormant features in tools 
that are built using the APID ToolAssistant.

When the APID ToolAssistant plug-in is installed for the first
time, it will work in 'standard+extras' mode for about a month, for 
demonstration purposes. It will eventually 'time out' and drop 
down to standard mode - unless an activation file is purchased
and imported.

If you are a software developer, you might want to check out what
APID Toolkit can do for you - amongst many other things, it helps 
you protect your intellectual property, and generate some income 
from scripted solutions for InDesign

  http://www.rorohiko.com/activepageitemsdeveloper.html
  
Version history
---------------

  Version 1.0.54
    - Fixed custom activation URL issue

  Version 1.0.53
    - Rephrased APID licensing terms ('Standard' instead of the confusing 'Unlicensed').

  Version 1.0.52
    - Added on-line activation
    - Added https:// support:
      var s = app.callExtension(0x90B6C,10025,url); fetches a URL, where the URL can be
      either http:// or https://. Currently, APID does not do certificate verification,
      so the https:// is encrypted, but is open to man-in-the-middle attacks. Please
      use alternate means to verify the server identity. A future version will allow
      optional certificate verification to be used.

  Version 1.0.51
    - CC support
    
  Version 1.0.50
    - CS5.5 support
    - CS6 support added 27-May-2012
    - New opcode for registering a license:
    app.callExtension(0x90B6C,10024,hexLicenseString)
    
  Version 1.0.49
    - CS5 support
    - 'Modal mode' now also disables script interruption when the
    user presses the <Esc> or Command-. key.
    - Added new opcodes:
    app.callExtension(0x90B6C,10017)
      Retrieve the current 'theItem' for event handler" 
    app.callExtension(0x90B6C,10018,item) 
      Retrieve owning document for item
    app.callExtension(0x90B6C,10020,item) 
      Retrieve owning spread for item
    app.callExtension(0x90B6C,10021,id)
      return true if 'id' is a valid item id
    app.callExtension(0x90B6C,10023,document,id) 
      return document item with given id
    - Improved handling of subjectDelete: also allow access to datastore
    of the deleted item. When subjectDelete is called, theItem is not
    an object reference, but instead the id of the item being deleted
    as the item cannot be accessed any more.

  Version 1.0.49b2
    - Public beta with CS5 support

  Version 1.0.49b1
    - Preliminary CS5 release

  Version 1.0.48
    - Fixed issue with frame labels on frames with drop shadows
    - Moved top frame label to the left of the frame

  Version 1.0.47
    - Fixed crash on doc close when adornments were being modified
    by an event handler during document close.
    - Adornments now draw correctly on flipped items
    - Added new opcode: kOpCode_SystemID = 10022. Sample:

    theSystemID = app.callExtension(0x90B6C,10022);

    This is the optional system ID that is used to generate license
    files.
    - Adornments are not any more subjected to transparency effects 
    applied to their page item.
    - Adornments now draw correctly on rotated items
    - Adornments now stay same size when user zooms in or out.
    - Adornments now don't print, don't display in preview mode, 
    and don't show up on page thumbnails
    - Fixed 'Missing plug-in' dialogs that appear when a document
    is opened without APIDToolAssistant installed
    - Fixed issue where a user-undo immediately after doc open 
    could inadvertently clear a loaded SPLN's JavaScript code.
    - Fixed bug in MenuName.txt handling (on Mac the file had to 
    be named \MenuName.txt, with a leading backslash, instead of
    MenuName.txt)
    - Fixed undo/redo menu names for SPLN-provided context menus
    - Fixed Mac issue where a document name with double quotes would
    break SPLN functionality
    - dataStore is now persisted into InDesign libraries, snippets,
    .INX and .IDML files
    - Modifying an inline graphic should now trigger a modified-text
    event
    - External SPLN events are now properly collapsed into a single 
    Undo step.
    - Improved 'event cascading' behavior (where scripts modify page
    items, causing further modified* events,...) - there is a fine
    balance between causing infinite loops, and not being able to
    detect the consequences of a scripted page item modification.
    - Added new opcodes: 10018 = kOpcode_OwningDocument; 
    10019 = kOpcode_OwningPage, 10020 = kOpcode_OwningSpread. The
    spread and page are very simple-minded versions - they cannot
    handle any kind of nesting; we intend to improve these in 1.0.48. 
    Sample:
    theDoc = app.callExtension(0x90B6C,10018,thePageItem);
    - Added new opcode to access value of 'theItem' as predefined
    at the beginning of each event handler call - even if 'theItem'
    is overwritten, calling this opcode allows you to retrieve its
    original value.
    theItemAgain = app.callExtension(0x90B6C,10017);
    - Fixed issue where ID would crash on export to EPS after
    printing and closing a previous document
    - Fixed bug where some slightly corrupted documents would lose
    their dataStore
    - Fixed bug where an undo just after doc open would disable events
    - Support more glyphs in adornment strings (e.g. Hebrew characters).
    Left-to-Right text support is very limited: you can request
    an adornment string to be drawn left-to-right instead of 
    right-to-left by appending a new, optional boolean 
    parameter = true to the adornment specification.
    - Fixed an issue where undoing a change to a page item 
    event filter or script tag change could corrupt APID's 
    internal lookup tables, causing all kinds of strange effects.
    - The 'Cancel' button on the 'beg' dialog has been renamed to 'OK'
    which is much less confusing
    - New opcode:
      function IsValidID(doc,id)
      {
        return app.callExtension(0x90B6C,10021,doc,id);
      }
    - Fixed issue where a change of ID serial number or ethernet card
    on a computer would cause the wrong license file requests to be sent.
    - Missing PNG now don't draw at all.
    - Stories in anchored frames should now get more modified*
    events.

  Version 1.0.46
    - Improved speed on document load if multiple .spln
    files are installed.
    - Fixed cosmetic issues with page label adornments:
    text is now anti-aliased, and adornments don't scale
    along with the view any more (just like the handles on
    frames)
    - Fixed some drawing issues with adornments
    - Fixed a few crashes
    - The 'delete' event is currently inoperative.
    - More info can be found at
    http://www.rorohiko.com/cgi-bin/yabb2/YaBB.pl?board=APIDDoc
    (work in progress)
    - CS4 compatibility
    - Scripted page adornments. You can now use scripting 
    (ExtendScript/AppleScript/VBScript) to add little text labels
    or little icons page items to show additional info to the end
    -user. These adornments are non-printing. They can be either
    text (a string), a PNG image, or both (text on top of a PNG
    image). Very cool, very useful.
    - Added a bunch of new 'story' events
    - Custom context-click menus now also work without having 
    any page items selected
    - Guides can now also have context-click menus
    - You can now install your .spln files anywhere in the plug-ins
    folder, and APIDToolAssistant anywhere else - making .spln
    files now behave a lot more like 'real' plug-ins.
    - You can now set a PNG logo to be shown in the 'beg' dialog
    for your spln
    - You can access the file path of your .spln file from an
    event handler script (e.g. to access associated resources)
    - There are new functions around document GUID: you can
    call a function to find the GUID of the frontmost document,
    the active document (these are not necessarily the same),
    or the containing document GUID of any page item.
    - The Undo/Redo menu now shows the proper names of your
    scripted menu items instead of the bland 'Undo Scripted
    Operation'.
    - You can now dynamically remove menus that you've
    added
    - You can now control the showing of checkmarks in
    menus and context menus
    - You now have more control over the order of placement
    of menu items
    - You can now access InDesign's serial number from
    scripting (e.g. to implement seat/license-dependent
    functionality)
    - Previously, using an .spln file caused a copy of the
    complete encrypted script to be embedded in every single
    document. That does not happen any more - which greatly
    reduces the footprint APID leaves on document sizes.
    - You get 'modified' events when a page item is
    detached/attached/reattached from/to a master page

  Version 1.0.45:
    - Merged APID Kernel and APIR; an unlicensed mode APID ToolAssistant
    is equivalent to APIR, a licensed APID ToolAssistant is equivalent
    with APID Kernel.
    - Added doc.multiPropertyAssign() event to scripting DOM
    - Fixed sporadic crash-on-quit issues
    - Send 'parent...' events to sub-elements, e.g. when a story
    is modified, anchored frames are now notified of the modification

  Version 1.0.44:
    - Support for combined APID/spln licensing, making it possible
    for end-users to license both the APIDKernel and an spln
    through a single license file aquired from the spln developer
    - Beg window can bow be dismissed with the <Return> key
    - New opcodes added to app.callExtension(0x90B6C,<opcode>,...):
      kOpCode_RunScriptInEngine = 10007
      kOpCode_GetDocGUID = 10008
      kOpCode_FindDocGUID = 10009
    - New events: modified-objectstyle, modified-textformat,
    subjectModified-objectstyle, subjectModified-textformat
    - handleScriptEvent is now less restrictive - a password match
    is sufficient to allow cross-spln calls (previously, the whole
    componentID had to match)
    - Support for shared, encrypted subroutine libraries
    - Support for version numbers attached to .spln files
    - Licensing scheme now extended to use InDesign serial number
    as well as a unique system identifier - which resolves the problem
    of multi-seat InDesign installations where many computers
    share the same InDesign serial number.
    - Fixed issue that caused InDesign to sometimes crash when
   copying guides
    - Fixed some potential redraw issues
    - API 'About Window' now shows all .spln files even if no document
    has yet been opened.
    - API 'About Window' has support for .spln version numbers
    - Added scripted DocGUID support to allow scripts to better
    handle situations with two documents carrying the same name.
    - Documents don't show unexpected 'modified state' after installing
    new or updated .spln files.    

  Version 1.0.43:
    - New events: 
        modified-recomposed-nooverset
        modified-recomposed-overset
        modified-usertyping
    - Allows context menus on text selections
    - Allow nested context menus in InDesign CS3 and above
    - Allow custom menu headers instead of default 'API' menu
    - Allow configurable delay for system event codes (by default, all
    delays are 0, except for "modified-text", which has a delay of
    3000 ms, i.e. 3 seconds). See $DELAY_<eventcode> in reference
    manual under section "5.2 Predefined keys"
    - Allow launching external apps while locking InDesign in modal
    mode until external app finishes (used for external dialogs).
    (see app.launchWith in reference manual and section 5.7 in cookbook)
    - Support for InDesign CS3 named script engines - events can be
    targeted to a particular engine. See section 5.6 in cookbook.
    - Support for clearing the undo stack in InDesign CS3 while running
    lengthy scripts (see app.callExtension in reference manual)
    - New examples added to cookbook documentation
    - Fixed issue that caused duplicate events on text frames in 
    InDesign CS and CS2
  
  Version 1.0.42:
    - Faster menu and context menu handling
  
  Version 1.0.41:
    - Now supports app.setDataStore and app.getDataStore for persistent
    application-wide data storage
    - Fixed conflict with Softcare's K4 - the docLoaded event is NOT
    issued any more on any documents that are not made visible. In
    essence, docLoaded now fires when the document layout window opens,
    and not when the document is opened.

  Version 1.0.40 (not released): 
    - Faster menu handling by allowing grouping of menu items (look up
    $GROUP_EVENTS$ in reference manual).

  Version 1.0.39:
    - Support for CS3
    - Fixed conflict with CS2 ExtendScript Debugger
    
  Version 1.0.38:
    - Fixed incompatibility with Windows 2000
    - Support for compiled standalone scripts
    
  Version 1.0.37: (1.0.35 and 1.0.36 were not released)
    - Added new features (app.launchWith, progress bar
    management linked to app object, modality feature,...).
    See Reference manual and cookbook for more info.

  Version 1.0.34: (not released)
    - Resolved issue that caused 'missing links' dialog to 
    be suppressed on open document.

  Version 1.0.33:
    - Attempt to resolved issue that caused 'missing links' 
    dialog to be suppressed on open document. Issue was not
    fixed.

  Version 1.0.32:
    - Resolved conflict with HistoryLog en TextExporter.
    - Resolved undesirable delays when executing close or save
    in a script and a docClose or docSave handler is present.
    The delays now only occur when close or save are executed from
    inside a handler script, not from a 'regular' script.

  Version 1.0.31:
    - Not released. Speeded up operations when Edit-Select All is 
    performed (Color2Gray tool).

  Version 1.0.30:
    - Not released. Fixed palette conflict with Softcare's 
    K4 plug-in.

  Version 1.0.29:
    - Support for additional features of APID (external 
    data store).

  Version 1.0.28:
    - Fixed potential conflict with other plug-ins

  Version 1.0.27:
    - Not released. Part of InDesign Server CS2 support
    
  Version 1.0.26:
    - Fixed issues with Japanese CS2
    - Fixed issue when modal dialog opens on document open
    (e.g. missing fonts).
    - Added support for 'external...' event codes
   
  Version 1.0.25:
    - Improved progress bar facilities

  Version 1.0.24
    - Support for APIDToolkit
    - Faster handling of save, close, quit
    - Corrected handling of keyboard shortcuts assigned to 
      menus managed by scripted plug-ins
    - Support for enabling/disabling menus managed by
      scripted plug-ins

  Version 1.0.23:
    - Resolved crash with book files
    
  Version 1.0.22:
    - Resolved crashes with calling a document's save or close
    function from inside an event handler.
    - Added support for menu bar menu items
    
  Version 1.0.21:
    - Resolved crash when using progress bar from context menu
    handler
    - Resolved conflict with AppleScript
    
  Version 1.0.20:
    - Added support for showing progress bars (see reference manual).
    - Added automated template for Scripted Plugins with external
    source code (so you can use an external editor to edit them)
    - Can now use the <document>.save(...) method from inside a 
    scripted event handler.

  Version 1.0.19:
    - Initial public release.

Disclaimer
----------

This software is provided as is without warranty of any kind, either 
expressed or implied, including, but not limited to the implied 
warranties of software programs and fitness for a particular 
purpose. The entire risk as to the quality and performance of 
the program is with you. If you use the program, please do so with 
the understanding that you assume all risks of using it. 
 
License
-------

This license covers the 'APID ToolAssistant' Plug-In.
Copyright (c) 2005-2012 by Rorohiko Ltd. All rights reserved.

You should carefully read the following terms and conditions 
before using this software. Your use of this software indicates 
your acceptance of this license agreement and warranty.

This software and the accompanying files are provided "as is" and 
without warranties as to performance or merchantability or any 
other warranties whether expressed or implied. Because of the 
many and variable hardware and software environments under which 
this software may operate, no warranty of fitness for a 
particular purpose is offered.

Good computer procedure dictates that any program be thoroughly 
tested with non-critical data before relying on it. The user 
must assume the entire risk of using the program.


