
When I was asked to suggest ways to improve the web graphics production for a department in my company, I suggested ordering 10 copies of Macromedia Fireworks 8 from Adobe. This helped us cut our production time significantly thanks to the product's great web workflow features, as well as by creating custom JavaScript extensions that run within the program. The current excitement, however, comes from sharing these extensions and other Fireworks functionality through a web interface for people who do not use Fireworks—such as other departments and clients.
While you may not have known that this kind of remote communication with Fireworks was possible, this feature is up and running the moment you start the program. It's called the Fireworks RPC (remote procedure calls) server. The RPC server is a sentinel that runs behind the scenes, continually listening for activity to respond to. You can send the RPC Server instructions for almost any command you want to run in Fireworks, and you can communicate with the RPC server through Flash, .NET, PHP, or any language that can send XML over a socket connection.
This article gives you some background about how the RPC server works and some code examples to try. Part 1 explains the basic client/server relationship and XML tag structure needed to communicate with the RPC server. It also leads you through a simple example using Flash ActionScript 2.0.
Part 2 introduces debugging techniques for the RPC server XML tags using a new Fireworks panel. A Visual Basic .NET application provides sample code to let clients upload an image, choose a watermark, and (using the RPC server) add the watermark to the image.
To complete all the sample projects, the following software and files are needed or highly recommended:
Besides general Fireworks familiarity, it is helpful to have basic knowledge of JavaScript for writing Fireworks commands, XML, and beginner-level knowledge of Flash ActionScript 2.0.
Bevin Dunn taught Adobe, Microsoft, and other computer programs for two years and is currently a multimedia developer focusing on graphics support through Fireworks extensions and .NET applications. She is also a graphics/web designer and serves on the board of directors and as the technology coordinator for the Kondwa Children's Foundation, a nonprofit group that supports projects to raise the standard of living and wellbeing of children suffering from the effects of extreme poverty and HIV/AIDS in Zambia.