Show publish plug-in attributes based on families
instead of only productType
#973
+109
−29
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changelog Description
Show publish plug-in attributes based on
families
instead of onlyproductType
This PR can be tested together with ynput/ayon-houdini#144
Additional info
This commit 8208bef allows to show publish plugin attributes also based on the created instance
families
data instead of only the product type. As such, if the Creator defines extra families - then the Pyblish plug-ins for which it will run will now also show their publisher attributes.This is a required change to easily start supporting a workflow where we can target particular instances from plug-ins without having to target the product type itself. This opens the door to allow say, five different creators, to each produce a
model
family but with e.g. a different representation - like a USD model, groom, look, etc.This PR builds on top of #960 so has a much bigger diff than needed (so once that's merged, only then I think it's good to start reviewing the code changes here because it'll reduce the diff drastically.)
📔 ✏️ Houdini (and Maya) currently exposes a
get_publish_families
method on the Creators - we may want to move that to the base creator plug-in in core by default because it'll greatly simplify the implementation of defining more families than just the product type from a creator across all the DCCs.Testing notes:
We may need to do a quick simple test across different DCCs that may define
families
data (at Creation, during publishing shouldn't make a difference) on the instance to see whether they still behave as intended. As far as I know that logic currently only exists inside Houdini and Maya.