Photoshop common script directories

Hey there Techies,

Anyone have a good workflow to distribute Photoshop scripts/actions across multiple users/computers?

I.e. for maya, we just add our own common SVN controlled directories to the maya script path, and maya searches for scripts in those directories automatically.

All i really want is for our scripts to be listed in Photoshop’s File>Scripts menu, but I really dont want to have to copy scripts into each users MyDocs folder…

Cheers!
Damon

We use perforce and point directly at the photoshop root dir, then we can add any files anywhere we like. We use the same system for Max / Maya too. works a treat.

~B)

I think we copy scripts here, whenever the last modified date from the synced files under version control is newer than the date on disk.

Dr Bob, you mean you guys have things like C:\Program Files\Autodesk\3ds Max 2008\ under source control?

Yes and No, we have the workspace root pointing at C:\Program Files\Autodesk\3ds Max 2011\ But we don’t include all of Max in perforce.

The main reason to point it at the root of Max is so we can replace/fix any of the Max components and include our Art tools packages. In the case of Maya it’s even more beneficial as pretty much all of Maya are editable, if we want to change a script we check in the original so that we can always go back and from commit 2 onwards is our modified code. We have been working this way for almost 5 years now and the only downside is when there are new updates we need to restart your DCC (not too bad in my opinion). Originally we used SVN but this caused some major issues as it didn’t allow for directory overwriting and we ended up checking in a skeleton folder structure. I’m not sure what the current state of svn is, but we have had no issues with Perforce for this system.

~B)

Sort of replying to this thread related to the “How to deploy Photoshop scripts” thread.

We’re having all of our our “3rd party tool extensions” also in Perforce. What I’ve done is set up a separate “c_drive” clientspec for every artist (we have a script that does this, so it’s not a big deal). Then every artist has a desktop shortcut which just does a “p4.exe -c user_name_c_drive sync” to update the tools.

Having the extra clientspec for everyone is a bit annoying, but there’s no other proper way to do it IMHO. And most people don’t even realize they actually are using two clients, they’ve just been told to “run the update tools button”.

Perforce sort of DOES support having the same client use multiple drives - you can set your client root to be “null” and then change the client mappings to have drive letters in them - this does work but then you loose all Explorer integration so we decided to not use the “null” client root approach.

Of course the installation paths of 3rd party software needs to be standardized and it helps that everyone is on the same OS (Win7 64bit).

Works like a charm.

SamiV.

All i really want is for our scripts to be listed in Photoshop’s File>Scripts menu, but I really dont want to have to copy scripts into each users MyDocs folder…

Does photoshop even recognise scripts in MyDocs? I haven’t found any way to get anything to show up in the menu aside from sticking them in the default scripts folder (ie, under program files).

Over here we have scripts and such under source control, but instead of pointing directly at the application folder, we put a symbolic link in the scripts folder, eg.

mklink /d “C:\Program Files (x86)\Adobe\Adobe Photoshop CS3\Presets\Scripts\ruScripts” “<p4 PS scripts folder>”

Photoshop then basically has access to the latest scripts whenever the user does a get (and restarts photoshop).

So as our artist setup doesn’t use perforce, and I wanted to avoid symbolic links, my solution was to create Actions that call custom scripts. A bit of python scripting sorted out the stupid .atn format of Photoshops to add in our own custom script paths. Also, these actions can be mapped to keyboard shortcuts for even quicker use.

These scripts can live on shared drives, and so you can update these scripts without having to push out any new files to artists (as the action’s path to the .jsx file remains the same). Those .jsx files can call python, and so we can access our python toolset. Result is we can do SVN commands with a single click/key press within Photoshop. It feels a bit clunky going from .jsx to python, but it works.

However, the downside is that you have to push out new Photoshop Action files to artists every time you add a new action/script (but not to upgrade/modify existing scripts).

Hmmm, that’s pretty interesting Damon.

I’d considered doing that here, but the above was the reason we decided to take the symbolic link route (plus, this way any new scripts also show up in File->Scripts without any action on the artists’ part).

Any particular reason to avoid symbolic links? Just curious.

it is not preferable to copy the scripts.