Gathering requirements - pyblish/tutorial-1-man-and-hand GitHub Wiki

Before devising a publishing workflow for this synchronisation, let's take a moment to consider what the requirements should be for these assets to pass through validation.

Per asset, we need

  1. A common interface
  2. A method of determining input and output

Common Interface

image

For an interface, let's decide that each asset must provide for attributes on it's top-level node - i.e. it's assembly. Every asset is guaranteed to have an assembly and is capable of storing the attributes we require.

Input / Output

image

As each asset will provide for complementing interfaces, we need some way of determining the role of each attribute that will allow us to programmatically determine with which attribute a neighbouring attribute can interface with.

image

This will allow us to devise an arbitrary amount of outputs on one asset, and have a one-to-many relationship between it and other assets of either partially or fully matching interfaces.

image

Before we move onto implementing these requirements, let's get you setup with the content for this tutorial.

Tutorial: Setup ->