# No publish icon in photoshop shotgrid panel

**URL:** <https://community.shotgridsoftware.com/t/no-publish-icon-in-photoshop-shotgrid-panel/17553>\
**Category:** Flow Production Tracking\
**Tags:** fptr-tk, python-api\
**Created:** [June 27, 2023, 10:22am UTC](https://community.shotgridsoftware.com/t/no-publish-icon-in-photoshop-shotgrid-panel/17553 "2023-06-27T10:22:36Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![NishithS](https://avatars.discourse-cdn.com/v4/letter/n/46a35a/32.png) [@NishithS](https://community.shotgridsoftware.com/u/NishithS)\
**Post date:** [June 27, 2023, 10:22am UTC](https://community.shotgridsoftware.com/t/no-publish-icon-in-photoshop-shotgrid-panel/17553/1 "2023-06-27T10:22:36Z")

</div>

I am using a test config. In shotgun panel in photoshop, usually a publish icon appears. Looking at log, it shows one among other lines an error

> 2023-06-27 06:06:11,032 [17004 ERROR sgtk.env.project.tk-photoshopcc] App configuration Error for tk-multi-publish2 (configured in environment ‘C:\code\config\config\env\shot\_step.yml’). It will not be loaded: Invalid configuration setting ‘publish\_plugins’ for tk-multi-publish2: The specified hook file ‘C:\code\config\config\hooks\T.py’ does not exist.

No where in the config is this line mentioned.

> ‘C:\code\config\config\hooks\T.py’

Only change to config is in

```auto
> C:\code\config\config\env\includes\settings\tk-multi-publish2.yml

.
# shot_step
settings.tk-multi-publish2.photoshop.shot_step:
 # collector: "{self}/collector.py:{engine}/tk-multi-publish2/basic/collector.py"
  collector: "T:/plugin/pipeline/app_store/tk-multi-publish2-mod/hooks/collector.py"

```

And their is a need to change in this app as I am taking a step to change review image format from jpg to exr.

Question is two fold

why is publish icon not appearing ?  
Not able to understand the design of shotgrid. Where does it find the above T.py script ?

Answering this will help in better appreciating the way shotgrid is designed and ask less question in this context. Example, how to interpret this line. What is self and engine and what are they pointing to. ?

collector: “{self}/collector.py:{engine}/tk-multi-publish2/basic/collector.py”

---

<div class="post-metadata">

**Author:** ![grover\_gol](https://sea1.discourse-cdn.com/shotgunsoftware/user_avatar/community.shotgridsoftware.com/grover_gol/32/2436_2.png) [@grover\_gol](https://community.shotgridsoftware.com/u/grover_gol)\
**Post date:** [June 28, 2023, 9:21am UTC](https://community.shotgridsoftware.com/t/no-publish-icon-in-photoshop-shotgrid-panel/17553/2 "2023-06-28T09:21:31Z")

</div>

Hey, the icon is not showing because the app can not be loaded due to an error in the configuration. It references the not existing file. Inside config, you should not use absolut paths. You should use global constants.  
{self} links to the app distributive path. In case of tk-multi-publish it will be something like  
C:\Users\your\_user\AppData\Roaming\Shotgun\bundle\_cache\app\_store\tk-multi-publish2\v2.6.3  
{config} links to your current config location. In your case ‘C:\code\config\config'  
{engine} links to the engine distributive. For example  
C:\Users\your\_user\AppData\Roaming\Shotgun\bundle\_cache\app\_store\tk-3dsmax\v1.2.4

All those links are interpreted dynamically during the config load and depending on the user’s system paths.

In your case to find an error, just search through your tk-multi-publish.py file this string C:\code\config\config\hooks\T.py it is there

I recommend watching this tutorial

[![](https://global.discourse-cdn.com/shotgunsoftware/original/2X/b/ba4c77eb5f0e44557b15a0973e92889e3d29e3d1.jpeg "Developer Training - Toolkit: Installing and Managing Cloud Configurations") ](https://www.youtube.com/watch?v=5nRZ5GgcOnk)

---

<div class="post-metadata">

**Author:** ![NishithS](https://avatars.discourse-cdn.com/v4/letter/n/46a35a/32.png) [@NishithS](https://community.shotgridsoftware.com/u/NishithS)\
**Post date:** [June 28, 2023, 10:01am UTC](https://community.shotgridsoftware.com/t/no-publish-icon-in-photoshop-shotgrid-panel/17553/3 "2023-06-28T10:01:55Z")

</div>

thank you @grover_gol. I need to modify “{self}/upload\_version.py” in tk-multi-publish2, say. {self} you say is a link to app distributive path. It points to  
C:\Users\your\_user\AppData\Roaming\Shotgun\bundle\_cache\app\_store\tk-multi-publish2\v2.6.3

It should now point to

C:\Users\your\_user\AppData\Roaming\Shotgun\bundle\_cache\app\_store\*_tk-multi-publish2-mod_\*\v2.6.3

where tk-multi-publish2-mod is copy of tk-multi-publish2.

How to make {self} point to new location ?

---

<div class="post-metadata">

**Author:** ![Ricardo\_Musch](https://sea1.discourse-cdn.com/shotgunsoftware/user_avatar/community.shotgridsoftware.com/ricardo_musch/32/405_2.png) [@Ricardo\_Musch](https://community.shotgridsoftware.com/u/Ricardo_Musch)\
**Post date:** [June 28, 2023, 12:49pm UTC](https://community.shotgridsoftware.com/t/no-publish-icon-in-photoshop-shotgrid-panel/17553/4 "2023-06-28T12:49:23Z")

</div>

This is not how you should alter configs.

I suggest you read up a little on how to properly administer toolkit configurations to save yourself from the pipeline breaking at a later point.

---

<div class="post-metadata">

**Author:** ![grover\_gol](https://sea1.discourse-cdn.com/shotgunsoftware/user_avatar/community.shotgridsoftware.com/grover_gol/32/2436_2.png) [@grover\_gol](https://community.shotgridsoftware.com/u/grover_gol)\
**Post date:** [June 28, 2023, 1:02pm UTC](https://community.shotgridsoftware.com/t/no-publish-icon-in-photoshop-shotgrid-panel/17553/5 "2023-06-28T13:02:48Z")

</div>

self always points to the directory of the app. In your case it’s tk-multi-piblish2. If you want to modify the app itself you must “take over” the app. If you want to modify only the hook, you must copy the original hook to your configuration hooks folder and reference the config to it.  
For example, I use the original app, I do not take it over. But I override hooks.  
my app\_locations.yml has this:

```auto
apps.tk-multi-publish2.location:
  type: app_store
  name: tk-multi-publish2
  version: v2.6.3

```

my tk-multi-publish2.yml has this:

```auto
# ---- Nuke

# asset step
settings.tk-multi-publish2.nuke.asset_step:
  pre_publish: "{config}/tk-multi-publish2/pre_publish.py"
  collector: "{config}/tk-multi-publish2/collector.py:{config}/tk-multi-publish2/nuke/collector.py"
  collector_settings:
      Work Template: nuke_asset_work
      Render Area Template: nuke_asset_render_area
  publish_plugins:
  - name: Publish to Shotgun
    hook: "{self}/publish_file.py"
    settings: {}
  - name: Upload for review
    hook: "{self}/upload_version.py:{config}/tk-multi-publish2/upload_version.py"
    settings: {}

```

the collector file is in my configuration folder for the developer:  
C:\work\Programming\tk-config\hooks\tk-multi-publish2\collector.py

In general, please, look into this tutorial on publishing  
https://www.youtube.com/embed/pH4mylrnktY?feature=oembed&wmode=opaque&list=PLEOzU2tEw33q65lv0_AKDT6tbpi6vgMDH

---

<div class="post-metadata">

**Author:** ![Ricardo\_Musch](https://sea1.discourse-cdn.com/shotgunsoftware/user_avatar/community.shotgridsoftware.com/ricardo_musch/32/405_2.png) [@Ricardo\_Musch](https://community.shotgridsoftware.com/u/Ricardo_Musch)\
**Post date:** [June 28, 2023, 3:20pm UTC](https://community.shotgridsoftware.com/t/no-publish-icon-in-photoshop-shotgrid-panel/17553/6 "2023-06-28T15:20:38Z")

</div>

Thanks @grover_gol , I was trying to find a link to that video 😃

---

<div class="post-metadata">

**Author:** ![NishithS](https://avatars.discourse-cdn.com/v4/letter/n/46a35a/32.png) [@NishithS](https://community.shotgridsoftware.com/u/NishithS)\
**Post date:** [July 1, 2023, 2:09am UTC](https://community.shotgridsoftware.com/t/no-publish-icon-in-photoshop-shotgrid-panel/17553/7 "2023-07-01T02:09:19Z")

</div>

please share the link to the reading material

---

<div class="post-metadata">

**Author:** ![grover\_gol](https://sea1.discourse-cdn.com/shotgunsoftware/user_avatar/community.shotgridsoftware.com/grover_gol/32/2436_2.png) [@grover\_gol](https://community.shotgridsoftware.com/u/grover_gol)\
**Post date:** [July 3, 2023, 6:28pm UTC](https://community.shotgridsoftware.com/t/no-publish-icon-in-photoshop-shotgrid-panel/17553/8 "2023-07-03T18:28:49Z")

</div>

There used to be dedicated pages about config and such. But then Autodesk removed that platform, and all the links that I had are gone.  
What you have now is only the developer page [https://developer.shotgridsoftware.com/](https://developer.shotgridsoftware.com/)  
with some topics like toolkit for example [ShotGrid pipeline toolkit core platform, v0.20.19 — tk-core v0.20.19 documentation](https://developer.shotgridsoftware.com/tk-core/index.html)  
But the previous forum with Q and A is gone, unfortunately.
