Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chore: Product name and type #113

Merged
merged 68 commits into from
Feb 28, 2024

Conversation

iLLiCiTiT
Copy link
Member

@iLLiCiTiT iLLiCiTiT commented Feb 23, 2024

Changelog Description

Goal of this PR is to start using product naming in code base. Which means to use productName and productType instead of subset and family during create and publish phase.

Additional info

First of all I'm 100% sure that I broke something, if you can, please do code review first before you try to run. If you find any issues please report as soon as possible, you can DM me with quick questions.

All changes should support compatibility with workfiles before this PR in all hosts.

All the time when a family did represent product type, it should be changed to product type. e.g. create plugin does have product_type instead of family and created instance has productType in data instead of family.

One of the goals was to also use productType instead of family during publishing and use only families for pyblish filtering. The key family key is filled by pyblish automaticlly to "default", so it should not be an issue. But when we planned it, we didn't realize that sometimes instance.data are filled with raw data from scene, and in that case there might be family with a value that is not managed by us, speaking only about logic or workfiles with instances before this PR. I've changed that idea and all the time productType is changed during publishing, family is changed too.

What I couldn't resolve

  1. Json files in Blender and Unreal
    Sometimes it looks like the json is storing data that are unused, and sometimes I couldn't find source of their data so I couldn't tell if/how should I modify them. Sometimes the data are stored unclearly under key that says nothing about the value, e.g. json has "_id" which in fact represents representation id. Some of the json files are storing family which should be probably changed to product_type but I didn't find where the value is used. etc.

  2. Json files in Maya
    This is just about looks publishing, needs validation that I didn't break anything.

  3. Resolve and Hiero
    I probably failed at backwards compatibility.

Testing notes:

  • For host testing go one by one.
  • Go through code if you can and scan if you find invalid changes.
  • Open host and try all create plugin and publish. Validated output if can be loaded.
  • Open the host you're testing with workfile that does have instances before this PR and publish them.
  • 3dsMax
  • AfterEffects
  • Blender
  • Fusion
  • Hiero
  • Houdini
  • Maya
  • Nuke
  • Photoshop
  • Resolve
  • SubstancePainter
  • TrayPublisher - simple creators
  • TrayPublisher - editorial
  • TVpaint
  • Unreal
  • Celaction
  • Flame
  • Harmony

Note: This PR is clashing Hiero integration PR #87

…ductType

# Conflicts:
#	client/ayon_core/hosts/nuke/api/lib.py
#	client/ayon_core/hosts/nuke/api/plugin.py
Copy link
Contributor

@MustafaJafar MustafaJafar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested it in Houdini and it works.
Few notes for reference.
Note 1:
It'd be better to prefix all parameters as you and @BigRoy mentioned here #115 (comment) . I think we can do it in another PR as the current status doesn't conflict with the implemented product types.

Note 2:
I faced few bugs but I think they are not related to this PR as I was able to replicate them in develop branch.

  • Publish Image sequence (for some reason, representation data are empty)
  • Loading HDAs from Loader (where Loader fetches the wrong version)

@jakubjezek001
Copy link
Member

Hiero and Resolve works!

Copy link
Member

@moonyuet moonyuet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested in 3dsmax and substance painter. So far so good.

@jakubjezek001
Copy link
Member

Traypublisher's Simple EDL editorial works like a charm ;)

@jakubjezek001
Copy link
Member

Traypublisher's Simple Creators works too.

@MustafaJafar
Copy link
Contributor

Creator Tab in Publisher tool is able to get the product name correctly.
Thanks.
image

Copy link
Contributor

@simonebarbieri simonebarbieri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blender and Unreal works. There are a few issues in Unreal, but unrelated to this PR.

Copy link
Member

@antirotor antirotor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've hit issue when publishing renders from maya, but it doesn't seem to be connected to this PR. So fo me and Maya 👍🏻

client/ayon_core/hosts/unreal/api/plugin.py Show resolved Hide resolved
@iLLiCiTiT iLLiCiTiT merged commit 2a0f68a into develop Feb 28, 2024
8 checks passed
@iLLiCiTiT iLLiCiTiT deleted the enhancement/OP-8264_Use-productName-n-productType branch February 28, 2024 12:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

8 participants