'APID ToolAssistant' Plug-In

  Version 1.0.47 - 15-September-2009

(C) 2005-2009 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, this plug-in does not offer any useful
features to an end-user. Instead it enhances InDesign 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 separate plug-in files available
for Mac/Win/CS/CS2/CS3/CS4 versions of InDesign.

Many of the tools that are built on APID ToolAssistant are free, 
and work with a free, unlicensed copy of APID ToolAssistant - for
example, check our web site for a list of useful tools, most
of which are free:

  http://www.rorohiko.com/indesignpluginsdownloads.html
  
Some tools (e.g. TextExporter) gain a few extra features when
used with a licensed copy of APID ToolAssistant.

Installing
----------

Select the proper plugin for your platform (Mac/Windows, 
CS/CS2/CS3/CS4) and copy it into your InDesign Plug-Ins folder, 
or a subfolder thereof. 

The Mac versions are contained within a disk image. Double-click 
the Mac.dmg file to mount the disk image, and copy the plug-in
from the mounted disk image to your InDesign Plug-Ins folder.

*** WARNING!!! ***

REMOVE OLDER VERSIONS

More specifically:

If you have previously installed any of APID ToolAssistant 
predecessors (Active Page Item Runtime or Active Page Item 
Developer Kernel), you should remove them. Install the latest 
APID ToolAssistant plug-in instead - verify our web site 
to make sure you have the latest and the greatest installed.

Download link for APID ToolAssistant:

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

Licensed and unlicensed mode
----------------------------

This plug-in can be used in two ways: licensed and unlicensed.
 
In short: licensing the APID ToolAssistant enables more features.

Unlicensed 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 licensed copy of APID ToolAssistant 
is installed.

As a result, the end user might need to purchase two licenses:
one from Rorohiko for 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' licenses to his customers, which combine the 
needed APID ToolAssistant license as well as the license for the 
tool into a single purchase.

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

The feature-comparison between the licensed and unlicensed mode
of APID ToolAssistant depends on the individual tool at hand,
and varies somewhere between the two extremes of 

  'no difference between licensed and unlicensed mode' 

and 

  'cannot be used in unlicensed mode'

You need to check the documentation of the tool in question to 
find out what the advantages are, if any, of switching
to APID ToolAssistant licensed mode. In some cases, it's a must; 
in other cases, it's totally optional, and in a few cases,
it offers additional benefits.

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

The APID ToolAssistant licensing cost is accounted per copy of 
InDesign. Sadly enough, that means that if you have two copies 
of InDesign installed on a single machine (e.g. CS2 and CS3), which 
need both to be licensed, you'll also need to purchase two licenses.

There are no provisions for upgrading or side-grading - the cost of
a single license is kept purposefully low, and does not reflect
the real cost nor the real value of the plug-in - the fee is a small
contribution towards further development. To allow us to sustain
the low license fee, we decided not to allow for the administrative
overheads involved in tracking things like upgrades. Instead we use 
a very simple, automated system and we charge a fee per installed 
copy of InDesign.

We do have multi-license bundles available for the APID ToolAssistant 
at progressively lower per-copy rates - these are meant for use
within a single company or entity. Multi-license bundles should not
be split and re-sold separately.

Older Versions
--------------

Previously, APID ToolAssistant used to be called either

  'Active Page Items Runtime'

or 

  'Active Page Items Developer'. 

Both these older plug-ins have now been merged into 
APID ToolAssistant, which is a drop-in replacement for both 
of them.

In some cases, to make full use of a particular tool
you might need to purchase a license for APID ToolAssistant.

Whether this is the case depends on the particular tool
at hand. Consult the documentation for the tool you are installing
to determine whether it needs an APID ToolAssistant license 
to be installed or whether an unlicensed copy suffices.
(Also see 'Licensed and unlicensed mode' further below)

The APID ToolAssistant plug-in adds a number of enhancements 
to InDesign and InDesign ExtendScript, and supports tools that
were created by a software developer who is using 
Rorohiko's

  Active Page Item Developer Toolkit (APID Toolkit)

or the

  Active Page Item Enterprise (APIE)

tools.

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.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-2009 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.


