A global consumer product goods (CPG) company used a complex set of scripting processes based on Adobe® Creative Suite® 3 to detect production-ready artwork and then produce the Encapsulated Postscript (EPS) and Tagged Image File Format (TIFF) file formats needed for their product merchandising system. This process involved a large number of files; required paid employees to supervise the process; and could be unreliable, opaque, costly, and subject to error. The customer’s designers urgently wanted an upgrade to CS5 for its compelling design features, but the upgrade was stalled by the need to replace the legacy automation system.

The CIBU Solutions Enablement Team used Adobe AIR® and the CS Extension Builder 1.0 to construct an image conversion utility for the customer that automated the delivery, separation, and conversion of production art files, thereby helping to ensure stability, speed, reliability and transparency in their workflow.

Streamlined approach to image conversion

To streamline the effort of preparing production artwork for product merchandising purposes, the CIBU Solutions Enablement team created an automated process specifically for the global CPG. This new AIR image conversion utility automatically polls a folder for the presence of production artwork. Upon detecting files posted to the folder, the AIR app starts the process in which the Creative Suite Image Converter separately saves each layer in each production art file and then transforms each file into EPS and TIFF images for immediate consumption by the merchandising system based on Right Hemisphere’s Deep Server.

With CS Extension Builder 1.0, the automated image conversion utility took just five weeks to build.

The rewards

The solution provided for the global CPG offers numerous benefits:

  • Solves a critical, real world problem
  • Automates an entire process
  • Can be easily configured
  • Streamlines product design and iteration
  • In conjunction with messaging to the enterprise monitoring software, eliminates the need to manually monitor the conversion process
  • Accommodates expansion

The challenge

The customer’s existing implementation was labor-intensive and time-consuming. When new files appeared in the production folder, the scripts were supposed to run automatically and move the files through the entire process. In practice, however, errors frequently occurred. Either the scripts did not start or, if they did, they failed to convert the files. In addition, error handling was inconsistent. If that wasn’t enough, if the scripts did not run automatically, the workflow stopped until employees could detect and address the stoppage. Often, a significant amount of time elapsed before employees discovered the files and kicked off the process. Further, once active, the workflow could be interrupted or slowed down in many places and there was no way to communicate failures to (or log status for) stakeholders.

As a result, the customer assigned paid employees to watch the entire process so that if something failed, they could address it immediately. When employees observed new files in the folder, they ran Creative Suite 3 scripts to extract the desired layers from the Adobe Illustrator® files and save them to the EPS and TIFF formats.

Two alternative solutions to the image conversion utility were considered and eventually dismissed.

First, the development of individual C++ plug-ins for AI and PS on both the Mac and Windows® platforms was analyzed. In this approach, each plug-in required separately coded and specialized installers unless the customer was willing to install the plug-ins. Not only was this approach considered to be insufficiently robust, but plug-ins are not trivial efforts, so this option could not be accomplished in the five-week development time frame.

Second, the use of Adobe ExtendScript (a scripting utility designed to create, edit, and debug JavaScript) controlled with an Adobe Bridge Script was considered. This solution, however, did not take advantage of the code completion and development environment of Adobe Flash® Builder™. Not only would it have been a challenge to write clean and solid code in ExtendScript, but this solution could not be accomplished in the five-week development time frame.

Instead, the AIR app proved to be a simple solution that used the customer’s existing development environment, did not require separate Mac and Windows solutions, could be implemented in five short weeks, and provided deep integration, speed, and performance.

A new image conversion utility

The new Image Converter AIR application performs the numbered tasks identified in the illustration below. First, the AI files are processed through Illustrator to produce EPS and PSD files. The PSD files are then processed through Adobe Photoshop® to produce the corresponding TIFF files, and finally the files are moved to the Output folder and taken downstream.

To start the conversion, a server drops art files into a production folder monitored by the AIR application (1). The AIR app performs three actions when it detects new files. First, it opens the art files in Illustrator CS5 (2) and locates the layer named STYLE. All descendants of the STYLE layer are of interest to the customer. The AIR app saves each layer in each file as separate EPS and PSD files (3). After the EPS and PSD files are saved, the Image Converter in Illustrator closes the original files without saving the layers and then notifies the AIR application that the conversion is complete (4). Then the AIR app sends the PSD files to Photoshop CS5 (2) where they are opened and converted to TIFF files (3). After the art files are saved as TIFF files, the Image Converter in Photoshop notifies the AIR app that the conversion is complete (4). Finally, the AIR app moves the completed files to an Output folder (5) and deletes all the temporary files. When the AIR app posts the EPS and TIFF files to the Output folder, the server automatically sends the files downstream for consumption by merchandising systems (6).

The previous scripted workflow that needed to be manually started and monitored is now entirely automated. Employees are no longer required to monitor a server for the arrival of new files and then manually start the file conversion script. A once costly, opaque, and error-prone process is now streamlined and fast.

The deep integration with CS5 apps (AI and PS) is easily visible in the Adobe Extension Manager, where the Creative Suite Image Converter is listed as an extension of CS5.

And here’s a shot of the solution at work in Illustrator CS5.

Extending control through the solution

Six parameters in the solution provide a high degree of control over the process. The customer can specify the name and location of the Watch folder, the name and location of the Output folder, the name and location of the configuration file, the rate at which the Watch folder is polled for the presence of new art files, the rastering resolution for the EPS and TIFF files, and the individuals who are to receive notifications if any errors are found.

A utility that can grow with demand

The customer initially set up the image conversion utility on one system. However, this utility can run on multiple machines. The most common configuration is for the customer to set up a single Input folder and a single Output folder in a shared network. Each machine on which the AIR app is running polls the same Input folder. To ensure that files are processed only once, the image conversion utility performs several verifications. As a result, the system optimizes itself, with files converted quickly and in the most efficient way possible.

Adobe designed the image conversion utility so that it was easy to deploy. Two installers are provided; one for the AIR app and another for the Image Converter. For the AIR app, one configuration file is copied to a desired configuration file location. This file, in turn, points to a shared configuration file. With this methodology, a single configuration file can be updated so that an entire farm of machines can be automatically reconfigured in a matter of seconds.

Robust and high-performance industry-standard communications

This solution implements a two-tier topology: the AIR app serves as the master tier while the Image Converter (running in Photoshop CS5 and Illustrator CS5; the Image Converter is part of the utility, not a feature of CS) serves as the slave tier.

TCP/IP sockets on a single machine handle all communications between the AIR app and the Image Converter. Depending on the host application, the Image Converter establishes a server socket on a specific port. The AIR app and Image Converter send messages to each other with Action Message Format (AMF) encoding (AMF is built into Adobe AIR and Flash). AMF encoding is regarded as the most robust and high-performance option for communications.

Timely error handling and reporting

Any errors that occur are most likely due to a corrupt input file or to a problem in the conversion to EPS, PSD, or TIFF formats. Any errors are flagged by the Image Converter and reported to the AIR app, which moves the source file to the Output folder and describes the error in an error message that is written to the log file. If a file was in process when communications stopped, the file is moved to the Output folder and a message is logged to describe the error.

If errors occur, the utility posts a timely and descriptive notification of each error to the log file.

If the utility encounters a fatal error that requires operator intervention, the AIR app sends an email message to any number of operators or administrators (this list can be configured).

What goes on under the hood?

The Image Converter AIR application scans the Watch folder as often as the customer specifies. Upon detecting a new file, the AIR app does the following:

  • Stops scanning for new files
  • Creates a temporary directory for processing the art files
  • Locates and references a file of the same name with the .AI (Illustrator CS5) file extension
  • Using TCP/IP, sends the file name to the Image Converter running in Illustrator CS5
  • Waits for a response from the Image Converter running in Illustrator CS5
  • Extracts the PSD file names from the Image Converter response
  • Sends those file names to the Image Converter running in Photoshop CS5
  • Waits for a response from Photoshop CS5
  • When Photoshop CS5 responds with no errors, moves the converted files to the Output folder
  • Deletes all temporary files
  • Resumes scanning for files

The Image Converter runs in Illustrator CS5 and Photoshop CS5 and configures itself based on the host environment. The Image Converter starts automatically when its host (either Illustrator CS5 or Photoshop CS5) starts. Upon starting, the Image Converter establishes a server socket and listens for commands.

Upon receiving a command, the Image Converter in Illustrator CS5:

  • Opens the file sent from AIR app
  • Finds the STYLE layer
  • Iterates through each descendant of the STYLE layer to copy and paste each layer to a new file
  • Exports the new files in EPS format
  • Exports the new files in PSD format
  • When complete, returns the PSD file paths to the AIR app

Notes:

  • EPS files are created from the blank Illustrator CS5 files and contain no brushes, swatches, and so forth
  • If an error occurs, the Image Converter sends a description of the error to the AIR app

Upon receiving a command, the Image Converter in Photoshop CS5:

  • Iterates through all files sent by the AIR app
  • Opens and saves each file in TIFF
  • Passes a completed message to the AIR app

Products used, development tools, and system requirements

The Solutions Enablement team used Adobe AIR and the Adobe Creative Suite 5 Extension Builder to build the image conversion utility for the customer, and they used images created with Adobe Photoshop and Adobe Illustrator for the conversions. For details, see these websites:

Get in touch with us

If you have a need for a similar solution or have needs related to another issue an automated solution could solve, please contact your Adobe account executive to discuss what is needed.