views:

128

answers:

2

Some of us programmers have to deal with graphic files every once and awhile...

  • Making quick fixes to existing graphics
  • Throwing together a quick sprite as a prototype
  • Create an icon because the designer is too busy

I don't think anybody should ever be editing web graphics (jpg / gif / png) directly. They should edit the master file and export over top of the web graphics.

Right now all the psd files in our system are either on the designers or various other peoples drives and if a programmer ever needs to make a proper change they can't without high overhead.

How should I approach solving this impediment?

  1. Save the *.psd / *.xcf files right along side the web graphics *.jpg *.png *.gif so they're easy to find. Either train the Graphic design in source control or have somebody responsible for integration. I tend to like this because it make everything very discoverable and you can just have your web publishing system skip *.pdf *.xcf. However I can also see a coder not liking 2mb psd files crufting up their repository and having to download that on svn update.

  2. Create a separate source control repository or network share for master graphics files.

  3. Continue as is...

Any other suggestions?

+1  A: 

I always treat the PSD's used on the projects I work on as source files and the jpegs and gifs that are exported from those PSD's as binaries. Same goes for Word files that turn into PDF's.

My trunk normally has two subfolders:

trunk
  /source
  /deploy

Everything that doesn't go up onto a server belongs in source folder and everything else belongs in deploy. If I create a database export that serves as a backup then I store it in a sub-folder in the source folder (since it doesn't go onto the server).

There are purists that claim that binary files do not belong in version control. I say that is BS. A PSD is a source file for your jpegs and gifs in the same way a .java file is the source to a .class file. I say, tread it as such.

Luke
+1 (But as if you use word files to make pdfs... use LaTeX!)
Ed Woodcock
A: 

I'd go for option 2. As you say, the overhead of large PSDs in your source repository is probably too high for comfort!

Have you looked into scripting Photoshop export so that the 'Change PSD file' -> 'Updated graphics on website' workflow is as compact and easy as possible? That'll make the whole enterprise really attractive for everyone IMO; especially if its set to run as a build step on commit.

EDIT: Photoshop seems to support Javascript as a scripting language so getting a satisfying result should be fairly straightforward http://morris-photographics.com/photoshop/tutorials/scripting1.html

Mark Pim