This document contains a list of new features and known issues in this ExtendScript Toolkit 2 (ESTK)
release. The last section describes a few hidden gems, like additional Preferences settings, or how to
customize the editor, or add new language definitions to the editor.
2. What has changed in 2.0.2
Fixes:
- Installing ESTK 2.0.1 resulted in media failures when installing new Adobe products or repairing
existing ones.
- Palette layout was not restoring correctly after restarting the ESTK.
Macintosh only:
- ESTK was using too many CPU cycles, especially when idle.
- On OS X 10.5, the Object Library was not able to display any help text.
3. What changed in 2.0.1
Fixes:
- Changing a property value in the Data Browser was sometimes ignored.
- When executing a script containing included files, the first included file was sometimes opened in the
background.
- A collapsed text block in a document stayed hidden when deleting the collapsed line.
- Adding or editing breakpoints was not possible if an Object Model dictionary window was in front.
- Collapsed text blocks were not expanded when Code Collapse was switched off.
Windows only:
- The Console was unable to execute multiline commands.
Macintosh only:
- The Console did not scroll to the end after displaying a long text.
- When scrolling a document without changing the cursor position in the document, the document
scrolled back to the previous position after it had been resized.
- The ESTK could not handle files on the root level of the file system.
New features:
- Documents are moved to a visible area if they are about to be hidden by docked panels.
Adobe Systems Incorporated 1 of 17
Page 2
November 26, 2007
- A new menu item "Window/Reset Panel Locations" restores all panels to their default locations.
- On the Macintosh, CPU usage has been optimized.
- The code completion does not attempt to display hints inside comments or quoted text.
- Windows: A Ctrl–click on the document window title bar displays the document filename without its
path.
4. New Features in ESTK 2.0.1
The ESTK comes with a totally new UI which follows the OS specific UI guidelines, i.e. on Windows
there is a main window, on Mac OS, there is no main window. Each document window has its own
toolbar, where you can connect the document (and its script) to a target and engines of the selected target,
and where you find the debugging buttons. The panels are the same panels as for other CS3 applications,
so they can be rearranged freely.
The ESTK can now debug more than one script (on different targets) at the same time using the toolbar.
So, for example, you can debug a script in Photoshop and while still in debug mode start another debug
session with a script in InDesign.
The ESTK also comes with a new text engine. This engine supports line wrapping and code collapsing
and it supports many different syntax highlighting schemes.
A keyboard shortcut editor has been added to the Preferences dialog.
A new Favorites panel displays user-configurable lists of source files.
An improved Console panel lets users cut, copy, and paste texts. Single-line scripts can be re-executed by
moving the cursor to that line and pressing the Enter key, and multiple lines can be executed by selecting
them and pressing the Enter key.
This release contains an Object Model dictionary for the Core JavaScript Classes as well as for the
ScriptUI classes under the Help menu. CS3 applications add their own dictionaries when installed,
making the browsing of a target application's host model easy and straightforward.
To connect to an application, click on the "chain"
document window. Hitting any of the debugging buttons such as Run will also automatically launch the
target application. There is an option in the Startup preferences to auto-launch the application every time
you select the target.
Good to know:
- If the Shift key is pressed and held during startup, the preferences aren't loaded.
- If the Shift key is pressed and held during shutdown, the preferences aren't written.
4.1. Find and Replace
The ESTK supports a limited set of Regular Expression syntax for the Find and Replace dialog:
icon to the left of the target popup menu in the
. Matches any character
( This marks the start of a region for capturing a match.
) This marks the end of a capturing region.
\< This matches the start of a word using the editor's current definition of words.
Adobe Systems Incorporated 2 of 17
Page 3
November 26, 2007
\> This matches the end of a word using the editor's current definition of words.
\x This allows you to use a character x that would otherwise have a special meaning. For
example,
\[ would be interpreted as [ and not as the start of a character set.
[...] This indicates a set of characters, for example,
You can also use ranges, for example [a-z] for any lower case character.
[^...] The complement of the characters in the set. For example,
except an alphabetic character.
^ This matches the start of a line (unless used inside a set, see above).
$ This matches the end of a line.
* This matches 0 or more times. For example,
+ This matches 1 or more times. For example, Sa+m matches Sam, Saam, Saaam and so on.
It is possible to use the captured regions of a match in the replacement expression by using the
placeholder
the search string was
Fred2XXX this would generate Sam2YYY.
\1 through \9. \1 refers to the first captured region, \2 to the second etc. For example, if
Fred\([1-9]\)XXX and the replace string was Sam\1YYY, when applied to
4.2. The Adobe Scripts folder
On first launch the ESTK creates a folder named Adobe Scripts in the user's Documents folder. This is the
folder whose contents the Default favorite in the Scripts panel displays.
When double-clicking a
the file, a security dialog pops up asking if it is OK to execute the script. The ESTK treats the Adobe
Scripts folder in the user's
clicking a
.jsx file in that folder, the ESTK does not display the security alert.
.jsx file, the ESTK acts as an invisible security filter. Before actually launching
Documents/Adobe Scripts folder as a trusted location. When double-
[abc] means any of the characters a, b or c.
[^A-Za-z] means any character
Sa*m matches Sm, Sam, Saam, Saaam etc.
5. Known Issues
This section explains a few limitations of the ESTK, which will be addressed in a future release.
5.1. Preferences/Favorites
- On the Mac, do not create an alias to the ESTK as a shortcut for launching in a folder having been
defined as a Favorite. If you do so, it is not possible to add more than one Favorites to the Favorites
panel.
- Aliases are displayed as files in the Scripts pane if the
must also have the same extension in order to display in the Scripts pane.
5.2. Window Placement
The ESTK attempts to adjust itself to the current layout of the desktop, including multiple screens. It
cannot detect that a screen has been added or removed without the user having notified the operating
system first by using the Desktop Properties (Windows) or System Preferences (Macintosh). Also, it
attempts to adjust its window size to a new desktop size when it detects that the desktop has changed
Adobe Systems Incorporated 3 of 17
.jsx file filter is not used. Aliases to files
Page 4
between program runs. There are circumstances, however, where manual adjustment of the ESTK's
windows is necessary.
5.3. Windows Font Support
The Preferences panels cannot display East Asian characters if East Asian language support is not
installed in Windows. Also, it cannot display files containing East Asian characters correctly if that
package is not installed. It is possible, however, to alter the default font settings (see the section about
Hidden Gems).
5.4. ScriptUI Programming
- When programming ScriptUI dialogs, the ESTK ignores breakpoints in callback functions if the
dialog is modal. The modal ScriptUI dialog causes the ESTK to go into a modal state, where most of
the UI is disabled. Therefore, it cannot easily switch back into normal debug mode when a breakpoint
is hit.
November 26, 2007
- When programming the ScriptUI
loadMovie() method already loads the Flash movie and starts playing.
FlashPlayer widget, do not use its playMovie() method. The
5.5. Extended Input
The ESTK does not fully support Extended Input to enter non-Roman characters (such as Japanese).
Especially, reconversion is not supported.
On the Macintosh, if you change the syntax highlighting language while in Extended Input mode,
sometimes, strange characters are entered.
5.6. Compiled Scripts
If a script is compiled to a .jsxbin file, the #target directive is ignored. Double-clicking a .jsxbin
file does not execute the script in the application that the
#target directive defines.
6. Hidden Gems
6.1. Preferences
In the Fonts and Colors dialog, select multiple styles by using either the Ctrl key or the Shift key to
change the settings for more than one style at once.
6.2. Hidden Preferences
The ESTK contains a few hidden settings. These settings can be edited manually by editing the
Preferences template file
Inside /Applications/Utilities/Adobe Utilities/ExtendScript Toolkit 2.app; you need to control-click the
application icon and select "Show Package Contents" to open the package. The file is located here:
Contents/SharedSupport/Required/defs.xml
After editing the file, start the ESTK with the Shift key down to have the ESTK revert to the default
preferences by loading this file. Note: This will also erase your keyboard shortcuts, favorites etc.
6.2.1. Enable a Save This File? Dialog before debugging
To enable a dialog asking to "Save this file?" before debugging, set this XML tag to true:
The ESTK supports intelligent auto-indenting. Every time the user types in an opening bracket, the indent
increases, and it decreases for every closing bracket. Change this behavior by setting this XML tag to a
different value:
<document><autoIndent>2</autoIndent></document>
There are three possible values:
November 26, 2007
0 – auto-indenting off
1 – static auto-indenting – the indents are preserved as the user enters them
2 – intelligent auto-indenting (default)
6.3. Configuring the Editor
The editor loads its setting from the XML file syntaxdefs.xml. The file is stored in the same location
as the file
defs.xml mentioned above.
The structure of this file is quite complex; its documentation is beyond the scope of this document. It
contains settings for all supported languages, such as:
- The menu text
- The colors to be used
- Keyword tables
- Which characters to be recognized as word characters
- Block indentation support
Adding even more language definitions is easy and straightforward. To reload this file after editing, start
the ESTK with the Shift key down to cause the ESTK to revert to its default settings, causing it in turn to
load the altered file
syntaxdefs.xml.
7. Third Party Legal Notices
This product may include software licensed under terms that requires Adobe to display the following
notices.
41 The contents of this file are subject to the Netscape Public License Version 1.1 (the "License"); you
may not use this file except in compliance with the License. You may obtain a copy of the License
at http://www.mozilla.org/NPL/
Adobe Systems Incorporated 5 of 17
Page 6
November 26, 2007
Software distributed under the License is distributed on an "AS IS" basis, WITHOUT
WARRANTY OF ANY KIND, either express or implied. See the License for the specific language
governing rights and limitations under the License.
The Original Code is Mozilla Communicator client code, released March 31, 1998.
The Initial Developer of the Original Code is Netscape Communications Corporation. Portions
created by Netscape are Copyright (C) 1998-1999 Netscape Communications Corporation. All
Rights Reserved.
Contributor(s): ______________________________________.
Alternatively, the contents of this file may be used under the terms of the _____ license (the "[___]
License"), in which case the provisions of [______] License are applicable instead of those above.
If you wish to allow use of your version of this file only under the terms of the [____] License and
not to allow others to use your version of this file under the NPL, indicate your decision by deleting
the provisions above and replace them with the notice and other provisions required by the [___]
License. If you do not delete the provisions above, a recipient may use your version of this file
under either the NPL or the [___] License.
46 Copyright (C) 1995-1997 Eric Young ([email protected]) All rights reserved.
This package is an SSL implementation written by Eric Young ([email protected]).
The implementation was written so as to conform with Netscapes SSL.
This library is free for commercial and non-commercial use as long as the following conditions are
adhered to. The following conditions apply to all code found in this distribution including RC4,
RSA, lhash, DES, etc... The SSL documentation included with this distribution is covered by the
same copyright terms except the holder is Tim Hudson ([email protected]).
Copyright remains Eric Young's, and as such any Copyright notices in the code are not to be
removed.
If this package is used in a product, Eric Young should be given attribution as the author of the
parts of the library used. This can be in the form of a textual message at program startup or in
documentation (online or textual) provided with the package.
Redistribution and use in source and binary forms, with or without modification, are permitted
provided that the following conditions are met:
1. Redistributions of source code must retain the copyright notice, this list of conditions and the
following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
and the following disclaimer in the documentation and/or other materials provided with the
distribution.
3. All advertising materials mentioning features or use of this software must display the following
acknowledgement: "This product includes cryptographic software written by Eric Young
THIS SOFTWARE IS PROVIDED BY ERIC YOUNG "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The licence and distribution terms for any publically available version or derivative of this code
cannot be changed. i.e. this code cannot simply be copied and put under another distribution
licence [including the GNU Public Licence.]
52 Copyright (c) 1998-2001 Greg Roelofs. All rights reserved.
This software is provided "as is," without warranty of any kind, express or implied. In no event
shall the author or contributors be held liable for any damages arising in any way from the use of
this software.
Permission is granted to anyone to use this software for any purpose, including commercial
applications, and to alter it and redistribute it freely, subject to the following restrictions:
1. Redistributions of source code must retain the above copyright notice, disclaimer, and this list of
conditions.
2. Redistributions in binary form must reproduce the above copyright notice, disclaimer, and this
list of conditions in the documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software must display the following
acknowledgment:
This product includes software developed by Greg Roelofs and contributors for the book, "PNG:
The Definitive Guide," published by O'Reilly and Associates.
54 This software is based in part on the work of the Independent JPEG Group.
74 Copyright 1991 by the Massachusetts Institute of Technology
Permission to use, copy, modify, distribute, and sell this software and its documentation for any
purpose is hereby granted without fee, provided that the above copyright notice appear in all copies
and that both that copyright notice and this permission notice appear in supporting documentation,
and that the name of M.I.T. not be used in advertising or publicity pertaining to distribution of the
software without specific ,written prior permission. M.I.T. makes no representations about the
suitability of this software for any purpose. It is provided "as is" without express or implied
warranty.
82 Pool.c_Copyright 1987 - NeXT, Inc. and Graphics.c_Copyright 1988 NeXT, Inc. as an
unpublished work. All Rights Reserved.
83 The Apache Software License, Version 1.1
Copyright (c) 1998-2000 The Apache Software Foundation. All rights reserved.
Adobe Systems Incorporated 7 of 17
Page 8
November 26, 2007
Redistribution and use in source and binary forms, with or without modification, are permitted
provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and
the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
and the following disclaimer in the documentation and/or other materials provided with the
distribution.
3. The end-user documentation included with the redistribution, if any, must include the following
acknowledgment:
"This product includes software developed by the Apache Software Foundation
http://www.apache.org/)."
Alternately, this acknowledgment may appear in the software itself, if and wherever such third-
party acknowledgments normally appear.
4. The names "Xerces" and "Apache Software Foundation" must not be used to endorse or promote
products derived from this software without prior written permission. For written permission,
Permission to use, copy, modify, distribute and sell this software and its documentation for any
purpose is hereby granted without fee, provided that the above copyright notice appear in all copies
and that both that copyright notice and this permission notice appear in supporting documentation.
The authors make no representations about the suitability of this software for any purpose. It is
provided "as is" without express or implied warranty.
The authors gratefully acknowledge the support of GeNeSys mbH & Co. KG in producing this
work.
533 Permission to use, copy, modify, distribute, and sell this software and its documentation for any
purpose is hereby granted without fee, provided that the above copyright notice appear in all copies
and that both that copyright notice and this permission notice appear in supporting documentation,
and that the name of M.I.T. not be used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission. M.I.T. makes no representations about the
suitability of this software for any purpose. It is provided "as is" without express or implied
warranty. Calling this script install-sh is preferred over install.sh, to prevent`make' implicit rules
from creating a file called install from it when there is no Makefile.
This script is compatible with the BSD install script, but was written from scratch. It can only
install one file at a time, a restriction shared with many OS's install programs.
722 Source code version of the AAF technology is available under the terms of the AAF license.
742 Copyright 1990, 1998 The Open Group
Copyright (c) 2000 The XFree86 Project, Inc.
Permission to use, copy, modify, distribute, and sell this software and its documentation for any
purpose is hereby granted without fee, provided that the above copyright notice appear in all copies
and that both that copyright notice and this permission notice appear in supporting documentation.
The above copyright notice and this permission notice shall be included in all copies or substantial
portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be used in advertising or
otherwise to promote the sale, use or other dealings in this Software without prior written
rights reserved. (1996-2000)
788 This product includes software that is Copyright (c) 2005, Mitsubishi Electric Research Laboratory
Inc., All Rights Reserved.
791 AltiVec technology is used with the permission of Motorola, Inc.
Adobe Systems Incorporated 13 of 17
Page 14
November 26, 2007
798 Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
the following disclaimer in the documentation and/or other materials provided with the distribution.
801 Put following in Player third party page: Speech compression and decompression technology
licensed by Nellymoser, Inc. (http:www.nellymoser.com)
In File Format SDK documentation, indicate that Nellymoser can provide audio encoding
capabilities.
802 Sorenson Spark(tm) video compression and decompression technology licensed from Sorenson
Media, Inc.
805 credit FhG as licensor in associated documentation
"MPEG Layer-3 audio compression technology licensed by Fraunhofer IIS and THOMSON
multimedia.." also need to include URL (http://www.iis.fhg.de/amm/), and the attribution notice
listed above, in at least one about box. DO NOT HAVE TO DO THIS for Players, but need to put
in associated documentation.
811 To go in product literature: ADPCM speech compression algorithm is used with the permission of
Sun Microsystems, Inc.
820 This copyright notice may be placed with other copyright notices, including the Licensee's own
copyright notice, or in any reasonably visible location in the product's packaging, software or
Redistribution and use in source and binary forms, with or without modification, are permitted
provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and
the following disclaimer.
Adobe Systems Incorporated 14 of 17
Page 15
November 26, 2007
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
and the following disclaimer in the documentation and/or other materials provided with the
distribution.
3. Neither the names of Apple Computer, Inc. ("Apple") or The Mozilla Foundation ("Mozilla") nor
the names of their contributors may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY APPLE, MOZILLA AND THEIR CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE, MOZILLA OR
THEIR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
858 Copyright (c) 1999 University of California. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted
provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and
the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
and the following disclaimer in the documentation and/or other materials provided with the
distribution.
3. Neither the name of the author nor the names of any co-contributors may be used to endorse or
promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
867 If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that
You distribute must include a readable copy of the attribution notices contained within such
NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at
least one of the following places: within a NOTICE text file distribute as part of the Derivative
Works; within the Source form or documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and wherever such third-party notices
normally appear. The contents of the NOTICE file are for informational purposes only and do not
modify the License. You may add Your own attribution notices within Derivative Works that You
Adobe Systems Incorporated 15 of 17
Page 16
November 26, 2007
distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such
additional attribution notices cannot be construed as modifying the License.
Put following notice on the Third Party Notice Webpage: Apache Software Foundation
The Software contains Xerces C++ Parser (v.2.6.0) code that is copyright the Apache Software
Foundation, and the follow shall apply with respect to such code: Licensed under the Apache
License, Version 2.0 (the "License"); you may not use this file except in compliance with the
License.You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is
distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the specific language governing permissions