Dreamweaver | Fireworks | Flash
Dreamweaver
This text describes coding guidelines for creating JavaScript extensions, and provides a recommended test plan to follow when testing your extensions.
- Extension file locations
- JavaScript coding guidelines
- Requirements for borrowing Adobe JavaScript Code
- Test plan
Extension file locations
Requirements
The Configuration folders must be kept as uncluttered as possible. Each
extension can have a maximum of three files in the standard extension
folders (such as Configuration/Commands and the Configuration/Objects
subfolders): a .html file, a .js file, and an optional GIF file if
the extension is an object. Place all other files in the Configuration/Shared/YourName/
Folder (see below).
If your extension is small and consists of only one file,
ExtensionName.html (which contains any necessary scripts in the <head> section), place the file in the appropriate standard extension folder (such
as Commands or Behaviors/Actions/).
Suggestions
These approaches are recommended but not required:
- Create a folder in the Configuration/Shared/ folder, and use it for all extensions you write and any extended libraries you need. Name it after yourself or your company.
- Separate your scripts from your HTML. Unless your extension is very small and simple, make sure your ExtensionName.html file includes only local variables, the HTML for the user interface (such as the form), and references to ExtensionName.js and any other files that must be referenced from your Shared folder. Separating scripts from HTML makes later localization much easier: with all the scripts in a separate .js file, only the HTML interface needs to be localized, while the code can remain unchanged.
- For an example, look at the Table object in Dreamweaver.
Configuration/Objects/Common/ contains two files for the Table object:
Table.htm and Table.js. (To see Table.js in Dreamweaver's file-selection
dialog box, you may have to choose Show All Files instead of Show All
Documents.) If you open the Table.htm file in Dreamweaver and examine
it in the HTML Source inspector, all you'll see is the HTML that makes
up the user interface, plus scripts in the
<head>section that reference Table.js and ../Shared/MM/Scripts/CMN/displayHelp.js. If you open Table.js and examine it using the HTML Source inspector, you'll see all the code for the table object (except what's in displayHelp.js).
JavaScript coding guidelines
This section contains guidelines for writing professional and readable code.
Comment your code. Explain
in as many lines as are necessary the purpose of each function, for loop, condition check, and so on.
Declare your variables. In
most cases, your JavaScript will work even when you don't declare your
variables; although such code is more difficult to read, it generally
works. When you use recursion, however, undeclared variables can cause
errors of scope. Do everyone a favor and declare every variable with
a var statement, preferably at the top of each function.
Give your variables informative names. If
you're dealing with only one DOM in an extension, a variable called theDOM is fine. If you're dealing with multiple DOMs, though, it's useful to differentiate
them with more distinctive names.
Don't give your variables similar names. For
example, if you already have a variable called startTag, don't name another variable of the same scope theStart. You (and Adobe) won't be able to keep them straight.
Use semicolons at the ends of statements. It's true that a semicolon is not syntactically necessary at the end of the only statement in a block, but use one there anyway. When you're looking for missing semicolons, you won't be distracted by these lines.
Use curly braces ({}). It's syntactically correct to write the following:
if (foo) document.write('me') else document.write('you')
However, it's much easier to follow the logic of the code
(and find errors in that logic) if you can easily see which else goes with which if. Put the braces at the end of the line or on a separate linewhichever you preferbut please do use them. The above line would be better rewritten as follows:
if (foo)
{
document.write('me');
}
else
{
document.write('you');
}
Use consistent indentation. Indent all the lines in a given block of code to the same level. It makes the code easier to read and the logic easier to follow. For example:
if (foo)
{
document.write('me');
if (bar)
{
document.write('and you');
}
}
else
{
document.write('nobody');
}
Indent using two, three, or four spaceswhatever you preferbut do indent. Two spaces per indentation level is Adobe's default.
Spin off small tasks. Instead of writing one giant function that does everything, move code that performs a specific task to a separate function and call it from the main function.
Requirements for borrowing Adobe JavaScript Code
If you reuse code from Adobe's Dreamweaver extensions, follow these rules:
- Remove any unused variables, comments that are no longer relevant, and debugging routines. (Don't just comment out the debugging routinesremove them.)
- Rename variables to fit the context you're using them
in. For example,
titleObjmight be a good variable name in a Title inspector, but in a form inspector,formObjwould be more appropriate. - Rename Adobe functions if you modify them. In particular, don't retain the MM_ prefix for the name of a modified Adobe function from a behavior.
Test plan
The following testing guidelines will help you debug your extensions. Although you may not have access to both a Macintosh and a Windows system, may not have different versions of Netscape, and so on, please follow as much of the test plan as you can. Always perform the installation and compatibility tests, no matter what kind of extension you're testing.
Be sure to test your extension in a variety of scenarios. It may work in exactly the case it was designed for, but fail miserably in any other case. Due to the scope and variety of possible extensions, this test plan does not thoroughly cover every way in which an extension can be tested, nor does it necessarily reflect the testing process that's performed at Adobe. Treat this plan as a starting point, a minimum standard that your extension should be able to pass, and perform further tests as appropriate.
After you submit your extension to Adobe for certification, it will be further tested by Adobe Quality Assurance. QA will send you a list of any problems encountered; you can then fix the problems and resubmit the extension. However, you're expected to do thorough testing before submitting the extension; don't rely on Adobe to do all your testing.
After you perform the steps listed in Preparing to test and Testing installation, follow the appropriate test plan for your extension's type:
Testing objects
Testing Property inspectors
Testing commands
Testing behaviors
Testing floating palettes
Testing translators
In addition, if your extension can operate on an entire site, follow the test plan for Testing site-wide extensions.
Preparing to test
After completing an extension or fixing a bug, follow these steps to prepare to test your extension:
- Back up your Configuration folder.
- Install the extension in either of the following ways:
- Use the Extension Manager.
- Place the files in the appropriate subfolder in the Configuration folder.
- Quit and relaunch Dreamweaver if you installed without the Extension Manager, or if prompted to do so by the Extension Manager.
Testing installation
To make sure that you can install your extension on all platforms, perform these tests for all extensions:
- Install on both Macintosh and Windows.
- Verify that the installation worked correctly:
- Make sure all files, including Help files (if any), are installed in proper folders in Dreamweaver/Configuration. (See Extension file locations for details.)
- Check the Dreamweaver user interface for anything that might be affected by installation, including Property inspectors, the Object palette, and relevant menus.
- Run virus-checking software to verify lack of infection before and after using the extension.
Testing objects
Perform these tests if your extension is an object.
Test the object's user interface:
- Launch Dreamweaver and open the Object palette.
- Make sure the object has an icon in the Object palette. (Every object in Dreamweaver should have a unique 16 x 16 pixel GIF icon.)
- Make sure the name of the object in the Insert menu is correct and makes sense.
- Move the pointer over the object icon in the Object palette and make sure the tooltip indicates what the object does.
Insert the object:
- Insert the object using the Insert menu. If a parameter-entry
dialog box appears, verify the following:
Default values for all fields make sense.
The insertion point is in the first text field by default (and the default value, if any, is selected).
Layout is readable and makes sense visually/logically (follow the "UI Guidelines for Extension Developers").
Pressing Tab moves through the fields in a reasonable order.
- If there is a Help button in the parameter-entry dialog box, click it and verify that it does the right thing (opens an appropriate page in a browser, for example).
- Back in the parameter-entry dialog box, click OK to insert the object with default values.
- Verify that no error occurs when the default-valued object is inserted.
- Insert the object again, and enter nondefault values in the dialog box. Click OK to insert the object. Verify that these values are reflected in the HTML code and in the Property inspector (if there is an inspector for the object).
- Insert the object again and enter invalid data in each field. Try leaving the field blank, using large or negative numbers, using invalid characters (such as /, ?, :, *, and so on), and using letters in numeric fields. Generally, you should allow the user to enter an invalid value or blank field that doesn't cause a display problem and doesn't crash Dreamweaver. For more information, see "UI Guidelines for Extension Developers."
- Using the HTML Source inspector, verify that the correct HTML was inserted.
- Click the object's icon in the Object palette and verify that the correct HTML was inserted.
- Drag and drop the object out of the Object palette and verify that the correct HTML was inserted.
-
Preview in the following browsers, on both Windows and Macintosh (or as many of these browsers and platforms as you have access to). All objects should work properly in any 4.0 or later browser, and should either work properly or fail gracefully on any 3.0 browser.
- Internet Explorer 4.0
- Internet Explorer 5.0
- Netscape Navigator 3.0
- Netscape Navigator 4.04/4.06
- Netscape Navigator 4.7
Spend 10-15 minutes using the object. Make sure your testing includes these tasks:
- Run the Property inspector tests on any object that has a Property inspector.
- Use the object with other Dreamweaver objects (insert it in a layer, a table, and so on).
Verify that the object's user interface is relatively intuitive and that the object works when previewed in a browser.
Testing Property inspectors
Perform these tests if your extension is a Property inspector.
- Verify that the Property inspector appears when the correct kind of item is selected in either the Document window or the HTML Source inspector (and that the Property inspector doesn't appear when other items are selected).
- Make sure the Property inspector is visually acceptable
(follow the "UI Guidelines for Extension Developers"):
- The ordering and layout of items makes visual and logical sense.
- The text is readable and large enough.
- The text fields are long enough to accommodate the information they'll hold (for example, you should be able to see all seven characters in a text field for a color value).
- Make sure all important attributes of a given tag are included in the Property inspector.
- Click each of the Property inspector's buttons and verify
the following:
- Color picker icons work.
- File browse icons work.
- The Help button (if there is one) works.
- Edit values in the Property inspector and verify that the changes are reflected in both the Document window and the HTML Source inspector.
- Edit values in the HTML Source inspector and verify that the changes are reflected in both the Document window and the Property inspector.
- Verify that other custom Property inspectors (such as
those for
<head>area items like Title) still work. If any inspector fails to appear when it should, check yourcanInspectSelection()functionit's probably not specific enough.
Testing commands
Perform these tests if your extension is a command.
For commands that are specific to an object or tag (such as Format Table):
- Select an appropriate object and make sure the command is enabled in the Commands menu.
- Select an object that the command doesn't apply to and make sure the command is disabled in the Commands menu.
- Verify that the command is enabled when the insertion point is inside the object (for objects like layers and tables), even
For commands that use dialog boxes:
- Select an appropriate object and choose the command from the Commands menu.
- Verify the following:
- Default values for all fields make sense.
- The insertion point appears in the first text field (and the default value, if any, is selected) by default.
- Layout is readable and makes sense visually/logically (follow the "UI Guidelines for Extension Developers").
- Pressing Tab moves through the fields in a reasonable order.
- Back in the dialog box, click OK to use the command with default values.
- Verify that no error occurs when the default-valued object is inserted.
- Choose the command again, and enter nondefault values in the dialog box. Click OK to run the command. Verify that the values you entered are reflected in the HTML code and in the Property inspector (if there is an inspector for the object), as appropriate.
- Choose the command again, and enter invalid data in each field of the dialog box. Try leaving the field blank, using large or negative numbers, using invalid characters (such as /, ?, :, *, and so on), and using letters in numeric fields. Generally, you should allow the user to enter an invalid value or blank field that doesn't cause a display problem and doesn't crash Dreamweaver. See the user interface guidelines document for more information.
- Run the command and verify that the command does what you expect it to.
- Preview in the following browsers, on both Windows and
Macintosh (or as many of these browsers and platforms as you have access
to). Any changes made by a command should appear properly in any 4.0
or later browser, and should either appear properly or fail gracefully
in any 3.0 browser.
- Internet Explorer 4.0
- Internet Explorer 5.0
- Netscape Navigator 3.0
- Netscape Navigator 4.04/4.06
- Netscape Navigator 4.7
Testing behaviors
Perform these tests if your extension is a behavior.
-
Make sure the behavior is available in the Behavior inspector and has the correct name.
Make sure the behavior is enabled only for the appropriate browser versions in the Behavior inspector's Events For pop-up menu. (For example, a layer behavior should be dimmed when Events For Netscape 3.0 is selected.)
If the behavior is tag-specific, make sure that the behavior is enabled in the Behavior inspector whenever the tag/object is selected, and that the behavior is dimmed otherwise. For example, the Go To URL behavior is enabled only if an image or layer is selected.
If the behavior isn't tag-specific, make sure the behavior is enabled and dimmed at the appropriate times. For example, the timeline behaviors are enabled only when there's a timeline on the page.
- Choose the behavior from the Behavior inspector (with
the proper object selected). If there's a dialog box, do the following:
- Verify that default values for all fields make sense.
- Verify that insertion point appears in the first text field (and the default value, if any, is selected) by default.
- Verify that the layout is readable and makes sense visually/logically (follow the "UI Guidelines for Extension Developers").
- Verify that pressing Tab moves through the fields in a reasonable order.
- If there is a Help button, click it and verify that it does the right thing (opens an appropriate page in a browser, for example).
- Back in the dialog box, click OK to use the behavior with default values:
- Verify that no error occurs when the default-valued behavior is applied.
- Verify that the default event for the behavior
(such as
onClickoronMouseOver) makes sense. - Verify that the behavior appears in the HTML Source inspector.
- If the behavior is added to the
<head>section of the document, verify that it includes the Dreamweaver version number that the behavior was created for. - Choose the behavior again, and enter invalid data in each field of the dialog box. Try leaving the field blank, using large or negative numbers, using invalid characters (such as /, ?, :, *, and so on), and using letters in numeric fields. Generally, you should allow the user to enter an invalid value or blank field that doesn't cause a display problem and doesn't crash Dreamweaver. For more information, see "UI Guidelines for Extension Developers."
- Select the object you attached the behavior to and verify in the Behavior inspector that the Events and Actions columns are correctly populated.
- Preview in the following browsers, on both Windows and
Macintosh (or as many of these browsers and platforms as you have access
to). Any behavior should behave properly in any 4.0 or later browser,
and should either behave properly or fail gracefully in any 3.0 browser.
- Internet Explorer 4.0
- Internet Explorer 5.0
- Netscape Navigator 3.0
- Netscape Navigator 4.04/4.06
- Netscape Navigator 4.7
- Remove the behavior from the Behavior inspector and verify that the behavior is removed from the list.
Testing floating palettes
Perform these tests if your extension is a floating palette.
Note: Floating palettes can have a wide range of purposes; the main idea of these tests is to make sure the floating palette works as it was designed.
- Launch Dreamweaver and open your floating palette.
- If the floating palette is supposed to be tabbed with another floating palette upon the initial launch only, verify that it is. (This doesn't happen automatically; you must code it that way yourself.)
- Verify the floating palette's layout:
- The floating palette's title makes sense on the floating palette's tab and title bar, and in the Windows menu.
- The floating palette's layout makes sense visually and logically and conforms to the "UI Guidelines for Extension Developers."
- Any appropriate controls resize when you resize the floating palette.
- The context-menu arrow (top right corner) is disabled (you can't have a context menu in a custom floating palette).
- The floating palette's name is checked or unchecked in the Window menu depending on whether the floating palette is visible or not. (This doesn't happen automatically; you must code it that way yourself.)
- Floating palettes can respond to either selection changes or document edits, so make sure the floating palette responds to the appropriate action depending on its purpose. For example:
- Both the HTML Source inspector and the Frame inspector change with both selection changes and document edits.
- The Behavior inspector changes only when you make document edits.
- Make changes in the floating palette (for example, if you were testing the Layer palette you could change a layer's visibility) and verify that the changes are reflected in the Document window.
- If there are any buttons on the floating palette, verify
that they work. If a button on the floating palette opens a dialog
box:
- Verify that default values for all fields make sense.
- Verify that the insertion point is in the first text field (and the default value, if any, is selected) by default.
- Verify that the layout is readable and makes sense visually/logically (follow the "UI Guidelines for Extension Developers").
- Verify that pressing Tab moves through the fields in a reasonable order.
- If there is a Help button, click it and verify that it does the right thing (opens an appropriate page in a browser, for example).
- Back in the dialog box, click OK to use the floating palette with default values.
- Verify that no error occurs when the default-valued dialog is accepted.
- Verify that an appropriate action occurs.
- Click the button to display the dialog box again, and enter invalid data in each field of the dialog box. Try leaving the field blank, using large or negative numbers, using invalid characters (such as /, ?, :, *, and so on), and using letters in numeric fields. Generally, you should allow the user to enter an invalid value or blank field that doesn't cause a display problem, doesn't cause a JavaScript error, and doesn't crash Dreamweaver. For more information, see the "UI Guidelines for Extension Developers."
- Open a large document and verify that the floating palette doesn't slow down performance. (If it does reduce performance, one possible reason could be that the script's running time is proportional to the size of the documentfor example, it might count the number of characters in the document each time you edit the document.)
Testing translators
Perform these tests if your extension is a translator:
- Open the Translation panel of the Preferences dialog box by choosing Edit > Preferences > Translation.
- Under Automatically Translate, select In All Files and click OK.
- Open a file containing translatable material, and verify that the material translates when you open the file.
- Set the Automatically Translate preference to In No Files.
- Open a file containing translatable material, and verify that no translation occurs.
- Choose Modify > Translate > Your Translator and verify that translation occurs.
Testing site-wide extensions
Perform these tests if your extension features site-wide functionality:
- Follow the normal testing procedures for extensions of that type (commands, objects, behaviors, and so on), as detailed above.
- If the extension can operate on different categories of filessuch as Current Document, All Open Documents, and Entire Siteverify that the extension works with each category.
- Verify that the extension provides a log showing which files have been operated on and which haven't.
- Verify that the extension shows a wait cursor while running.
- Verify that the extension warns the author that any action run on unopened files cannot be undone.
- Verify that the extension handles locked files appropriately.
- Verify that the extension handles checked-out files appropriately.
Fireworks
This document contains the minimum set of functionality guidelines used by the Fireworks team when testing a Fireworks extension for Adobe approval. To obtain Adobe approval an extension must adhere to this set of standards in addition to the basic requirements and style guidelines.
Test Plan
The following testing guidelines help you debug your extensions. Although you may not have access to both a Macintosh and a Windows system, please follow as much of the test plan as you can. Always perform the installation and compatibility tests, no matter what kind of extension you're testing.
Be sure to test your extension in a variety of scenarios. It may work in exactly the case it was designed for but fail miserably in another case. Due to the scope and variety of possible extensions, this test plan does not thoroughly cover every way in which an extension can be tested, nor does it necessarily reflect the testing process that is performed at Adobe. Treat this plan as a starting point, a minimum standard that your extension should be able to pass, and perform further tests as appropriate.
After you submit your extension to Adobe for certification, it will be further tested by the Fireworks Quality Assurance (QA) team.
QA will send you a list of any problems encountered; you can then fix the problems and resubmit the extension. However, you're expected to do thorough testing before submitting the extension; don't rely on Adobe to do all your testing.
After you perform the steps listed in Preparing to test and Testing installation, follow the appropriate test plan for your extension's type:
Testing
asset extensions
Testing
commands
In addition to the test plans for asset extensions and commands, if your extension has a SWF movie user interface, you must perform one of the test plans listed below. Follow the appropriate test plan for your extension type.
Testing
SWF Movie dialog extensions
Testing SWFMovie floating panel extensions
Preparing to test
After completing an extension or fixing a bug, follow these steps to prepare to test your extension:
- Install the extension in either of the following ways:
- Use the Extension Manager.
- Place the files in the appropriate subfolder in the Adobe Fireworks MX folder.
Testing installation
To make sure that you can install your extension on all platforms, perform these tests for all extensions:
- Install on both Macintosh and Windows.
- Verify that the installation works correctly when installing while Fireworks is running:
- If the extension is an asset extension or a SWF movie floating panel extension, the Extension Manager should prompt the user to restart Fireworks before the functionality becomes available.
- If the extension is a JSF command or a simple SWF command or SWF movie dialog, the Extension Manager should not prompt the user to restart Fireworks.
- Run virus-checking software to verify lack of infection before and after using the extension.
Verify that the installation worked correctly:
Make sure all files, including Help files (if any), are installed in proper folders, and that they show up in the Fireworks user interface, if applicable.
Testing Asset Extensions
Perform these tests if your extension is an asset extension such as a Style, Texture, Pattern, Library, or Dictionary.
- Launch Fireworks and go to the location where the extension is accessed in the Fireworks user interface ( i.e. if it is a style go to the Styles panel, if it is a dictionary, go to the Spelling settings dialog, etc.).
- Make sure the asset has been added to the user interface and has not disturbed the original Fireworks user interface.
- Use the asset within Fireworks and make sure that it behaves as expected (e.g., if it is a texture, apply it to the fill of an object, if it is a button library, use the button in a document).
- Now uninstall the extension from Fireworks.
- Make sure that when the extension is uninstalled from the application, the asset is removed from the Fireworks user interface and that the Fireworks user interface returns to its original state.
- Make sure all files that were installed with the extension have been removed from the application folder.
Testing Commands
Perform these tests if your extension is a JSF command or a SWF movie command:
- Launch Fireworks. Do not create or open a document.
- Try to run the command with no document open.
- Make sure that no javascript errors are generated when the command is run without a document open.
- Make sure that appropriate error dialogs appear informing the user that a document must be open to run the command.
- Now create a new document or open an existing document. Try to run the command with no selection made.
- If the command requires a selection, make sure that no javascript errors are generated when the command is run without a selection made.
- If the command requires a selection, make sure that the appropriate error dialogs appear informing the user that a selection must be made.
- If the command does not require a selection, make sure that the command behaves as expected.
- If the command requires a selection, apply the command to the different types of selections (e.g., vector paths, groups, hotspots, slices, bitmap selections, masks). Make sure that the command behaves as expected with each type of selection.
- Now uninstall the extension from Fireworks.
- Make sure that when the extension is uninstalled from the application, the command is removed from the Fireworks Commands menu.
- Make sure all files that were installed with the extension have been removed from the application folder.
Testing SWF Movie Dialog Extensions
Perform these tests if your extension is a command that has a SWF movie dialog user interface:
- Make sure that the SWF window opens to the correct size to display the movie.
- Verify that the command name appears in the title bar.
- Make sure that the SWF movie window cannot be resized.
- Right mouse click on the SWF movie window. Verify that the standard SWF context-sensitive menu is disabled.
- Verify that you can run the command from the Run Script menu item found in the Commands menu.
- Verify that you can add and use shortcuts to the commands through the keyboard shortcuts dialog.
- Verify all spelling and grammar for the text that is visible to the user.
- Verify that all controls in the dialog work as expected.
- Verify that you can copy from and paste to all value fields in the dialog.
- Verify that the value fields accept only valid entries that are relative to their functionality (e.g., numbers, letters, numbers & letters, all text characters).
- Make sure that if a user does enter invalid characters into a value field, the error handling is understandable to the user (i.e., the invalid characters should not be accepted, the invalid characters should be changed to valid characters, or appropriate error dialogs should tell the user of the invalid character entry).
- Make sure that clicking the Apply or OK button applies the command as expected.
- Make sure that clicking on the Cancel button closes the dialog without applying the command.
- On Windows make sure that the close box in the SWF title bar closes the movie without applying the command.
Testing SWF Movie Panel Extensions
Perform these tests if your extension is a command that is a SWF movie floating panel:
- Verify that the command panel can be launched from the Windows menu.
- Make sure that the SWF panel opens to the correct size to display the movie.
- Verify that the command name appears in the title bar of the panel.
- Make sure that the SWF movie window cannot be resized.
- Right mouse click on the SWF movie window. Verify that the standard SWF context-sensitive menu is disabled.
- Verify that you can add and use shortcuts to the commands through the keyboard shortcuts dialog.
- Verify the spelling and grammar for the text that is visible to the user.
- Verify that all controls in the panel work as expected, whether the panel is docked or undocked.
- Verify that you can copy from and paste to all value fields in the dialog.
- Verify that the value fields accept only valid entries that are relative to its functionality (e.g., numbers, letters, numbers & letters, all text characters).
- Make sure that if a user does enter invalid characters into a value field, the error handling is understandable to the user (i.e., the invalid characters should not be accepted, the invalid characters should be changed to valid characters, or appropriate error dialogs should tell the user of the invalid character entry).
- On Windows make sure that the close box in the SWF title bar closes the movie without applying the command.
Adobe Flash
This text provides a recommended test plan to follow when testing your extensions.
Test Plan
The following testing guidelines will help you debug your extensions. Although you may not have access to both a Macintosh and a Windows system, please follow as much of the test plan as you can. Always perform the installation and compatibility tests, no matter what kind of extension you're testing.
Be sure to test your extension in a variety of scenarios. It may work in exactly the case it was designed for, but fail miserably in any other case. Due to the scope and variety of possible extensions, this test plan does not thoroughly cover every way in which an extension can be tested, nor does it necessarily reflect the testing process that is performed at Adobe. Treat this plan as a starting point, a minimum standard that your extension should be able to pass, and perform further tests as appropriate.
After you submit your extension to Adobe for certification, it will be further tested by Adobe Quality Assurance.
QA will send you a list of any problems encountered; you can then fix the problems and resubmit the extension. However, you're expected to do thorough testing before submitting the extension; don't rely on Adobe to do all your testing.
After you perform the steps listed in Preparing to test and Testing installation, follow the appropriate test plan for your extension's type:
Testing Libraries
Testing Smart Clips
Testing ActionScripts
Testing Samples
Testing HTML Publish templates
Testing Generator objects
Testing Keyboard shortcuts
After completing an extension or fixing a bug, follow these steps to prepare to test your extension:
- Install the extension in either of the following ways:
- Use the Extension Manager.
- Place the files in the appropriate subfolder in the Adobe Flash MX folder.
- Quit and relaunch Flash if you installed without the Extension Manager, or if prompted to do so by the Extension Manager.
To make sure that you can install your extension on all platforms, perform these tests for all extensions:
- Install on both Macintosh and Windows.
-
Verify that the installation worked correctly:
Make sure all files, including Help files (if any), are installed in proper folders, and that they showup in the Flash user interface, if applicable.
- Run virus-checking software to verify lack of infection before and after using the extension.
Perform these tests if your extension is a Library extension.
- Launch Flash and choose Window>Common Libraries>Your_Library to open the Library.
- Make sure the Library has the correct name in the Common Libraries pop-up menu.
- Make sure that your extension and any nested symbols are in the Library.
- Drag each symbol in the Library to the Stage.
-
Test the movie to make sure the symbol behaves as expected in the following environments:
Edit Movie mode with Enable Simple Buttons and Enable Simple Frame Actions selected if appropriate.
Test Movie mode.
Internet Explorer on Windows and Macintosh with the appropriate version of the Flash Player.
Netscape on Windows and Macintosh with the appropriate version of the Flash Player.
Perform these tests if your extension is a Smart Clip:
- Launch Flash and choose Window>Library to open the Library.
- Make sure the Smart Clip has Smart Clip icon in the Library window.
- In the Define Clip Parameters dialog, check the following:
The Parameters have the correct name,value and type.
If there is a path in the Link to custom UI box, the path is correct.
The Description is detailed and accurate.
The Lock box is checked. - If the Smart Clip has a custom UI, the custom UI must be in the same folder as the Smart Clip and the path in the Link to custom UI box must be relative.
- Drag the Smart Clip to the Stage.
- Choose Window > Panels > Clip Parameters.
- In the Clip Parameters dialog, check the following.
The Parameters have the correct name,value and type.
The Description is detailed and accurate.
If there is a custom UI, it appears and plays correctly.
If your custom UI has multiple stages, or configurable elements, those elements must be auto-updating and must "roundtrip". Once a smart Clip has been configured with the SWF UI, click off of the current instance of the Smart Clip on the stage, and then click back. The UI should update itself with the last parameters set, as with any normal Flash panel. - Enter values for parameters.
- Test the movie to make sure the Smart Clip behaves as
expected in the following environments:
Test Movie mode.
Flash stand-alone Player.
Internet Explorer on Windows and Macintosh with the appropriate version of Flash Player.
Netscape on Windows and Macintosh with the appropriate version of the Player.
Perform these tests if your extension is an ActionScript(.as)
file:
- Open a new Flash file.
- With a frame, button or movie clip selected, choose Window>Actions.
- In the Actions panel, choose the include action from the Toolbox list.
- Enter the path to ActionScript(.as) file.
- Choose the Check Syntax from the actions panel pop-up
menu. Errors will be reported to the Output window.
Edit Movie mode with Enable Simple Buttons and Enable Simple Frame Actions selected if appropriate
Test Movie mode
Internet Explorer on the Windows and Macintosh with the appropriate version of the Flash Player.
Netscape on the Windows and Macintosh with the appropriate version of the Flash Player.
Perform these tests if your extension is a sample:
- Open Flash.
- Choose Help>Samples.
- Make sure that the sample appears in the list.
- Select the sample and choose OK.
- Work with the movie inside the Flash authoring tool for 10-20 minutes.
- Make sure the symbols are inside Library and properly named and organized.
- Test the movie to make sure it behaves as expected
in the following environments:
Edit Movie with Enable Simple Buttons and Enable Simple Frame Actions selected if appropriate
Test Movie mode
Flash stand-alone Player
Internet Explorer on the Windows and Macintosh with the appropriate version of the Flash Player
Netscape on the Windows and Macintosh with the appropriate version of the Flash Player
Testing HTML Publish templates
Perform these tests if your extension is an HTML Publish template.
- Choose File>Publish Settings.
- Choose the HTML tab.
- Make sure your template appears in the Template pop-up menu with correct title.
- Publish a Flash movie with your template.
- Test the movie to make sure it behaves as expected
in the following environments:
Any targeted versions of Internet Explorer on the Windows and Macintosh with the appropriate version of the Flash Player.
Any targeted versions of Netscape on the Windows and Macintosh with the appropriate version of the Flash Player.
Perform these tests if your extension is a Generator object:
- Choose Window>Generator Objects.
- Select your object in the Generator Objects panel and drag it to the stage.
- Select your object on the stage and open the Generator panel by choosing Window>Panels>Generator.
- Using this panel, configure properties for the Generator Object.
- Test the movie to make sure it behaves as expected in the following environments:
-
Any targeted versions of Internet Explorer on the Windows and Macintosh with the appropriate version of the Flash Player.
Any targeted versions of Netscape on the Windows and Macintosh with the appropriate version of the Flash Player.
On staging server make sure the object performs as expected in the production environment.
Perform these tests if your extension is a Keyboard shortcut:
- Launch Flash and choose Edit>Keyboard Shortcuts, and make sure the shortcut appears in the "Current Set" dropdownlist.
- Test on both Macintosh and Windows, with the appropriate file for each platform.