Communication requirements

The Switch configurator needs a mechanism to communicate with the third-party application with the following basic requirements:


Error handling

The third-party application should clearly document how Switch can discriminate between:


Serialized communication

If required, Switch can serialize all communication with a third-party application, even if many instances of the same configurator are active simultaneously. See Execution modes for more information.

Switch can also automatically terminate a third-party application if an action does not complete within a certain amount of time (which is configurable as a user preference).

Platform considerations

If a third-party application is available on both Mac and Windows, it is acceptable (but not necessarily preferable) to use a different communication mechanism on each platform. For example, the Adobe Acrobat Distiller configurator uses COM on Windows and AppleScript on Mac. In other words, a Switch configurator can include platform-specific code, as long as the user's view of the configurator's properties and behavior is the same on both platforms.

Platform-specific behavior is achieved by including an implementation in two different scripting languages (see script package and selecting a scripting language) or through the Environment.isMac() and Environment.isWindows() functions.