Reviews
Review: Portfolio
- By Mike Gunderloy
- September 27, 2004
Portfolio 7
$3499.95/server, $199.95/client, $4499.95/SQL Connect,
$1999.95/NetPublish
Extensis
Portland, Oregon
(503) 274-2020
www.extensis.com
One of the nice things about writing Developer Central is the chance to
look at software that I might not otherwise see. Portfolio is a good
example. It's a Digital Asset Management application, which is to say
that it helps organizations keep track of stuff they have stored on
computers. One typical market for this sort of thing is creative
professionals who manage a collection of photographs, fonts, mockups,
publications, and so on. But you could really store most anything here,
from PowerPoint slides to source code files, if you really wanted.
Portfolio is a client-server application. The Portfolio server keeps
track of one or more catalogs of digital assets, and controls who can
work with each of them. The clients provide cross-platform (Mac and
Windows) access to the server. There are also a couple of glue pieces:
there's a SQL Connect module that allows you to store catalogs on a
database server (SQL Server, MSDE, MySQL, or Oracle) instead of in a
disk file, and a NetPublish piece that can quickly move a selection of
assets to a Web page (for example, think about searching for everything
related to a particular project and then putting it on an extranet for
the client to review).
The installation was straightforward though, since I wanted to use a SQL
Server database, there were a couple of manual steps. The paper
documentation lays out the steps quite clearly, which is definitely
nicer than trying to find the usual cryptic readme files. Once up and
running, I turned Portfolio loose to catalog a few thousand digital
photos. Soon enough, I had a catalog matching my storage structure on
the hard drive (Portfolio is smart enough to synchronize with the way
you already store files, and can even monitor a folder for changes),
with each photo represented by a thumbnail and metadata. It
automatically reads common metadata such as the EXIF information in my
photos, so the catalog was searchable by things like the date the photo
was taken and the F-number instantly.
Adding your own metadata is trivial as well; a few mouse clicks and you
can fill in missing fields or add your own keywords. Searching by
keywords is lightning-fast, at least with SQL Server on the backend.
Portfolio also offers a batch of other features including support for
the most common digital camera raw photo formats, the ability to move
files to offline storage by burning them to CD or DVD (the catalog keeps
track of what is where), and a miniature version of the client that lets
you quickly find assets and then drag them into programs like Photoshop.
So where's the developer tie-in here? The answer lies in that SQL
backend. The folks at Extensis were happy to share their SQL schema with
me, and we chatted some about the extensibility possibilities inherent
in using a database server. For instance, imagine sending e-mail any
time that a new asset is moved into the Pending_Approval folder. That's
not implemented in Portfolio itself, but it wouldn't be hard to add with
a proper database trigger. You can also imagine ways to automate adding
assets, or performing other workflow operations, by directly
manipulating the database. I know if I ever get involved in a digital
asset management project, I'll look back to this open solution as a good
starting point.
About the Author
Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.