• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
12

Photoshop: Add/Share Actions + Scripts to CreativeCloud Library

LEGEND ,
May 05, 2015 May 05, 2015

Copy link to clipboard

Copied

Would be a comfortable way of getting script updates to coworkers.
Idea No status

Views

1.2K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
23 Comments
LEGEND ,
Nov 30, 2015 Nov 30, 2015

Copy link to clipboard

Copied

@markus, i have started making Adobe Addons which contain the .atn files. Then sharing the Addon with colleagues. It means i can push updated action files out to all the users easily. Handy workaround until Adobe improves syncing through libraries.

https://www.adobeexchange.com/producer

Votes

Translate

Translate

Report

Report
New Here ,
Jan 18, 2016 Jan 18, 2016

Copy link to clipboard

Copied

I would really love to have the option too to add/share actions to My Library. My department in my company uses a lot of actions and to be to share them via the Library would be a huge help. I could just send new employees or people with new computer a link to my Library and they could in go download all the actions we use. I hope Adobe really adds this.

Votes

Translate

Translate

Report

Report
Participant ,
May 09, 2016 May 09, 2016

Copy link to clipboard

Copied

I will have to investigate this further...

Votes

Translate

Translate

Report

Report
LEGEND ,
May 09, 2016 May 09, 2016

Copy link to clipboard

Copied

Yeah, its pretty straightforward. You can't record actions that reference the Libraries panel (e.g. to drag an image into a document), which is a shame. Hope you find it useful

Votes

Translate

Translate

Report

Report
New Here ,
May 09, 2016 May 09, 2016

Copy link to clipboard

Copied

Might have to look into this as well. Thanks so much for the info.  It's been a pain making sure everyone has the same actions.  We make so many new one constantly

Votes

Translate

Translate

Report

Report
Enthusiast ,
May 24, 2016 May 24, 2016

Copy link to clipboard

Copied

I had to invent something to accomplish several levels of photoshop/bridge user update.
I have a central folder containing all my scripts, assets, atn, toolpresets, cameraraw tool presets, etc, etc.
Then, the each photoshop of my team has installed a listener (startup) that runs a central script.
The first thing this script does is to verify if there are any recent file (modified date) that has been updated by me, and it make sure that all file form the central folder have a recent copy on a public folder (in windows, we use c:\Users\Public\myFolder\)
When everything has been updated, the central script can then load every thing it needs from scripts.
Some variables can also been addressed to the app it self (photoshop or bridge) using prototypes to extend objects or $.setenv() $.getenv() or loading any script updated.

This is crucial for me, otherwise, it would be very hard to update PC by PC any update. 
If the team has 20, 30 or 50 users.
It is working well for some years and has the great advantage to run with non-admin rights user.
I also export a log install file where I can put any errors of installation, the user name, the PC number, the app versions, etc, etc.

Hope it helps.

Votes

Translate

Translate

Report

Report
New Here ,
May 24, 2016 May 24, 2016

Copy link to clipboard

Copied

That is interesting. I don't know much about scripts and how to make and run them, or what the listener (startup) is but that may be something I will have to check out.  We currently have a team around 15 but we grow to 20 -25 at time, so this would be very helpful.  I'm trying to streamline things as much as possible and people make Actions all the time to help out with our processes so to a central location where we can have people update their Actions automatically would be so helpful.  

Votes

Translate

Translate

Report

Report
Participant ,
May 24, 2016 May 24, 2016

Copy link to clipboard

Copied

Thanks for the in depth post Pedro! I hadn't considered adding a startup script. Could you please explain how you got it to run at startup? Is it a CEP extension or something like that?

I am pretty sure you can get the location of the Creative Cloud Files directory from the CEP/Photoshop api, so that could be another good place to transfer file updates to local storage...

Votes

Translate

Translate

Report

Report
Enthusiast ,
May 24, 2016 May 24, 2016

Copy link to clipboard

Copied

Hi Max

I don't need any CEP/photoshop api or extension on my team.
I am a plain "off-line" developer using script optimizations for teams:
- studios (lightroom), quality-control (bridge), and photo-editors (photoshop&Bridge)

It doesn't mean I will never develop a inner html extension for my team, but I need time and a long way to go.

To activate a startup listener from photoshop, I just run this code once on photoshop and the nex time it opens, it will run it alone again.

if (BridgeTalk.appName == "photoshop") {
    var myScriptInstall = File("[central folder some where in my team network]");
    app.notifiers.removeAll();   // remove all notifiers and add them again
    app.notifiersEnabled = true; // activate notifiers
    var eventFile = File(myScriptInstall +"/startUpPhotoshopScript.jsx");
    try{ // se tem rede, usa o script de instalação da origem, se não usa o da pasta Farfetch:
        if (eventFile.exists) {
            app.notifiers.add("Ntfy", eventFile); // each kind of notifier has a code. "Ntfy" is on photoshop restart
        } else {
            alert("Network fail");
        }
    }catch(e){}
}

After running this, verify it by opening File>Scripts>Scripts Events Manager... and it must be there.
Then resart photoshop and the script you defined will run on start event.

I suggest you use the Photoshop script forum to have more accurate answers regarding scripts:
https://forums.adobe.com/community/photoshop/photoshop_scripting
or Bridge Scripting:
https://forums.adobe.com/community/bridge/bridge_scripting
or even CS SDK for APIs, etc
https://forums.adobe.com/community/creativesuites/cs_sdk
https://forums.adobe.com/community/coding-corner

Many answers are already there and can be found.

Votes

Translate

Translate

Report

Report
Participant ,
May 24, 2016 May 24, 2016

Copy link to clipboard

Copied

Thank you for the code and links! I've been developing tools and scripts for my team in Photoshop, but haven't looked at Bridge scripting before.

I hadn't used the Scripts Events Manager before, but now that you pointed it out, I wanted to share something in there!

Go to File>Scripts>Scripts Events Manager... the dialog will appear...
Set the "Event" dropdown to "everything"
Set "Script" dropdown to "Clean Listener"
Click the "Add" button

Now all the actions you take in photoshop will record their listener properties to a file on your desktop called "Clean Listener.jsx" it looks like this:

#target photoshop
// No handler found for event: 2521::AdobeScriptAutomation Scripts
// No handler found for event: 1936483188:slct:select
// No handler found for event: 1836021349:move:move
// No handler found for event: 1836021349:move:move
// No handler found for event: 1214521376:Hd :hide
// No handler found for event: 1399355168:Shw :show
// No handler found for event: 1936483188:slct:select
// No handler found for event: 1131435084:CpTL:copyToLayer

Which will be invaluable when writing scripts in the future! I can use that to find the event ID to hook onto.

Votes

Translate

Translate

Report

Report
Enthusiast ,
May 24, 2016 May 24, 2016

Copy link to clipboard

Copied

There are events and ... inner-events or sub-events
Not all events can be retrieved. 

Lets take one of your examples: 1399355168:Shw :show
TypeID (number): 1399355168
charID( "Shw " ) // always 4 digits/spaces (the space in the end is important)
StringID( "show" )

You can access this same event on photoshop by using one of the 3. They are all the same.
And you can convert all to a number that photoshop understands using:
stringIDToTypeID( "show" )
charIDToTypeID( "Shw " )

More generic events some times need specific triggers. For example, I want to trigger the event when a user creates a colorSampler.
I must use this:
(...)
app.notifiers.add("Mk  ", cstoolEvent, "ClSm");
(...)
The "make" event has nested the colorsampler event "ClSm"

Adobe has some Event ID Codes (still incomplete) in the PDF of photoshop scripting - pag 216:
http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/photoshop/pdfs/photoshop_scriptref_js.pdf

And here - pag 84:
http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/photoshop/pdfs/photoshop_scripting_guide.pdf

Votes

Translate

Translate

Report

Report
Enthusiast ,
May 24, 2016 May 24, 2016

Copy link to clipboard

Copied

Our actions are stores together in a ATN file in our central folder as I previous described.
The script triggered by the photoshop restart, removes this team Set of actions and reloads it again to make sure everybody uses the last updates. The cade is very simple and we do not use CC Library to store team actions (only few small short term projects).
This avoids the need the editor has to load the last actions set. He just need to restart. 
It is possible to load several sets on restart.

If the sets have also shortcuts that conflict with existing ones on photoshop, the existing one prevail, but the action is loaded the same.
 

Votes

Translate

Translate

Report

Report
New Here ,
May 26, 2016 May 26, 2016

Copy link to clipboard

Copied

Thanks so much for the information you have provided here. Looks like I got a lot of homework to do to figure out how to type up those scripts and make sense of them.  Coding like that isn't something I excel at currently but it looks like it's time to learn 🙂 

Votes

Translate

Translate

Report

Report
LEGEND ,
Nov 14, 2017 Nov 14, 2017

Copy link to clipboard

Copied

I agree. This would be incredibly handy. I would love to have action sets for our design team (image treatments, mockups, etc) and (crop actions, wireframe template storage) for the web team.

Votes

Translate

Translate

Report

Report
LEGEND ,
Nov 14, 2017 Nov 14, 2017

Copy link to clipboard

Copied

Yes, this would be fabulous! Please consider implementing. 🙂

Votes

Translate

Translate

Report

Report
LEGEND ,
Apr 12, 2019 Apr 12, 2019

Copy link to clipboard

Copied



Photoshop actions would be great to be able to share with other members in a team through CC libraries.

Votes

Translate

Translate

Report

Report
LEGEND ,
Apr 12, 2019 Apr 12, 2019

Copy link to clipboard

Copied



I have no idea IF this can be done, but for those of us that work with tons of mockups and repetitive actions, this would be really handy. Also, it would allow us to share image treatment actions with teammates.

Votes

Translate

Translate

Report

Report
New Here ,
May 01, 2019 May 01, 2019

Copy link to clipboard

Copied

Hello Pedro, I know this is an old topic but you seem to have a lot of the answers that I am currently looking for. Particularly on how to set it up to where I can update the scripts / share across multiple stations without breaking referenced filepaths to linked files and such. Hope it makes sense, would love to ask you a few questions in regards to that part of the process and I have just recently started to learn scripting. 

Votes

Translate

Translate

Report

Report
Enthusiast ,
May 01, 2019 May 01, 2019

Copy link to clipboard

Copied

There are several solutions. 
If you have a common network where your computers are in, you can use a central folder to be mirrored to a folder on each computer each time photoshop starts.
My solution was implemented only on windows, and the folder on each PC to mirroed from the central folder I use the Public folder (available to all users account on each computer)

You don't really need a script to mirror the folder with all its content. Another solution could be created by a command line that updates all the files for you from a central folder (if you have an IT manager you can ask him to do that for you)

If you need only to update the actions, you can centralize the file "Actions Palette.psp". This file is stored inside the personal photoshop settings of a user.
When you pick the "Actions Palette.psp" of another user and put it in your photoshop settings, your photoshop will load all those new actions from the other user. 
The advantage is that you don't need to use any *.ATN files. "Actions Palette.psp" is a file containing all the inner action Sets and all its actions embedded.

So, any IT guy can set windows to load a common "Actions Palette.psp" file and put it in the Photoshop user settings when windows start.
(each version of Photoshop have different folder settings, so all the users must work with the same photoshop version)

Votes

Translate

Translate

Report

Report
New Here ,
May 01, 2019 May 01, 2019

Copy link to clipboard

Copied

Hello Pedro, thank you for the response. We do have a central server that we use, but I am also the one that manages it. Currently the main issue is that when I send out actions with file paths embedded or linked - everyone that installs them needs to run the linking step and have to delink the files and such.

I was looking to scripting to see if I can amend the filepaths of the actions to be more fluid? Like say - get from server filepath instead of the concrete pathts that photoshop actions give which reference the user and what not. Hope that makes sense.

I haven’t worked with actions palette before since I always find I have to save down the groups and then open those atn files to install them. Is palette a more efficient way of doing this then? Does it port all of the actions in a package or?

Sorry I have so many questions - I really appreciate you taking the time to guide me in the right direction, as we work on Mac our server is much more difficult to maneuver around for me due to lack of understanding.

Votes

Translate

Translate

Report

Report
Enthusiast ,
May 02, 2019 May 02, 2019

Copy link to clipboard

Copied

Hi,
on a group of Macs connected to a network I would do the same logic:

1. common folder somewhere in the network where all the original files are to be placed on each computer
2. a script (apple script) to transfer(copy) all the files from the central folder to the User Shared folder in each mac computer. This can be done either when the computer starts, or photoshop starts.
3. All the Actions, filepaths references, etc, will always point not the central folder but the user shared folder: this folder on Mac is 
Folder("/Users/Shared")
Using a reference to this folder will always make sure that any logged User account accesses the Shared folder.

Resume:
A) copy central folder contents to Folder("/Users/Shared") = updated!
B) only after A) finished successfully, photoshop will start (or restart) and automatically run a startup script to install the actions, assets, etc needed to work.

This is the simplest way to centralize everything.

Note: on Mac, there are some specific limitations due to access privileges so I don't know if the transfer of files can be defensively blocked by the system.  

Votes

Translate

Translate

Report

Report
Participant ,
May 02, 2019 May 02, 2019

Copy link to clipboard

Copied

I used to have .jsx scripts copy and update the photoshop scripts folder, but file permissions changed with either Win 10 or photoshop 2017 so the installation folder is admin access required. Short of having batch files that run as admin or some kind of native installer, users have to manually copy updated scripts if they want them in the file menu.

Votes

Translate

Translate

Report

Report
LEGEND ,
Oct 30, 2020 Oct 30, 2020

Copy link to clipboard

Copied

LATEST

hi. i want share atn file with another user but i cant because my action Comes with my location and Users can no longer use

What can I do to fix this problem?

Votes

Translate

Translate

Report

Report