Flow Production Tracking schema

Data in Flow Production Tracking is organized into entities, somewhat similar to tables in a database. Entities have fields, also called attributes (like columns in a database table).

Each entity has the following attributes:

There are some other attributes. Because all the other attributes are configurable, the API has simple tools to query them dynamically.

The API is very simple: CRUD ( http://en.wikipedia.org/wiki/Create,_read,_update_and_delete ), and lots of lists of lists.

The API has tools to help you discover the schema. You can also go to the Fields page, in the Admin menu, to see a list of all the fields configured on your site. Note that fields have a “Field Code” which is used by the API, and a “Field Name” that’s used in the UI. They’re generally very similar to each other, but not necessarily predictable. Check the Fields page to see both.

Flow Production Tracking provides some specific methods for dealing with thumbnails and files as files can be uploaded or locally linked.

You can link entities together using special “entity” type fields. Through the UI, we can see that sequence SATL has seven Shots (first image below) and six Assets (second image below) linked to it.

Sequence_SATL Demo Animation with Cuts

Sequence_SATL Demo Animation with Cuts 2

From a Python console (or via the Flow Production Tracking API), we can query the Shots and Assets associated with the SATL sequence:

>>> filters=[['code','is','SATL']]  
>>> fields=['assets','shots']  
>>> seq = sg.find('Sequence',filters,fields)  
>>> from pprint import pprint  
>>> pprint(seq)  
[{'assets': [{'id': 1402, 'name': 'Blaster Pistol', 'type': 'Asset'},  
  {'id': 1406, 'name': 'Hatch', 'type': 'Asset'},  
  {'id': 1404, 'name': 'Satellite', 'type': 'Asset'},  
  {'id': 1405, 'name': 'Ship', 'type': 'Asset'},  
  {'id': 1401, 'name': 'Sven', 'type': 'Asset'},  
  {'id': 1403, 'name': 'Trilobot', 'type': 'Asset'}],  
  'id': 40,  
  'shots': [{'id': 1162, 'name': 'HSM_SATL_0010', 'type': 'Shot'},  
  {'id': 1163, 'name': 'HSM_SATL_0015', 'type': 'Shot'},  
  {'id': 1164, 'name': 'HSM_SATL_0020', 'type': 'Shot'},  
  {'id': 1165, 'name': 'HSM_SATL_0030', 'type': 'Shot'},  
  {'id': 1166, 'name': 'HSM_SATL_0040', 'type': 'Shot'},  
  {'id': 1168, 'name': 'HSM_SATL_0050', 'type': 'Shot'},  
  {'id': 1167, 'name': 'HSM_SATL_0060', 'type': 'Shot'}],  
  'type': 'Sequence'}]

Behind the scenes, a standard Flow Production Tracking schema looks a bit like this (yours may look different):

Hover over the blue boxes in the image below to get a more robust description of each element of the Schema.

Sequence_Schema

  1. Project: The container for all the information tracked for a specific project.

  2. Sequence: Often used in film projects as a collection of Shots. A Sequence in Shotgun is usually linked to multiple Shots.

  3. Shot: Key information about a Shot that is being built. A Shot is linked to only one Sequence.

  4. Asset: Key information about an abstract asset being built, like a Character or Prop. Instead of a Sequence, Assets are often grouped by “Type”, which is a field on Asset.

  5. Task: The work it takes to build a Shot or Asset is broken down into unique Tasks that are assigned to Artists. For example, a Shot may have Tasks for Layout, Animation, FX, Lighting, and Comp. The Artist assigned to the Task iterates on their work often.

  6. Version: As Artists work on their Task, they create many files. When they are ready to show their work in a review session, they render out an image sequence. This is then submitted to dailies as a visual snapshot of their progress. In Shotgun, this iteration is called a “Version”. Versions are linked to the parent Shot or Asset, and they’re ideally linked to the Task (though this isn’t always possible in every pipeline).

  7. Notes: Feedback for the Artists on their work is entered in as a Note that is linked to the Version, Task, and the Task’s parent (Shot or Asset). Artists see these Notes on their Shotgun pages and receive emails when they are created. They can reply to the Note. Notes have statuses that can be set, and include titles such as "Ready to Start", “In Progress”, or “Resolved”. Notes are often linked to a lot of things so they show up in the right places. In this case, they may be linked to all the entities listed above.

  8. Playlist: Versions can be organized into Playlists for purposes of reviewing in dailies. The Version entity has a “Playlists” field that links to all the Playlists it is linked to.