A SERVICE OF

logo

Adobe Version Cue CS3 Client Programmer’s Guide
Version Cue Client Architecture
22
ent versions of an image to be created in Photoshop. Integration with Version Cue enables
InDesign to change the state of a link in its user interface when an asset is updated on a Ver-
sion Cue Server by another user, as if it were a local file (rather than a managed asset). The
Version Cue asset-management features are largely transparent to the end user of applications
like InDesign and Photoshop.
On the other hand, Adobe Bridge CS3 is primarily a file browser and searching tool, rather
than an editing application. It is a particularly privileged Version Cue client, and there are
many features of Version Cue that can be accessed only through Bridge; for instance, if you
want to compose a search based on more than one search criterion.
When using a Version Cue client, you can browse assets that are not on the Version Cue
Server (only in the local file system), as well as ones that are on the Version Cue Server and,
hence, version controlled. These assets appear quite similar in the Adobe Common User Inter-
face, except some status information, which distinguishes those managed by the Version Cue
Server from those solely in the local file system of the Version Cue client. This is the key bene-
fit of Version Cue from the end-user’s perspective; he does not have to learn a new idiom to
navigate through an asset management system, as it can look just like he is browsing through a
file system. In other words, Version Cue implements a virtual file system for its clients.
Client Libraries
Version Cue is a client-server application; see Adobe Version Cue CS3 Server Programmer’s
Guide for a discussion of its architecture. The server is Version Cue Server, and the clients are
desktop applications in Creative Suite.
Applications like InDesign and Photoshop are integrated with Version Cue via the Version
Cue client libraries. The libraries support features like asset management— such as check-out
and check-in from Version Cue— and communication with Version Cue Server. The libraries
also provide user interface dialogs, which enhance the normal operating system Open and
Save dialogs; for instance, these enable end users to place a file from Version Cue, search for
files, view collaboration status, and communicate with a Version Cue Server.
Client applications can use the Version Cue File > Open and File > Save dialogs in place of the
normal operating system dialogs. Version Cue also provides user interface elements to display
the historical versions of an asset and error conditions.
The details of the Version Cue client libraries are largely hidden from external developers,
although some description of the library components is given in the Adobe Version Cue CS3
Server Programmer’s Guide. The scripting interface to Version Cue enables you to create user
interface by using the Adobe ScriptUI, as well as to perform Version Cue specific operations
using the scripting interface to the VersionCueSDK client library.
Server-driven Scripting
The Version Cue client libraries expose a C++ API (the “Q-API”), which is used by the devel-
opers of Creative Suite applications to integrate with Version Cue. It would not be straightfor-
ward to use this C++ API to integrate with Version Cue as an external developer; you would
have to write a separate plug-in for each desktop application in Creative Suite. Since writing a