Snapshotting your work

Scene Snapshot

This app lets you quickly take a snapshot of the scene that you are working on - essentially a quick, personal backup. You can also browse your history and restore old snapshots.Latest Version: v0.7.4 (prod)For our version numbers, we follow the Semantic Versioning standard.System Name: tk-multi-snapshot

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.

A Shotgun Snapshot is a quick incremental backup that lets you version and manage increments of your work without sharing it with anyone else. Take a Snapshot, add a description and a thumbnail, and you create a point in time to which you can always go back to at a later point and restore. This is useful if you are making big changes and want to make sure you have a backup of previous versions of your scene.

Documentation

We're working on the documentation as we speak & it will be coming soon. We'll make sure it's worth the wait!

Related Apps and Documents

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.

This application forms the basis for file management in the Shotgun Pipeline Toolkit. It lets you jump around quickly between your various Shotgun entities and gets you started working quickly. No path needs to be specified as the application manages that behind the scenes. The application helps you manage your working files inside a Work Area and makes it easy to share your work with others.

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-snapshot

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-snapshot.

Special Requirements

You need Shotgun Pipeline Toolkit Core API version v0.14.58 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.

hook_thumbnail

Type:hook

Default Value:thumbnail

Description: Specify a hook to pre-generate a thumbnail for the snapshot.

template_work

Type:template

Description: A reference to a template which locates a work file on disk.

template_snapshot

Type:template

Description: A reference to a template which defines the location where snapshot backups will be stored on disk.

hook_copy_file

Type:hook

Default Value:copy_file

Description: Specify a hook that will be used to copy the file 'source_path' to 'target_path'.

hook_scene_operation

Type:hook

Default Value:scene_operation_{engine_name}

Description: All the application specific scene operations (open, save etc) that the app needs to carry out are collected in this hook.

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!

v0.7.4

2018-Jan-11

Uses better technique for retrieving the active doc and path

v0.7.3

2017-Mar-16

Switches to writing jpg for thumbnails instead of png.

Details:

This stops further libpng errors mentioned in v0.7.2 release notes from occurring.

v0.7.2

2017-Mar-14

Removes problematic profiles from png files used as icons.

Details:

This will silence libpng warnings from Qt when the png files are loaded as pixmaps. This is a second attempt as this profile stripping, and uses ImageMagick's "mogrify" command to achieve the desired result, which maintains color consistency.

v0.7.0

2017-Jan-30

Adds support for tk-photoshopcc.

v0.6.1

Adds context switching for Nuke Studio support.

v0.5.2

2015-Dec-18

Now prompts yes,no,cancel asking if a snapshot should be taken prior to restore.

v0.5.1

Merges Hiero scene operations into the Nuke hook.

Details:

Changes necessary to allow the tk-nuke engine to run within the Hiero mode of Nuke 9.0+.

13 Comments

There's a lot of cases where you don't want to save a snapshot of the current scene before restoring.

Worst case is if you have, say, 5 snapshots of the current scene, and wants to open them one by one to find something you did in the past, then you'll end up with 10 snapshots because the app won't let you restore a snapshot without creating a new one.

This is a really good point. What do you think the ideal flow would be? Off the top of my head, what jumps out as possible ideas are:

We keep this dialog, but it instead it asks you if want to snapshot the current scene, with Yes/No/Cancel as the options.

There's a per-user "sticky" checkbox pref in the Snapshot History UI that lets you specify if the current scene should be snapshot when one is restored, so the user wouldn't get a pop-up dialog each time.

There's a setting in the environment configuration for the app that lets this behavior be set for the environment (i.e. always snapshot, always don't snapshot).

1 feels the strongest to me, and the pop-up is ok since it doubles as the "Are you sure you want to do this restore?" but it would be great to hear your take on this!

Some of the apps make use of this "sticky" feature already, like the File Manager/Set Work Area app(s), which will remember if the user has checked the "Show Only My Tasks" box across Maya sessions. The new Loader will also likely make use of this for remembering certain filters, and in general, we feel like this can be a nice usability improvement when it makes sense.

Do you want more details on this? If so, I can have one of the engineers weigh in...

Mmm stumbled on this page to see if I could find exactly how I could disable this behavior for now - till something like option 1 is implemented. Could I just comment out something somewhere to disable that portion of the restore action?

Hey there oliver! To disable the app you need to go into your configuration, find the env folder and then comment out/remove all tk-multi-snapshot app declarations. It can be a bit technical, let us know if you get stuck!

Sorry I think I was not quite clear. I meant disable the creation of a snapshot on the restore of a snapshot. We use snapshot's exclusively for saves to ensure our publish and work versions stay in sync - so that part is great. Looking through previous files via the snapshot tool however spams us with many duplicate versions of our existing snapshots. Very quickly artists leave the pipeline tools and start digging through the physical snapshot files to circumvent this.

I did have a look in the config/env folder and poked through a few .yml's and couldn't find the said app-declarations. However I am not at a computer with any ability like "find in files" at the moment. Will check again when I get the chance.

Would also like to suggest a hotkey for snapshot. Most artists are used to ctrl+s or ctrl+shift+s

not having a hotkey for this can be frustrating. Heck if you are going to be in a shotgun end to end it might even be worth reappropriating the normal save or save as to the snapshot tool when you launch with the shotgun toolkit

that way it is intuitive and new users to shotgun have same functionality.

I agree with Adam. Having used a shortcut for "increment and save" in Maya for years, it would really help me take to advantage of this "snapshot" functionality if there was also a shortcut for it. Is this not already available? To me it doesn't feel as time efficient to save regularly if I have to go through menus and a dialogue just to save an incremental version, and instead I am opting to continue to use the standard Maya "increment and save" feature because it does have a shortcut.

Having the option to swap out the "increment and save" shortcut for this behavior seems like an intuitive suggestion.