Publishing your work

Publish

Provides UI and functionality to publish files to Shotgun.
Latest Version: v2.3.0 (prod)
For our version numbers, we follow the Semantic Versioning standard.
System Name: tk-multi-publish2

Please Note: This document describes functionality only available if you have taken control over a Toolkit configuration. Please refer to the Shotgun Integrations User Guide for more details.

The Publish app allows artists to publish their work so that it can be used by artists downstream. It supports traditional publishing workflows within the artist’s content creation software as well as stand-alone publishing of any file on disk. When working in content creation software and using the basic Shotgun integration, the app will automatically discover and display items for the artist to publish. For more sophisticated production needs, studios can write custom publish plugins to drive artist workflows.

Documentation

Full documentation for the Publisher can be found here!

Related Apps and Documents

Loader

The Shotgun Loader lets you quickly overview and browse the files that you have published to Shotgun. A searchable tree view navigation system makes it easy to quickly get to the task, shot or asset that you are looking for and once there the loader shows a thumbnail based overview of all the publishes for that item. Through configurable hooks you can then easily reference or import a publish into your current scene.

Shotgun Panel

The Shotgun Panel lets you quickly access Shotgun information from an embedded panel. It provides easy access to information about the task that the user is currently working on and you have instant access to the activity stream, notes, tasks, versions and publishes. Play back versions sent to review by other members of your team. Reply to notes directly from inside your application. If you pipeline tracks dependency information, you can browse this directly from the Shotgun Panel as well.

Admin Guide

This is the Admin Guide for Shotgun Integrations.

User Guide

This is the User Guide for Shotgun Integrations.

Installation and Updates

Adding this App to the Shotgun Pipeline Toolkit

If you want to add this app to Project XYZ, in an environment named asset, execute the following command:

> tank Project XYZ install_app asset tk-maya tk-multi-publish2

Updating to the latest version

If you already have this item installed in a project and you want to get the latest version, you can run the update command. You can either navigate to the tank command that comes with that specific project, and run it there:

> cd /my_tank_configs/project_xyz
> ./tank updates

Alternatively, you can run your studio tank command and specify the project name to tell it which project to run the update check for:

> tank Project XYZ updates

Collaboration and Evolution

If you have access to the Shotgun Pipeline Toolkit, you also have access to the source code for all apps, engines and frameworks in Github where we store and manage them. Feel free to evolve these items; use them as a base for further independent development, make changes (and submit pull requests back to us!) or simply tinker with them to see how they have been built and how the toolkit works. You can access this code repository at https://github.com/shotgunsoftware/tk-multi-publish2.

Special Requirements

  • You need Shotgun Pipeline Toolkit Core API version v0.18.153 or higher to use this.

Configuration

Below is a summary of all the configuration settings used. These settings need to be defined in the environment file where you want to enable this App or Engine.

display_name

Type: str

Default Value: Publish

Description: Specify the name that should be used in menus and the main publish dialog

validate_on_publish

Type: bool

Default Value: True

Description: If true (default), clicking the Publish button will execute the validation logic before publishing. If false, validation will be skipped. If false, and no validation has been manually triggered, a popup, confirmation dialog will be displayed before proceeding with the publish logic. NOTE: This is an advanced option. Setting this to 'false' will most likely break the shipped toolkit integrations which assume validation is always run before publishing.

publish_plugins

Type: list

Default Value: [{u'hook': u'{self}/publish_file.py', u'name': u'Publish to Shotgun', u'settings': {}}, {u'hook': u'{self}/upload_version.py', u'name': u'Upload for review', u'settings': {}}]

Description: List of publish plugins.

post_phase

Type: hook

Default Value: {self}/post_phase.py

Description: A hook that defines logic to be executed after each phase of publish execution including validation, publish, and finalization. This allows for very specific curation and customization of the publish tree during a publish session. Serializing the publish tree to disk after validation, for example is possible via this hook.

path_info

Type: hook

Default Value: {self}/path_info.py

Description: This hook contains methods that are used during publishing to infer information from file paths. This includes version and frame number identification, publish display name, image sequence paths, etc.

help_url

Type: str

Description: The url to open when the 'help' button is clicked in the publisher. The url should typically lead to a page that outlines the studio's publishing workflow. If no url is provided, the help button will not be displayed.

display_action_name

Type: str

Default Value: Publish

Description: Shorter version of display_name setting, used as button name.

collector

Type: hook

Default Value: {self}/collector.py

Description: Logic for extracting items from the scene and from dropped files.

collector_settings

Type: dict

Description: Collector-specific configuration settings.

enable_manual_load

Type: bool

Default Value: True

Description: If true (default, normal operation), the user can interact with the main dialog to drop files or folders. The user can also use the browse buttons to select files or folders. When false, the feature basically disable the user ability to add anything to the project.

Release Notes

Welcome to the release notes for this App. Below you will find an overview of all the changes we did for each release. We try to be as detailed as possible and include all bugs we have fixed, features we have added and things that may have changed. If you have questions about a particular release, don't hesitate to contact our support team!

v2.3.0

2018-Nov-27

Fixes a serialization bug with templates and introduces the publish_user property on items.

Details:

The new publisher_user property on publish items can be used to override the user resolution logic from sgtk.util.register_publish. One use for this would be on a render farm to register a publish with the user who submitted the job and not the script user running the job.

You can read more about this new property here.

v2.2.2

2018-Nov-5

Publisher log messages in the UI are now colorized.

Details:

Thanks to jhultgre for your contribution.

v2.2.1

2018-Oct-29

Introduces the standalone publish API.

Details:

The standalone publish API allows you to do the same operations in a script that you can do with the Toolkit application. As such, you can entirely automate the publish process without any user interaction or use it on a render farm in order to automate the publication of rendered jobs.

To learn more about the api, you can visit this page.

v2.1.7

2018-Aug-31

Add items name in publish completed and finialize complete messages

v2.1.6

2018-May-20

Fixes an intermittent garbage collection issue.

v2.1.5

2018-May-15

Visibility now respected for plugin acceptance

v2.1.4

2018-May-04

Workaround to make the scrollback work properly for QT version 4

v2.1.3

2018-May-01

Workaround to make the scrollback work properly for QT version 4

v2.1.2

2018-Apr-26

Fixes regression related to sequence publishing

v2.1.1

2018-Apr-12

Makes common file info dictionary part of the base collector API

v2.1.0

2018-Apr-05

Adds local properties to publish items and updates base publish file plugin

v2.0.13

2018-Feb-08

QA fixes for setting to disable manual content load

v2.0.12

2018-Jan-16

QA fixes for thumbnail inheritance

v2.0.11

2018-Jan-11

Adds ability to view progress details in drag/drop view

v2.0.10

2018-Jan-10

Attempts to improve UX around image sequence publishing

v2.0.9

2018-Jan-05

Updated to use context selection widget from tk-framework-qtwidgets.

v2.0.8

2018-Jan-04

adds validate_on_publish setting which allows disabling of validation when Publish is clicked

v2.0.7

2018-Jan-02

Adds default custom widget for description and sphinx docs for the app

v2.0.6

Bug fixes:

  • Items deleted will no longer show up in the list of items to publish after reloading
  • Version uploads will now use the full filename as the version name. Prior to this, the version number was stripped.

Improvements

  • Publish items will now show expand/collapse buttons
  • You can now begin a new publish session without closing the app

New Features

  • Adds two new configuration options:
    • display_name: Like publish1, allows for control over the display name of the app
    • display_action_name: Controls the action display name (the publish button)

v2.0.3

2017-Dec-06

Updated metrics logged

v2.0.2

2017-Nov-20

MoBu workflow and other misc QA fixes

v2.0.1

2017-Nov-15

Updates mobu item type in base collector

v2.0.0

2017-Nov-15

Features:

  • Support for template-based workflows
    • base publish plugin now allows work & publish templates to be defined in item properties. will handle copy from work to publish location at publish time.
    • if no templates defined, fall back to path_info hook logic
  • Custom UI for publish plugins

    • adds new methods that can be implemented by publish plugins to display custom UI for publish settings
  • Added checkbox for contexts items (#43771)

    • allows toggling of all items under publish context
  • Validation warning/errors available via item tooltips (#42764)

  • Ability to open the log view from the summary overlay post publish (#42849)

Bug Fixes:

  • Drag/drop disallowed for sub items (#43792)
  • Fixed description inheritance bug (#43896)
  • Fixed icon_pixmap bug for items (PR from adriankrupa)

v1.1.9

2017-Jul-31

Checks for failed or zero-size thumbnails.

Details:

This keeps us from plowing ahead and asking the SG API to upload a non existent or zero-size jpg file, which would cause it to fail ungracefully. Instead, we log the result and continue on without a thumbnail if a problem occurs and one can't be properly written to disk.

v1.1.8

2017-Jul-21

Addresses a bug that was causing unnecessary queries to populate related tasks when selecting an item on the left.

v1.1.7

2017-Jul-04

Updated minimum required core to be 0.18.72

v1.1.6

2017-Jun-06

doc updates

v1.1.5

2017-Jun-06

updated docs

v1.1.4

2017-May-26

Fix for authentication bug

v1.1.3

2017-May-26

small qa fixes for initial release

v1.1.2

2017-May-25

Reduce logging from the publisher

v1.1.1

2017-May-25

Ensure paths are normalized before comparing to identify conflicts

v1.1.0

2017-May-25

State management and context widget improvements

v1.0.1

2017-May-18

Adds browse button to toolbar and dnd screen, 3dsmax fix, fixes scroll bars and hyperlinks in descriptions

v1.0.0

2017-May-17

First Release Candidate.

Follow

0 Comments

Please sign in to leave a comment.