Replicating Shotgrid pipeline concepts in Ayon

I’m researching the possibility of implementing Ayon at a studio I’m working at, and I need to find some “comforting familiarity” to our existing Shotgrid-based pipeline in order to improve the sales pitch.
I’ve been digging through menus and code to find answers, but some advice would be helpful, to see if I also understand Ayon right.

I realize this might be asking Ayon to replace Shotgrid, which may not be the point or priority at this time, but this type of data would be useful for automating artist workflows.

Making custom entities and linking them to other entities in custom attributes.
My first thought is that Ayon “folders” is the same as Shotgrid “entities”, in which you can create new ones as you wish through the anatomy preset. But “Tasks” are also an entity in Shotgrid terms, and tasks are not “folders”.
So my impression is that Shotgrid’s idea of linked entities do not exist in Ayon, and each system has its own logic, or is at least obscured to some degree. But if a Shotgrid sync addon is available, then the logic should also be compatible?

Example - If I wanted to create a custom entity, a data class with custom attributes, containing instructions of how to assemble a shot, and that entity to two or more shot-folders with similar shot designs.
Or if I wanted a custom “timelog” entity, containing information of how long time was spent on a particular publish, when and by who, and link it to a task.

How would one go about this? In broad terms.

Products linked by version
From what I understand, is that products are versioned independently from each other.
So if an artist publish 3 different products for a given task (workfile, reviewfile, image sequence), they all get versioned up equally. But if an artist publishes in the morning, but only a review file for feedback, and later publishes all 3 products, then the version-number will be out of sync between the products.
v003 of the workfile product would match v004 of a image sequence product.

Would it be possible to link / group the products to a specific version?
That way it is easy to know what products are related to each other, and if the review-file v004 is approved, then the work file and image sequence also gets approved.

Task-level status field
Is there a way to implement a status-field for tasks, and have them be visible as a column in Ayon interface?
Then one could implement an event script that would update the task-status to reflect the status of the latest published version, and update downstream tasks as ready to start.

Task Templates
When creating new shots, how can one easily make the same tasks available by default?

Hi Kim, nice to see you here.

Let’s try to digest this a bit.

Even though the concepts don’t match 1-1, you should be able to achieve vast majority of SG structures in AYON quite easily.

For starters here is some basic explanation of the overarching data model Miro | Online Whiteboard for Visual Collaboration

In general you can’t make custom entities in AYON (entity is everything, including users, tasks, workfiles and so on), but you can make custom Folder types (a type of AYON entity). Folders are used solely to define a project hierarchical structure.

To server your usecases, you’d have to probably use a mixture of approaches. But linking specifically is quite a robust concept within AYON. You can create any link types, between any entity types and use those to your advantage in any way you choose. For example here you can see various custom link types created on a project

And here you can see example of those links applied and visualised (in upcoming AYON node graph). A bunch of assets used in sh030 and also sh030 being linked as mastershot to sh040 and sh020. You can make any completely arbitrary links of course.

The timelog is currently not trivial and you’r probably have to use custom attribute for that rather than a link. (but stay tuned… ehm… things might be coming :wink: )

By design they are independent, but you can use various pipeline tools to make sure they are in sync. We have built in mechanism for example to tell any product type in any specific context (for instance any publishes coming out of Nuke in Comp tasks), to be in sync with the workfiles version number which will then act as you describe. You have control over that however, so it doesn’t have to be all or nothing.

This can however also be looked at differently. You could publish just multiple representation of the same version to do this. Usually a render for instance would have review or mp4 representation and exr representation. You can then just choose which one you’re interested in for different context. In online review the mp4 is relevant, but for in-house review you’d pull the exrs. They are for all intent and purposes the same version that’s only approved once.

At the same time, this version would have a generative link to a published workfile product that was used to create it. Hence when you approve the render, you can traverse the link and approve relevant workfile too. (even though I’d argue that approving workfiles is an antipattern. They are not reviewables and should not be treated as such)

The point is, I’d be very suprised if we did’t find an easy, native way to map most, if not all shotgrid concepts to AYON.

Already there. Just not in a producer friendly UI at the moment.

This would already be really trivial to do actually. The data is all there.

You can’t right now. This is as you said… Going deep into project management features, which we secondary for past few years. We focused on the core product competence, which is a solid pipeline platform. That being said, we’re full steam ahead adding all of these features. Hopefully just those that are actually useful and doing them well. Stay tuned, we have some solid ideas on how to handle this. In simple and also very robust way down the line


AYON node graph : :heart_eyes:

That informational overview of AYON’s structure should really be in the documentation just as clearly as that MIRO board is or link to the MIRO board if the documentation can’t suit that nicely.

I love the “Ftrack / Shotgrid equivalent” columns for example and the AKA column.

I don’t recall seeing that “Graph” tab in my AYON beta deployment. Am I running an outdated version or is that yet to go public?

1 Like

The Graph addon is still extremely experimental so for now it’s not quite ready. We have some other priorities first so it might be a while until there’s something even beta worthy.

It will be, that’s what it’s for, but it was still changing over the past weeks, we’ll be making more diagrams and putting it all in the docs.

1 Like

@Innders @milan
Jeeeezzz the graph looks awesome!, to me is the what describes the pipeline!, a most have feature :), great to hear you are working on it already.

In a shotgrid matter, lets say I do not have shotgrid account, how can I disabled the shotgrid connection validation?, as it fails is preventing to publish.

Thanks for the thorough answer, Milan! It is much appreciated.
Sorry for my slow reply, just a lot of spinning plates while I’m digesting Ayon on the side.

Took a while to understand the Link Type, as there is no way to make the actual links through the interface yet(?). From what I understand, instead of making a new custom field on a shotgrid entity, you make some global link types that goes into a big bucket of “links”, which you then query and filter from.

So under the hood, when you make a new sequence, and make 10 shots for that sequence. How is the relationship between these stored? Are there hard-coded and hidden attributes on the sequence-entity with an attribute containing a list of “children entities” (shots), or are these connections stored as link-types in a separate system?

Are these links stored under a field/attribute per entity, or are they stored in a separate table in the database entirely?

Sorry, this may be a bit nitty gritty, but I’m just pulling on a thread to try to understand the inner workings of Ayon :slight_smile:

Also, is it currently possible to assign users to specific projects, so they can only see/browse projects they are assigned to?

Yes go to /settings/users (shortcut is double tap “f”).

Then select the project you want them to see and assign an Access Group to the user.

The user will now have the permissions set on the Access Group on that project. If the permissions include read then they will see the project.

By default an access group is created with all permissions set. But if you don’t see one go to the permissions tab and create a new one. By default a new access group will have all permissions.

You can control the access at a granular level (by setting restrictions).

Project hierarchy is stored as a direct relationship on folder entities as parentId. It is technically also embedded in path, but that’s more for convenience.

Hello guys
We are testing Ayon and shotgrid sync addon, so far it works to sync from shotgrid, in fact I had a sequence and a shot with some tasks which were sync’ed to Ayon through “Shotgrid sync” tab. (Shotgrid —> Ayon), but my question is how “Pipeline steps” (Shotgrid concept) is being considered in Ayon, because I see nothing en Ayon related to pipeline step, unless is different name and place to find it.
Can you help with that question, for us pipeline steps are important.

Hello Brno,
Could you tell me what steps you are referring to ?
As far as I know there are three categories:

  1. [Dev] Steps for setup SG addon (connecting Ayon to SG)
  2. [Admin] Steps for SG addon administration (create and sync projects and tasks, assign task, … etc)
  3. [User] Steps for using SG addon (from DCCs in particular)

I think this part is still missing in the docs! but it will be there soon.

Hello Brno,

When performing a Shotgrid Sync, in any direction, we ensure that the required entities exist already, and try to crete them if not, in the case of Pipeline Steps, we treat them as Task types in AYON (Project Settings > Anatomy > Task types), so after triggering a sync, you should see all the Pipeline Steps in AYON, and when creating elements in SG we pick the Pipeline Step thst relates to the entity if there’s any associated.

Thank you Mustafa, but it is more about the shotgrid concept “Pipeline step”.

Thank you @Minkiu
Nice, I got it, I got confused “Anatomy/Task types” were strictly speaking the “Task names”, now I got it.
Thank you for your help.