3.17.7
🆕 New features
AYON: Use folder path as unique identifier #5817
Use folder path instead of asset name as unique identifier, with OpenPype compatibility.
Houdini: Farm caching submission to Deadline #4903
Implements functionality to offload instances of the specific families to be processed on Deadline instead of locally. This increases productivity as artist can use local machine could be used for other tasks.Implemented for families:
- ass
- redshift proxy
- ifd
- abc
- bgeo
- vdb
Houdini: Add support to split Deadline render tasks in export + render #5420
This adds initial support in Houdini so when submitting render jobs to Deadline it's not running as a single Houdini task but rather it gets split in two different tasks: Export + Render. This way it's more efficient as we only need a Houdini license during the export step and the render tasks can run exclusively with a render license. Moreover, we aren't wasting all the overhead time of opening the render scene in Houdini for every frame.I have also added the corresponding settings json files so we can set some of the default values for the Houdini deadline submitter.
Wrap: new integration #5823
These modifications are necessary for adding Wrap integration (DCC handling scans and textures) .
AYON: Prepare for 'data' via graphql #5923
AYON server does support to query 'data' field for hierarchy entities (project > ... > representation) using GraphQl since version 0.5.5. Because of this PR in ayon-python-api it is required to modify custom graphql function in openpype.client
to support that option.
Chore AYON: AYON addon class #5937
Introduced base class for AYON addon in openpype modules discovery logic.
Asset Usage Reporter Tool #5946
This adds simple tool for OpenPype mode that will go over all published workfiles and print linked assets and their version:This is created per project and can be exported in csv file or copied to clipboard in "ASCII Human readable form".
Testing: dump_databases flag #5955
This introduces a dump_databases
flag which makes it convenient to output the resulting database of a successful test run. The flag supports two formats; bson
and json
.Due to outputting to the test data folder, when dumping the databases, the test data folder will persist.Split from #5644
SiteSync: implemented in Ayon Loader #5962
Implemented Availability
column in Ayon loader and redo of loaders to ActionItems
in representation window there.
AYON: Workfile template build works #5975
Modified workfile template builder to work, to some degree, in AYON mode.
🚀 Enhancements
Maya: Small Tweaks on Validator for Look Default Shader Connection for Maya 2024 #5957
Resolve #5269
Settings: Changes in default settings #5983
We've made some changes in the default settings as several application versions were obsolete (Maya 18, Nuke 11, PS 2020, etc). Also added tools and changed settings for Blender, Maya, and Blender.
All should work as usual.
Testing: Do not persist data by default in Maya/Deadline. #5987
This is similar to the Maya publishing test.
Max: Validate loaded plugins tweaks #5820
In the current development of 3dsMax, users need to use separate validators to validate if certain plugins being loaded before the extraction. For example, usd extractor in model family, prt/tycache extractor in pointcloud/tycache family.But with the PR where implements optional validate loaded plugin, users just need to put what kind of plugins they want to validate in the settings. They no longer need to go through all the separate plugin validators when publishing, and only one validator would do all the check on the loaded plugins before extraction.
Nuke: Change context label enhancement #5887
Use QAction to change label of context label in Nuke pipeline menu.
Chore: Do not use template data as source for context #5918
Use available information on context to receive context data instead of using "anatomyData"
during publishing.
Houdini: Add python3.10 libs for Houdini 20 startup #5932
Add python3.10 libs for Houdini 20 startup
Ftrack: rewriting component creation to support multiple thumbnails #5939
The creation of Ftrack components needs to allow for multiple thumbnails. This is important in situations where there could be several reviewable streams, like in the case of a nuke intermediate files preset. Customers have asked for unique thumbnails for each data stream.For instance, one stream might contain a baked LUT file along with Display and View. Another stream might only include the baked Display and View. These variations can change the overall look. Thus, we found it necessary to depict these differences via thumbnails.
Nuke: Explicit Thumbnail workflow #5941
Nuke made a shift from using its own plugin to a global one for thumbnail creation. This was because it had to handle several thumbnail workflows for baking intermediate data streams. To manage this, the global plugin had to be upgraded. Now, each baking stream can set a unique tag 'need_thumbnail'. This tag is used to mark representations that need a thumbnail.
Global: extract thumbnail with new settings #5944
Settings are now configurable for the following:
- target size of thumbnail - source or constrained to specific
- where should be frame taken from in sequence or video file
- if thumbnail should be integrated or not
- background color for letter boxes
- added AYON settings
RoyalRender: inject submitter environment to the royal render job #5958
This is an attempt to solve runtime environment injection for render jobs in RoyalRender as there is no easy way to implement something like GlobalJobPreload
logic in Deadline. Idea is to inject OpenPype environments directly to the job itself.
General: Use manual thumbnail if present when publishing #5969
Use manual thumbnail added to the publisher instead of using it from published representation.
AYON: Change of server url should work as expected #5971
Using login action in tray menu to change server url should correctly start new process without issues of missing bundle or previous url.
AYON: make sure the AYON menu bar in 3dsMax is named AYON when AYON launches #5972
Renaming the menu bar in 3dsMax for AYON and some cosmetic fix in the docstring
Hiero: custom tools menu rename #5976
- OpenPype Tools are now Custom Tools menu
- fixing order of tools. Create should be first.
nuke: updating name for custom tools menu item #5977
- Ayon variant of settings renamed
Custom Tools
menu item
Blender: Changed the labels for Layout JSON Extractor #5981
Changed the labels for Blender's Layout JSON Extractor.
Testing: Skip Arnold license for test rendering. #5984
Skip license check when rendering for testing.
Testing: Validate errors and failed status from Deadline jobs. #5986
While waiting for the Deadline jobs to finish, we query the errors on the job and its dependent jobs to fail as early as possible. Plus the failed status.
AYON: rename Openpype Tools as Custom Tools in Maya Host #5991
Rename Openpype Tools as Custom Tools in Maya Host in
AYON: Use AYON label in ayon mode #5995
Replaced OpenPype with AYON in AYON mode and added bundle nam to information.
Max: Add missing repair action in validate resolution setting #6014
Add missing repair action for validate resolution setting
Add the AYON/OP settings to enable extractor for model family in 3dsmax #6027
Add the AYON/OP settings to enable extractor for model family in 3dsmax
Bugfix: Fix error message formatting if ayon executable can't be found by deadline #6028
Without this fix the error message would report executables string with ;
between EACH character, similar to this PR: https://github.com/ynput/OpenPype/pull/5815However that PR apparently missed also fixing it in GlobalJobPreLoad
and only fixed it in Ayon.py
plugin.
Show slightly different info in AYON mode #6031
This PR changes what is shown in Tray menu in AYON mode. Previously, it showed version of OpenPype that is very confusing in AYON mode. So this now shows AYON version instead. When clicked, it will opene AYON info window, where OpenPype version is now added, for debugging purposes.
AYON Editorial: Hierarchy context have names as keys #6041
Use folder name as keys in hierarchyContext
and modify hierachy extraction accordingly.
🐛 Bug fixes
Maya: Render creation - fix broken imports #5893
Maya specific imports were moved to specific methods but not in all cases by #5775. This is just quickly restoring functionality without questioning that decision.
Maya: fix crashing model renderset collector #5929
This fix is handling case where model is in some type of render sets but no other connections are made there. Publishing this model would fail with RuntimeError: Found no items to list the history for.
Maya: Remove duplicated attributes of MTOA verbosity level #5945
Remove duplicated attributes implementation mentioned in #5931 (comment)
Maya: Bug fix Redshift Proxy not being successfully published #5956
Bug fix redshift proxy family not being successfully published due to the error found in integrate.py
Maya: Bug fix load image for texturesetMain #6011
Bug fix load image with file node for texturesetMain
Maya: bug fix the repair function in validate_rendersettings #6021
Fusion: Render avoid unhashable type `BlackmagicFusion.PyRemoteObject` error #5672
Fix Fusion 18.6+ support: Avoid issues with Fusion's BlackmagicFusion.PyRemoteObject
instances being unhashable.
Nuke: Validate Nuke Write Nodes refactor to use variable `node_value` instead of `value` #5764
Nuke: Validate Nuke Write Nodes refactor to use variable node_value
instead of value
The variable value
only exists as the last variable value in the for value in values
loop and might not be declared if values
is an empty iterable.
resolve: fixing loader handles calculation #5863
Resolve was not correctly calculating duration of database related duration.
Chore: Staging mode determination #5895
Resources use is_staging_enabled
function instead of is_running_staging
to determine if should use staging icon. And fixed comparison bug in is_running_staging
.
AYON: Handle staging templates category #5905
Staging anatomy templates category is handled during project templates conversion. The keys are stored into others
with "staging_"
prefix.
Max: fix the subset name not changing accordingly after the variant name changes #5911
Resolve #5902
AYON: Loader tool bugs hunt #5915
Fix issues with invalid representation ids in loaded containers and handle missing product type in server database.
Maya: Supports for additional Job Info and Plugin Info in deadline submission #5931
This PR is to resolve some of the attributes such as MTOA's ArnoldVerbose
are not preserved on farm and users can use the project settings to add the attributes back to either job or plugin Info.
Bugfix: Houdini license validator missing families #5934
Adding missing families to Houdini license validator.
TrayPublisher: adding back `asset_doc` variable #5943
Returning variable which had been removed accidentally in previous PR.
Blender: Fix Deadline Frames per task #5949
Fixed a problem with Frames per task setting not being applied when publishing a render.
Testing: Fix is_test_failed #5951
is_test_failed
is used (exclusively) on module fixtures to determine whether the tests have failed or not. This determines whether to run tear down code like cleaning up the database and temporary files.But in the module scope request.node.rep_call
is not available, which results in is_test_failed
always returning True
, and no tear down code get executed.The solution was taken from; pytest-dev/pytest#5090
Harmony: Fix local rendering #5953
Local rendering was throwing warning about license, but didn't fail per se. It just didn't produce anything.
Testing: hou module should be within class code. #5954
hou
module should be within the class code else we'll get pyblish errors from needing to skip the plugin.
Maya: Add Label to MayaUSDReferenceLoader #5964
As the create placeholder dialog displays the two distinct loaders with the same name, this PR is to distinguish Maya USD Reference Loaders from the loaders of which inherited from. See the screenshot below:
Max: Bug fix the resolution not being shown correctly in review burnin #5965
The resolution is not being shown correctly in review burnin
AYON: Fix thumbnail integration #5970
Thumbnail integration could cause crash of server if thumbnail id was changed for the same entity id multiple times. Modified the code to avoid that issue.
Photoshop: Fix removed unsupported Path #5996
Path is not json serializable by default, it is not necessary, better model reused.
AYON: Prepare functions for newer ayon-python-api #5997
Newer ayon python api will add new filtering options or change order of existing. Kwargs are used in client code to prevent issues on update.
AYON: Conversion of the new playblast settings in Maya #6000
Conversion of the new playblast settings in Maya
AYON: Bug fix for loading Mesh in Substance Painter as new project not working #6004
Substance Painter in AYON can't load mesh for creating a new project
Deadline: correct webservice couldn't be selected in Ayon #6007
Changed the Setting model to mimic more OP approach as it needs to live together for time being.
Ftrack: multiple reviewable components missing variable #6013
Missing variable in code for editorial publishing in traypublisher.
TVPaint: Expect legacy instances in metadata #6015
Do not expect "workfileInstances"
constains only new type instance data with creator_identifier
.
Revert `extractenvironments` behaviour #6020
This is returning original behaviour of extractenvironments
command from before #5958 so we restore functionality.
OP-7535 - Fix renaming composition in AE #6025
Removing of render
instance caused renaming of composition to dummyComp
which caused issue in publishing in next attempt.This PR stores original composition name(cleaned up for product name creation) and uses it if instance needs to be removed.
Refactor code to skip instance creation for new assets #6029
Publishing effects from hiero during editorial publish is working as expected again.
Refactor code to handle missing "representations" key in instance data #6032
Minor code change for optimisation of thumbnail workflow.
Traypublisher: editorial preserve clip case sensitivity #6036
Keep EDL clip name inheritance with case sensitivity.
Bugfix/add missing houdini settings #6039
add missing settings. now, it looks like this:| Ayon | OpenPype || -- | -- | | | || | |
🔀 Refactored code
Maya: Remove RenderSetup layer observers #5836
Remove RenderSetup layer observers that are not needed since new publisher since Renderlayer Creators manage these themselves on Collect and Save/Update of instances.
Merged pull requests
Tests: Removed render instance #6026
This test was created as simple model and workfile publish, without Deadline rendering. Cleaned up render elements.
Tests: update after thumbnail default change #6040
#5944 changed default state of integration of Thumbnails to NOT integrate. This PR updates automatic tests to follow that.
Houdini: Remove legacy LOPs USD output processors #5861
Remove unused/broken legacy code for Houdini Solaris USD LOPs output processors. The code was originally written in Avalon, against early Houdini 18 betas which had a different API for output processors and thus the current state doesn't even work in recent versions of Houdini.
Ayon: Updated name of Adobe extension to Ayon #5992
This changes name in menu in Adobe extensions to Ayon.
Chore/houdini update startup log #6003
print Installing AYON ...
on startup when launching houdini from launcher in ayon mode.also update submenu to ayon_menu
instead of openpype_menu
Revert "Ayon: Updated name of Adobe extension to Ayon" #6010
Reverts #5992
That PR is only applicable to Ayon.
Standalone/Tray Publisher: Remove simple Unreal texture publishing #6012
We are removing simple Unreal Texture publishing that was just renaming texture files to fit to Unreal naming conventions but without any additional functionality. We might return this functionality back with better texture publishing system.Related to #5983
Deadline: Bump version because of Settings changes for Deadline #6023
Change ASCII art in the Console based on the server mode #6030
This changes ASCII art in the console based on the AYON/OpenPype mode