Adobe InDesign CS3 Products (version 5.0.4) Software Development Kit (Build 682, October 2008) ReadMe File ______________________________________________________________________ This SDK provides the information you need to develop software modules that plug into and extend the functionality of Adobe InDesign CS3 Prerelease Products. *********************************************************** 1. Legal *********************************************************** You may use this SDK only in a manner consistent with the included End User License Agreement: \legalnotices\EULAs.pdf Other notices, terms and conditions pertaining to third party software are located at http://www.adobe.com/go/thirdparty. *********************************************************** 2. Changes *********************************************************** Version 5.0.4 ============= The 5.0.4 version of the SDK contains the following changes. 1) The method GetDocCount on the IDocumentList returns an incorrect number of documents opened when the dealing with placed InDesign documents. The place documents are included in the count. A new interface IDocumentList2 (IID_IDOCUMENTLIST2) on the same boss now allows the caller to close placed INDD files before returning the count. 2) Sampleclient (the C++ Soap client program for InDesign Server) was not properly handling UTF-8 command line arguments. The SDK includes the updated source code for Sampleclient. Version 5.0.3 ============= The 5.0.3 version of the SDK contains the following changes. 1) IKit.h is now public. 2) The source for the CorbaSupport plug-in was changed to give a better error message when it cannot open the IOR file. 3) Changes to the public implementation of CGraphicPlaceBehavior. These fixes were part of the dot release build. Version 5.0.2 ============= The 5.0.2 version of the SDK provides access to InCopy's Galley Adornments mechanism. This mechanism provides an opportunity for plug-ins to implement custom adornments. These adornmetns can draw before or after InCopy's text run and galley adornments are drawn. Galley Adornments are implemented as service providers. To implement a Galley Adornment: 1) Create a boss that provides the kGalleyTextAdornmentBeforeService or kGalleyTextAdornmentAfterService, depending on when you want to draw. To do this, add one of the following interface/ implementation pairs: IID_IK2SERVICEPROVIDER, kGalleyTextAdornmentBeforeServiceImpl -- or -- IID_IK2SERVICEPROVIDER, kGalleyTextAdornmentAfterServiceImpl 2) Add your own implemenation of IGalleyTextAdornments to the boss. Note: Because this implementation will be called for all RunTypes (see LineDescription.h), you will likely decide to draw based on which RunType is being drawn. Version 5.0.1 ============= The 5.0.1 version of the SDK added the following changes: 1) Libraries for the 5.0.1 build 2) Several very minor API changes Additions: * IPrivateSpellingUtils.h * StoryListNodeID.h * IPersistUIDRefData.h (temporarily added back in because because it is still used in IXPAttributeUtils) Bug fix: * TOCEntryInfo.h (adds new capabilities to support a bug fix for page numbering) 3) Fixes for several sample scripts 4) Changes to sample code * We now use the new utilities in SnapshotUtilsEx.h instead of those in SnapshotUtils.h. This newer API will replace SnapshotUtils.h, but in CS3 it does not yet offer all the same capabilities; in particular, it does not provide a generic export type like the old SnapshotUtils. * Bug fixes for the Hyphenator sample's scripting support * Updates to the language-translation information in HypAdapter.cpp * Model/user-interface separation in the Candle Chart plug-in * Demonstrate filtering of dynamic menus 5) Minor fixes to "Adobe InDesign CS3 Products Programming Guide" *********************************************************** 3. Porting Recommendations *********************************************************** For the CS3 release, we upgraded to Microsoft Studio 2005 on Windows and Apple Xcode 2.4.1 on Mac OS. We also made significant changes to several APIs: 1) Commands and notification 2) Script providers 3) Palettes 4) Transform and geometry 5) Asset management Due to the complexity of the move to Xcode, we recommend you first port existing plug-ins on Windows. Transition instructions for both IDEs are in porting-guide.pdf. While porting, you may notice we reorganized some of the code in public. If your projects contain include paths for public/widgets or public/resourcedefs, you need to change these paths as follows: FROM TO ------------------- ---------------------------------------- public/widgets public/components/widgetbin public/resourcedefs public/components/publiclib/resourcedefs *********************************************************** 4. SDK Documentation Overview *********************************************************** PDF versions of our witten documentation are in the following directory: /docs/guides These same documents also are built into the API reference, which is provided in the following two files: \docs\references\index.chm \docs\references\sdkdocs.tar.gz Both contain reference documentation for all public APIs and SDK sample code, as well as an HTML version of the PDF documentation described above. The index.chm file is a compressed HTML file intended to be used on Windows. To view the contents, simply double-click the index.chm file icon on Windows. The sdkdocs.tar.gz archive is intended to be used on Mac OS. To expand this archive on Mac OS, simply double-click the file. It decompresses to a subfolder named sdkdocs. To view the reference, double-click on index.html. *********************************************************** 5. Development Environments *********************************************************** Mac OS: Mac OS 10.4 Xcode 2.4.1. Download it from : http://developer.apple.com/tools/download/ Windows: Microsoft Windows XP with service pack 2 Microsoft Visual Studio 2005. For CS3 development, Adobe decided not to upgrade to SP1 of Visual Studio 2005. Your use of SP1 may be compatible, but Adobe makes no such claims. Upgrade at your own risk. NOTE: If you want to run InDesign in the Japanese feature set, you need to have an operating system with Japanese language support. *********************************************************** 6. Late-Breaking Issues *********************************************************** Some late-breaking issues were identified as a result of internal and prerelease SDK testing: * In some cases, the Snippet Runner run button is not dynamically enabled when dealing with books. For example, if the button is disabled because your snippet requires a book, the button is not enabled when you open or create a book. To enable the button, select a different snippet, then change back to the one you were trying to run. * The following was missed in the porting guide: we now use IPersistUIData instead of IPersistUIDRefData. Some public C++ source code may still include IPersistUIDRefData, but it adds no values, as it is simply declared as an empty class. * GraphicStylePanelID.h is no longer used. It will be removed in a future release. If we uncover other issues when the SDK is deployed, we will report the higher priority issues here. *********************************************************** 7. AGL Headers and Libraries *********************************************************** AGL (Adobe Globalization Library) is based on ICU (International Components for Unicode), developed by IBM. InDesign CS3 exposes some public APIs that allow third-party developers to get the ICU locale for a language. The version InDesign CS3 used is based on ICU version 3.4 headers and Windows libraries in \external\icu for you to use. For more information on ICU open source, see: http://www-306.ibm.com/software/globalization/icu/index.jsp *********************************************************** 8. Developer Support and Adobe Partner Programs *********************************************************** If you require developer support for the Illustrator CS3 SDK, you may purchase single or multi-pack developer support cases. Information on purchasing developer support cases can be found at: http://partners.adobe.com/public/developer/support/index.html If you are a partner who extends, markets, or sells Adobe products or technology, you may want to consider membership in the Adobe Solution Partner Program. The program provides developer support, timely product information, as well as opportunities to participate in various marketing activities. To learn more about the program, point your browser to: http://go.adobe.com/kb/cs_cpsid_50036_en-us As always, any plug-ins you create with this SDK can be sold or distributed royalty free. _____________________________________________________________________________ Adobe and InDesign are either registered trademarks or trademarks of Adobe Systems, Inc. in the United States and/or other countries. Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corp. in the United States and/or other countries. Apple and Mac OS are trademarks of Apple Computer, Inc., registered in the United States and other countries. IBM is a trademark of International Business Machines Corp., registered in the United States and other countries. All other trademarks are the property of their respective owners. _____________________________________________________________________________ Copyright 1997 - 2008 Adobe Systems Incorporated. All rights reserved.