Download Print this page

Advertisement

Quick Links

Packaging Extensions with
ADOBE® EXTENSION MANAGER CS5

Advertisement

loading

Summary of Contents for Adobe 29180248

  • Page 1 Packaging Extensions with ADOBE® EXTENSION MANAGER CS5...
  • Page 2 Commercial 3.0 License. This License allows users to copy, distribute, and transmit the user guide for noncommercial purposes only so long as (1) proper attribution to Adobe is given as the owner of the user guide; and (2) any reuse or distribution of the user guide contains a notice that use of the user guide is governed by these terms.
  • Page 3 Unpublished-rights reserved under the copyright laws of the United States. Adobe agrees to comply with all applicable equal opportunity laws including, if appropriate, the provisions of Executive Order 11246, as...
  • Page 4 Packaging Extensions with Extension Manager CS5 This document describes how to package extensions with Extension Manager CS5. The development and creation of extensions is covered in other documents. To package extensions, you need to do the following: Choose the extension package format Create the extension installation file Create the extension package from the Extension Manager user interface or command line.
  • Page 5 • Ordinary extensions: Any Adobe product-specific extension or plug-in that extends the functionality of an Adobe application— such as a Dreamweaver extension or a Photoshop C++ plug-in. Ordinary extensions were previously packaged as MXP files with Extension Manager CS4 or before, and they require an extension installation (.mxi) file.
  • Page 6 • information about how users access the extension from an Adobe application, such as product- specific information about menu items or other user interface items to add •...
  • Page 7 About careful XML coding XML files have fairly strict syntax requirements. When you’re creating or editing an extension installation file, make sure that you use correct XML syntax: • Every attribute value must be enclosed in a single pair of double quotation marks. For example, version = 1.0.0 and version = ""1.0.0""...
  • Page 8 products license-agreement ui-access files configuration-changes documenttype-changes toolpanel-changes ftp-extension-map-changes insertbar-changes server-behavior-changes server-format-changes data-source-changes menu-remove menu-insert menubar menu Packaging Extensions with Extension Manager CS5 Description Container tag that contains tags specifying an extension’s compatibility. Allows a third-party developer to include a license agreement that is displayed at installation.
  • Page 9 menuitem format separator comment shortcut-remove shortcut-insert shortcut taglibrary-changes toolbar-changes extensions-changes Tags and their compatible products token MXI tag descriptions The tags used in the extension installation file are described below. Attribute names enclosed in curly braces ( ) are optional. The tags are listed according to their position with the MXI file hierarchy.
  • Page 10 “build” of the extension between releases; for example, after you submit version 4.1 of your extension to Adobe, it may be returned to you for minor corrections. You might label the fixed version 4.1.1; after a couple of rounds of corrections, the version number of the posted extension might be 4.1.3.
  • Page 11 For example, you can create a set of objects, a command, a palette, and behaviors to make a process such as layer alignment easier to complete. Specify a single name and version for the entire suite. Indicates whether the Adobe application must be restarted after the requires-restart extension is installed.
  • Page 12 Contents This tag must contain a If you’re changing the menus, this tag must also contain a installing files, this tag must also contain a Container None. Example <macromedia-extension name = "FrobSquigger Command" version = "1.0.0" type = "command" requires-restart = "false" > mxiversion = "5.0"...
  • Page 13 Language German Italian Norwegian Portugese Spanish Catalan Swedish Ukranian Chinese Taiwanese Japanese Korean Example <defaultLanguage>fr_FR</defaultLanguage> description Description Describes what the extension does or is used for. Attributes {href}, { , {source} resid} Attribute for version 5.0 that degrades gracefully. Indicates online URL that will be href displayed as the description of the extension.
  • Page 14 Container This tag must be contained in a Example <description><![CDATA[This command converts a frob into a squig.<br> Be sure not to use it on a grickle]]></description> update Description This tag allows third-party developers to include an update link with the extension. When Extension Manager starts, it checks for an extension update.
  • Page 15 This tag must be contained in the Example <license-agreement><![CDATA[You are about to install an Extension from the Adobe Exchange. The Adobe Exchange is an area of the adobe.com website that allows third parties to submit extensions for posting to adobe.com.]></ license agreement>...
  • Page 16 This tag must be contained in a Example <products> <!-- product tags go here --> </products> product Description Specifies which Adobe application or applications your extension is compatible with. List each application in a separate Attributes name {version} {primary} {bit} The name of an Adobe application.
  • Page 17 Manager CS5 supports CS5 products only. To install extension for CS4 products, Extension Manager CS4 is necessary. Indicates whether the specified Adobe product is the one the extension was primarily primary intended to be used with. For example, if the extension’s user interface appears in Dreamweaver but the extension also uses Fireworks, Dreamweaver is the primary product.
  • Page 18 Indicates whether the specified Adobe product is required for the extension to required function properly. If the extension will function without the indicated product, even if it won’t function as well without it, specify for any required = "true" assumed to be required.
  • Page 19 Note: Use tags to explicitly add your item to menus even if your extension is an object or a command; don’t rely on the Adobe application to automatically add objects and commands to its menus. See details. macromedia-extension tags.
  • Page 20 Filenames should be a total of 30 characters or less. Do not use the same filenames as Adobe extensions unless your extension is intended as a substitute for an Adobe extension.
  • Page 21 $scripts Specifies the Scripts folder $actions Specifies the Actions folder $brushes Specifies the Brushes folder $matlab Specifies the MATLAB folder Adobe Bridge Attribute Description $bridgeappfolder Specifies the Bridge installation folder $pluginsfolder Specifies the Bridge Plug-ins folder $presetsfolder Specifies the Bridge Presets folder...
  • Page 22 InCopy Attribute Description $incopy Specifies the installation folder $incopy_user Specifies the per-user folder under the user home folder Contribute Attribute Description $contribute Specifies the installation folder $contribute_user Specifies the per-user folder inside the user home directory The Extension Manager picks the appropriate system and font folder on the user’s disk, based on the user’s platform and operating system.
  • Page 23 Place resource files in a folder with the name [installer prefix].mxi_Resources. When the MXI file is loaded, Extension Manager copies this folder into following location, where it then looks for text strings: • Win XP: C:\Documents and Settings\All Users\Application Data\Adobe\Extension Manager • Vista/Win7: C:\ProgramData\Adobe\Extension Manager CS5 •...
  • Page 24 file-tokens Description Container tag that indicates any custom tokens. Attributes None. Contents One or more token tags for defining custom tokens. Container This tag must be contained in a Example <file-tokens> <!-- token tags go here --> </file-tokens> token Description Defines a custom token for an extension.
  • Page 25 Describes the kind of file to be installed in a folder. When you include this attribute, prompt the user is prompted to specify a destination, and the value you provide is added to the dialog box’s title. For example, if the attribute is “Select Folder for Sample Files”.
  • Page 26 Example <configuration-changes> <!-- ftp-extension-map-changes, menu-remove, menu-insert, shortcut-remove, shortcut-insert, server-behavior-changes, server-format-changes, server- format-definition-changes, and data-source-changes tags go here --> </configuration-changes> documenttype-changes Description Describes changes to be made to the MMDocumentTypes.xml file. Attributes None. Contents This tag contains the documenttype-insert Container This tag must be contained in a Example This example illustrates the syntax of the tags that can be contained by the documenttype-changes...
  • Page 27 Contents tag describes the document type to be inserted. The Extension Manager documenttype verifies only that the XML structure is valid. Container This tag must be contained in a Example <documenttype-insert> <documenttype> </documenttype> </documenttype-insert> documenttype-remove Description Removes the specified document type. Attributes id, {xml:lang} ID of the document type to remove.
  • Page 28 Container This tag must be contained in a Example <configuration-changes> <toolpanel-changes> </toolpanel-changes> </configuration-changes> toolpanel-item-insert Description Inserts the tool with the specified name into the Flash tool panel. Attributes name, position, depth, {xml:lang} The name of the tool to insert. This is a required attribute. name The 0-based position at which to insert the tool.
  • Page 29 Attributes None. Contents This tag may contain an Container This tag must be contained in a Example <ftp-extension-map-changes> <!-- ftp-extension-insert, ftp-extension-remove tags go here--> </ftp-extension-map-changes> ftp-extension-insert Description Specifies a change to the FTPExtensionMap.txt file. This defines whether the file is downloaded or uploaded as an ASCII or binary file from Dreamweaver to an FTP server.
  • Page 30 Contents None. Container This tag must be contained in an Example <ftp-extension-remove extension="JPG" /> insertbar-changes Description Marks the beginning of changes to Insertbar.xml. Note that InsertBar.xml is automatically updated when objects are installed into Dreamweaver MX. Modifying the file explicitly from the MXI file is not required.
  • Page 31 Specifies the language for the listed file. Extension Manager compares this language xml:lang with the user language, which is determined by the process outlined in on page 12. If the languages match, configuration changes are applied; if not, they are ignored. If Extension Manager can't determine the user language, it applies all configuration changes regardless of their specified language.
  • Page 32 insertbar-item-insert Description Inserts the specified item at the specified location. Attributes insertBefore | insertAfter insertBefore | insertAfter should be inserted. appendTo | prependTo prepended. ID of the category to append to if the category found. Specifies the language for the listed file. Extension Manager compares this language xml:lang with the user language, which is determined by the process outlined in on page...
  • Page 33 Specifies the language for the listed file. Extension Manager compares this language xml:lang with the user language, which is determined by the process outlined in on page 12. If the languages match, configuration changes are applied; if not, they are ignored. If Extension Manager can't determine the user language, it applies all configuration changes regardless of their specified language.
  • Page 34 Attributes servermodelfolder The name of the server model folder in which the changes are to be made. servermodelfolder The name of any installed server model (such as "ASP_Vbs" "ColdFusion" that the attribute value must precisely match the name of the corresponding server model folder.
  • Page 35 Adobe application to automatically add objects and commands to its menus. To ensure that your extension is not automatically added to the menus, <!-- MENU-LOCATION=NONE -->...
  • Page 36 Applies only if the skipSeparator new item should be inserted after the separator that immediately follows the item specified in . If there is no separator there, or if insertAfter ignored. Valid values are Specifies the language for the listed file. Extension Manager compares this language xml:lang with the user language, which is determined by the process outlined in on page...
  • Page 37 Example <menu-insert insertAfter = "DWMenu_Commands_SortTable" skipSeparator = "true"> <!-- menu, menuitem (or format), separator, and comment tags here --> </menu-insert> menu-remove Description Provides information about a menu bar, menu, menu item, or format to remove during installation of this extension. Note: If the user removes an installed extension, the menus, menu items, and formats that were removed when that extension was installed are not restored.
  • Page 38 ID for the new menu bar. Your menu IDs should start with a company name or some other namespace prefix to ensure uniqueness. In particular, don’t start your menu IDs with the prefix used by Dreamweaver menu IDs. Indicates that the menu bar should appear only on the given platform. Valid values platform "win"...
  • Page 39 menuitem Description Describes the menu item to be inserted into the application’s menu structure during installation of this extension. Attributes name {key} {platform} {arguments} resid:name} The menu item name that you want to appear in the menu. To set the menu item’s access name key on Windows, use an underscore (_) in front of the access letter.
  • Page 40 References string with value of resid:name Dreamweaver configuration file to display that string as a menu item. If Extension Manager can't find the string in the resource file, the value specified in the menu item. For more information, see on page later) Contents None.
  • Page 41 nLCID = 1033 id = "JMMenu_ServerFormatDef_ASP_2_DT18" /> separator Description Indicates that a separator should be inserted into a menu at the location specified by the containing menu-insert Attributes {platform} The ID for the separator; each separator ID must be unique. Your separator IDs should start with a company name or some other namespace prefix to ensure uniqueness.
  • Page 42 shortcut-insert Description Indicates that a keyboard shortcut or shortcut list should be added to the menus.xml file. Attributes list_Id, {xml:lang} The ID of the shortcut list into which the shortcut should be inserted. Use this list_Id attribute only when inserting a single shortcut into a list. Don’t use it when inserting an entire list.
  • Page 43 Container This tag must be contained in a Example <shortcut-remove id = "DWMainWindow" /> shortcutlist Description Specifies a shortcut list to be added to the menus.xml file. Attributes {platform} ID for the new shortcut list. It should be the same as the menu ID for the menu bar that represents a window in Dreamweaver with which the shortcuts are associated.
  • Page 44 Specifies that the shortcut works only on the indicated platform. Valid values are platform "win" "mac" Contents None. Container This tag must be contained in a Example <shortcut key = "Shift+F5" command = "dw.newDocument()" id = "ShortCutTest" platform = "win" /> taglibrary-changes Description: Describes changes to be made to the...
  • Page 45 taglibrary-remove Description Removes the specified tag library. Attributes id, {xml:lang} ID of the tag library to be removed. Specifies the language for the listed file. Extension Manager compares this language xml:lang with the user language, which is determined by the process outlined in on page 12.
  • Page 46 insertBefore|insertAfter|appendTo|prependTo="toolbar_or_item_id" toolbar="toolbar_id"> <itemtype.../> </toolbar-item-insert> <toolbar-item-remove id="toolbar_item_id" /> </toolbar-changes> toolbar-insert Description Inserts the specified toolbar at the end of file. Attributes {xml:lang} Specifies the language for the listed file. Extension Manager compares this language xml:lang with the user language, which is determined by the process outlined in on page 12.
  • Page 47 For more information, see on page later) Contents None. Container This tag must be contained in the Example <toolbar-remove id="toolbar_id" /> toolbar-item-insert Description Inserts the specified toolbar item at the specified location. Attributes insertBefore|insertAfter insertBefore|insertAfter specified item is inserted. appendTo|prependT prepended.
  • Page 48 toolbar-item-remove Description Removes the specified toolbar item. Attributes id, {xml:lang} ID of the toolbar item to remove. Specifies the language for the listed file. Extension Manager compares this language xml:lang with the user language, which is determined by the process outlined in on page 12.
  • Page 49 extension-insert Description Describes a new extension that Dreamweaver can open. Attributes extension description, {xml:lang} Specifies name of the extension, such as .gif or .htm. extension Describes what the extension is used for. description Specifies the language for the listed file. Extension Manager compares this language xml:lang with the user language, which is determined by the process outlined in on page...
  • Page 50 Contents None. Container This tag must be contained in an Example <extension-remove extension="PHP" description="PHP files"/> <extension-remove extension="PHP" /> Packaging Extensions with Extension Manager CS5 tag. extensions-changes...
  • Page 51 Tags and their compatible products The following table lists each tag and its compatible Adobe applications. An X in the application column indicates that the tag is compatible with that application. If there is no X in the column for that application, then the tag is not compatible with the application. If a tag is not supported...
  • Page 52 menu-insert menu-insert menu menu-insert format separator comment shortcut-remove shortcut-insert shortcutlist shortcut taglibrary-changes taglibrary-insert taglibrary-remove toolbar-changes toolbar-insert toolbar-remove toolbar-item-insert toolbar-item-remove extensions-changes extension-insert extension-insert Tags and their compatible products token Packaging Extensions with Extension Manager CS5 Dreamweaver CS5 Fireworks CS5 Flash CS5 Other CS5 applications...
  • Page 53 Example MXI file The following is an example of an MXI file that creates a Dreamweaver extension called Dog and Cat Extension Suite. This particular extension installs an object and a command, and modifies menu.xml insertbar.xml <macromedia-extension name="Dog and Cat Extension Suite" version="1.0.1"...
  • Page 54 </insertbar-changes> </configuration-changes> </macromedia-extension> You can get more examples here: http://help.adobe.com/en_US/extensionmanager/cs/using/sample.zip. The sample.zip file contains three examples, including MXI files and other necessary files. <sample.zip>/Samples/html illustrates how to use an HTML file for extension description. ■ <sample.zip>/Samples/multilingual combines multiple language versions of files in one ■...
  • Page 55 Formatting XML for language-specific strings The Extension Manager looks up localized strings from XML files that you provide for each language. Each XML file should use Adobe's zstring format. Below is an example of the French xml file. The locale (in this case,...
  • Page 56 ZXP extensions so that people installing them can verify that the extension has been published by you and that it has not been tampered with. For information on signing extensions, see http://www.adobe.com/devnet/creativesuite/sdk . Packaging Extensions with Extension Manager CS5...
  • Page 57 Validate ZXP format extension Upon installation of ZXP format extension, Extension Manager validates its digital signature. For some validation results, it prompts the user to decide whether to continue with the installation. Creating Hybrid Extension packages (version 5.0 only) Extension Manager CS5 supports hybrid extension , which let you package two types of files in one extension: CS extension package file with name ".zxp", and files can be contained in hybrid and ordinary extensions.
  • Page 58 <file source="foo2" destination="$dreamweaver/configuration" /> </files> Creating plug-in extension packages for InDesign CS5 and InCopy CS5 (version 5.0 only) Extension Manager CS5 supports plug-in extension package, which let you to include plug-ins for InDesign CS5 or InCopy CS5 in extensions. On Mac OS, one plug-in is one package. On Windows, one plug-in includes one binary file(usually have file extension “.pln”) and one resource directory.
  • Page 59 name="Enable_for_one_disable_for_one_sample" version="1.0.0" plugin-manager-type="current-user" > <files> <file source="sample.pln" destination="$indesign_user/Plug-Ins/sample/ sample.pln" platform="win" file-type="plugin" /> <file source="(sample Resources)" destination="$indesign_user/Plug-Ins/ sample" platform="win" /> <file source="sample.InDesignPlugin" destination="$indesign/Plug-Ins/ sample/sample.pln" platform="mac" file-type="plugin" /> </files> Creating updatable extension packages (version 5.0 only) Extension Manager CS5 supports updatable extension packages, which allows end user of extension to update extension once there is new version available.
  • Page 60 Checking update upon launch of Extension Manager If you specify the update information link in tag " link to retrieve the update information file when checking update upon the launch of Extension Manager. If version in the retrieved file doesn't match the version of installed extension, Extension Manager notifies end user there is an update available.
  • Page 61 UTF-16(Windows)/UTF-8(Mac OS) encoded error message is returned through std:error. To execute command in headless mode, Windows: "XManCommand.exe" -suppress ... ■ Mac OS: "/Applications/Adobe Extension Manager CS5/Adobe Extension Manager ■ CS5.app/Contents/MacOS/Adobe Extension Manager CS5" -suppress ... Following parameters/attributes allowed mxi="" [timeout=""], mxp="" [timeout=""], zxp="" [timeout=""] mxi=""...
  • Page 62 Examples: Install extension through CLI • Windows: "Adobe Extension Manager CS5.exe" -install mxp="d:\test.mxp" • Mac OS: "/Applications/Adobe Extension Manager CS5/Adobe Extension Manager CS5.app/ Contents/MacOS/Adobe Extension Manager CS5" -install zxp="/Volumns/x1/forcequit.zxp" timeout=30 "Package extension through CLI • Windows: "Adobe Extension Manager CS5.exe" -package mxi="d:\test.mxi" zxp="d:\test.zxp"...
  • Page 63 Windows: "Adobe Extension Manager CS5.exe" -remove product="Dreamweaver CS5" extension="Sample" "Adobe Extension Manager CS5.exe" -remove productfamily="Photoshop-12" extension="Sample" • Mac OS: "/Applications/Adobe Extension Manager CS5/Adobe Extension Manager CS5.app/ Contents/MacOS/Adobe Extension Manager CS5" -remove product="Dreamweaver CS5" extension="Sample" "Enable extension through CLI • Windows: "Adobe Extension Manager CS5.exe" -enable product="Dreamweaver CS5"...
  • Page 64 "Specify en_US as language at startup • Windows: "Adobe Extension Manager CS5.exe" -locale lang="en_US" -install zxp="d:\test.zxp" • Mac OS: "/Applications/Adobe Extension Manager CS5/Adobe Extension Manager CS5.app/ Contents/MacOS/Adobe Extension Manager CS5" -locale lang="en_US" -install mxp="/ Volumns/x1/test.mxp" Invalid parameters • Eight attributes (mxi, mxp, zxp, product, extension, lang, timeout, pcdentry) do not allow "-"...
  • Page 65 Use Extension Manager from the graphical user interface (GUI) To package an extension in Extension Manager, do the following: Start Adobe Extension Manager CS5. Choose File > Package MXP Extension or Package ZXP Extension. Browse to the extension’s installation file, select it, and click OK (Windows) or Open (Mac...
  • Page 66 Packaging Extensions with Extension Manager CS5...

This manual is also suitable for:

Extension manager cs5