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

Move houdini client code #516

Merged
merged 37 commits into from
Jun 3, 2024
Merged

Conversation

MustafaJafar
Copy link
Contributor

Changelog Description

Move Houdini client code..
This is one more step towards splitting addons to their repos.

Additional info

  • Houdini addon in this PR works in dev mode. you'd need to set the addon directory to
    <your-ayon-core-clone>/server_addon/houdini/client
    
  • To create addon zip file, you can do any one of the following
  • Run python server_addon\create_ayon_addons.py --addon houdini
  • Copy create_package.py from Update create_package.py example-studio-addon#4 to <your-ayon-core-clone>/server_addon/houdini and Run it.

Additional info 2

I don't think that settings are applied correctly in the publish plugins.
Any advice are much appreciated.

Testing notes:

  1. Update the Houdini addon on server.
  2. Launch Houdini via ayon launcher
  3. Everything should work as usual
    • Create / Publish
    • Manage / Load
    • Work Files tool
    • etc

@ynbot
Copy link
Contributor

ynbot commented May 14, 2024

Task linked: AY-4916 Move Houdini client code

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.

Looks good. Tested successfully in Houdini with dev mode and build mode.

@MustafaJafar
Copy link
Contributor Author

MustafaJafar commented May 16, 2024

@iLLiCiTiT
each plugins category like (load, collect, validate, publish) doesn't have a parent abstract class.
So, I had to add settings_category = "houdini" to each plugin 9e86556.. I find it tedious.

Also, I faced a problem with ValidateContainers how can I add the settings_category to it.

are there other solutions ?

@iLLiCiTiT
Copy link
Member

Also, I faced a problem with ValidateContainers how can I add the settings_category to it.

So if I understand it correctly, the plugin lives in core, but houdin settings are applied to it. In that case please make a copy of the plugin in houdini and remove "houdini" from the hosts list inside core.

@BigRoy
Copy link
Collaborator

BigRoy commented May 17, 2024

So if I understand it correctly, the plugin lives in core, but houdin settings are applied to it. In that case please make a copy of the plugin in houdini and remove "houdini" from the hosts list inside core.

Note that this is also true for harmony, after effects, photoshop, maya - they all have settings for this validator it seems but no dedicated plug-in. I wonder if this isn't a case that might be better suited to use profiles instead?

@MustafaJafar
Copy link
Contributor Author

MustafaJafar commented May 23, 2024

Hello @moonyuet ,

can you resolve the conflict?

I've resolved the conflicts and merged latest develop.

should we wait for other PR related to setting_category in order to test this?

This PR should be working without other PRs as I added setting_category = "houdini" inside the publish plugins that have settings.
The other PR is discussing adding setting_category in a generalized way by implementing base classes so we don't have to add settings_category in each plugin.

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.

do another test around houdini, it doesn't hit any issue so far in my side.

@BigRoy
Copy link
Collaborator

BigRoy commented May 31, 2024

This PR should be working without other PRs as I added setting_category = "houdini" inside the publish plugins that have settings. The other PR is discussing adding setting_category in a generalized way by implementing base classes so we don't have to add settings_category in each plugin.

I made a PR #536 to this PR to add settings category for all plugins by default. The main reason creating such a PR is that I find it's so tedious to add settings_category = "houdini" to all publish plugins.

@MustafaJafar let's get those plugins in here similar to what happened in the Maya addon code move - just so we align the code style a bit - see the Maya PR and then do another test run.

@MustafaJafar
Copy link
Contributor Author

MustafaJafar commented May 31, 2024

After merging #536, this PR became aligned to the Maya PR.


I tested my PR and everything seems to function as it used to before this PR.
FYI, I see this warnings when publishing render to deadline.

*** WRN: >>> { AnatomyRoots }: [  No matching root was found in current setting.  ] 
*** WRN: >>> { farm_publishing }: [  Root from template path cannot be found: C:\Users\Mustafa Taher\AppData\Local\Ynput\AYON\addons\ayon_ocio_1.0.0\ayon_ocio\configs\OpenColorIOConfigs\aces_1.2\config.ocio  ] 

Also, a lot of warnings which is really annoying because they are printed to the Houdini console.

*** WRN: >>> { filter_pyblish_plugins }: [  Couldn't find plugin 'ExtractUSDLayered' settings under settings category 'houdini'  ] 
*** WRN: >>> { filter_pyblish_plugins }: [  Couldn't find plugin 'ExtractAss' settings under settings category 'houdini'  ] 
*** WRN: >>> { filter_pyblish_plugins }: [  Couldn't find plugin 'ExtractFBX' settings under settings category 'houdini'  ] 

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.

Do a simple test and looks good. I also tested to see if there is any issue with extract fbx as the log above shows the possibility of plugin being "disappeared" as it can't be found in the setting category but the extractor is still there and it doesn't cause the error on integrate.py.

@MustafaJafar
Copy link
Contributor Author

Thank you for your review.

I also tested to see if there is any issue with extract fbx as the log above shows the possibility of plugin being "disappeared" as it can't be found in the setting category

Also, for reference. that log is just a warning about there are no settings for that plugin.
The warning is coming from these lines. In my opinion, it should be tweaked.

if settings_category:
try:
return (
project_settings
[settings_category]
["publish"]
[plugin.__name__]
)
except KeyError:
log.warning((
"Couldn't find plugin '{}' settings"
" under settings category '{}'"
).format(plugin.__name__, settings_category))
return {}

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 did quick testst too, had a really quick look at the code (as quick as it can be with ~130 files changes).

@antirotor antirotor merged commit 750ad82 into develop Jun 3, 2024
3 checks passed
@antirotor antirotor deleted the chore/AY-4916_Move-Houdini-client-code branch June 3, 2024 11:59
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.

None yet

6 participants