From b0b1e3d632744b1c9dfb2c938d1d68207a17969a Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Thu, 6 May 2021 16:09:24 +0200 Subject: [PATCH 1/5] Changed template_name_profiles from raw-json to profiles in Settings for IntegrateNew Originally it was in Settings only as json. Standardized to profile approach. Resulted in slight change in integrate_new.py --- openpype/plugins/publish/integrate_new.py | 12 ++++++- .../defaults/project_settings/global.json | 15 ++++---- .../schemas/schema_global_publish.json | 34 +++++++++++++++++-- 3 files changed, 52 insertions(+), 9 deletions(-) diff --git a/openpype/plugins/publish/integrate_new.py b/openpype/plugins/publish/integrate_new.py index 19b12e953d0..f9f056cbc39 100644 --- a/openpype/plugins/publish/integrate_new.py +++ b/openpype/plugins/publish/integrate_new.py @@ -297,7 +297,17 @@ def register(self, instance): else: orig_transfers = list(instance.data['transfers']) - template_name = self.template_name_from_instance(instance) + task_name = io.Session.get("AVALON_TASK") + family = self.main_family_from_instance(instance) + + key_values = {"families": family, "tasks": task_name} + profile = filter_profiles(self.template_name_profiles, key_values, + logger=self.log) + if profile: + template_name = profile["template_name"] + else: + # fallback + template_name = self.template_name_from_instance(instance) published_representations = {} for idx, repre in enumerate(instance.data["representations"]): diff --git a/openpype/settings/defaults/project_settings/global.json b/openpype/settings/defaults/project_settings/global.json index 53a33339c91..84e3bcf52b3 100644 --- a/openpype/settings/defaults/project_settings/global.json +++ b/openpype/settings/defaults/project_settings/global.json @@ -116,19 +116,22 @@ ] }, "IntegrateAssetNew": { - "template_name_profiles": { - "publish": { + "template_name_profiles": [ + { "families": [], - "tasks": [] + "tasks": [], + "template_name": "publish" }, - "render": { + { "families": [ "review", "render", "prerender" - ] + ], + "tasks": [], + "template_name": "render" } - }, + ], "subset_grouping_profiles": [ { "families": [], diff --git a/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json b/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json index 8b0828be23b..534638ecc31 100644 --- a/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json +++ b/openpype/settings/entities/schemas/projects_schema/schemas/schema_global_publish.json @@ -420,9 +420,39 @@ "is_group": true, "children": [ { - "type": "raw-json", + "type": "list", "key": "template_name_profiles", - "label": "template_name_profiles" + "label": "Template name profiles", + "use_label_wrap": true, + "object_type": { + "type": "dict", + "children": [ + { + "type": "label", + "label": "" + }, + { + "key": "families", + "label": "Families", + "type": "list", + "object_type": "text" + }, + { + "key": "tasks", + "label": "Task names", + "type": "list", + "object_type": "text" + }, + { + "type": "separator" + }, + { + "type": "text", + "key": "template_name", + "label": "Template name" + } + ] + } }, { "type": "list", From 7b64b532fa592f4bfd5fe5dbfacb56b2909f9b28 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Fri, 7 May 2021 11:37:12 +0200 Subject: [PATCH 2/5] Removed unneeded funtion, it wouldn't work anyway --- openpype/plugins/publish/integrate_new.py | 65 ----------------------- 1 file changed, 65 deletions(-) diff --git a/openpype/plugins/publish/integrate_new.py b/openpype/plugins/publish/integrate_new.py index f9f056cbc39..9769f0d165c 100644 --- a/openpype/plugins/publish/integrate_new.py +++ b/openpype/plugins/publish/integrate_new.py @@ -305,9 +305,6 @@ def register(self, instance): logger=self.log) if profile: template_name = profile["template_name"] - else: - # fallback - template_name = self.template_name_from_instance(instance) published_representations = {} for idx, repre in enumerate(instance.data["representations"]): @@ -863,68 +860,6 @@ def main_family_from_instance(self, instance): family = instance.data["families"][0] return family - def template_name_from_instance(self, instance): - template_name = self.default_template_name - if not self.template_name_profiles: - self.log.debug(( - "Template name profiles are not set." - " Using default \"{}\"" - ).format(template_name)) - return template_name - - # Task name from session? - task_name = io.Session.get("AVALON_TASK") - family = self.main_family_from_instance(instance) - - matching_profiles = {} - highest_value = -1 - self.log.debug( - "Template name profiles:\n{}".format(self.template_name_profiles) - ) - for name, filters in self.template_name_profiles.items(): - value = 0 - families = filters.get("families") - if families: - if family not in families: - continue - value += 1 - - tasks = filters.get("tasks") - if tasks: - if task_name not in tasks: - continue - value += 1 - - if value > highest_value: - matching_profiles = {} - highest_value = value - - if value == highest_value: - matching_profiles[name] = filters - - if len(matching_profiles) == 1: - template_name = tuple(matching_profiles.keys())[0] - self.log.debug( - "Using template name \"{}\".".format(template_name) - ) - - elif len(matching_profiles) > 1: - template_name = tuple(matching_profiles.keys())[0] - self.log.warning(( - "More than one template profiles matched" - " Family \"{}\" and Task: \"{}\"." - " Using first template name in row \"{}\"." - ).format(family, task_name, template_name)) - - else: - self.log.debug(( - "None of template profiles matched" - " Family \"{}\" and Task: \"{}\"." - " Using default template name \"{}\"" - ).format(family, task_name, template_name)) - - return template_name - def get_rootless_path(self, anatomy, path): """ Returns, if possible, path without absolute portion from host (eg. 'c:\' or '/opt/..') From caff114406dd4c1cb4ce55f6762aa2a808706028 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Fri, 7 May 2021 11:44:46 +0200 Subject: [PATCH 3/5] Documentation for publish_plugins/global/IntegrateNew --- .../global_integrate_new_subset_group.png | Bin 0 -> 14789 bytes ...al_integrate_new_template_name_profile.png | Bin 0 -> 19053 bytes .../settings_project_global.md | 57 ++++++++++++++++-- 3 files changed, 51 insertions(+), 6 deletions(-) create mode 100644 website/docs/project_settings/assets/global_integrate_new_subset_group.png create mode 100644 website/docs/project_settings/assets/global_integrate_new_template_name_profile.png diff --git a/website/docs/project_settings/assets/global_integrate_new_subset_group.png b/website/docs/project_settings/assets/global_integrate_new_subset_group.png new file mode 100644 index 0000000000000000000000000000000000000000..92638984cc7bdcfef7d9991dc706087c7cc4a7ac GIT binary patch literal 14789 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 literal 0 HcmV?d00001 diff --git a/website/docs/project_settings/assets/global_integrate_new_template_name_profile.png b/website/docs/project_settings/assets/global_integrate_new_template_name_profile.png new file mode 100644 index 0000000000000000000000000000000000000000..8529761a50792f5a4f147c343208b7b96ee38941 GIT binary patch literal 19053 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 hKWlN7Pd>hqpgw$8Whq$%h Date: Fri, 7 May 2021 17:46:07 +0200 Subject: [PATCH 4/5] change default render template to use Family instead of explicit render --- openpype/settings/defaults/project_anatomy/templates.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openpype/settings/defaults/project_anatomy/templates.json b/openpype/settings/defaults/project_anatomy/templates.json index 2b16f59d017..63477b9d827 100644 --- a/openpype/settings/defaults/project_anatomy/templates.json +++ b/openpype/settings/defaults/project_anatomy/templates.json @@ -11,7 +11,7 @@ "path": "{@folder}/{@file}" }, "render": { - "folder": "{root[work]}/{project[name]}/{hierarchy}/{asset}/publish/render/{subset}/{@version}", + "folder": "{root[work]}/{project[name]}/{hierarchy}/{asset}/publish/{family}/{subset}/{@version}", "file": "{project[code]}_{asset}_{subset}_{@version}<_{output}><.{@frame}>.{ext}", "path": "{@folder}/{@file}" }, From ea8f093d351611a07471281f5e4b215e6fe67187 Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Fri, 7 May 2021 18:48:04 +0200 Subject: [PATCH 5/5] change instance to subset and fix some typos --- .../settings_project_global.md | 49 ++++++++++--------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/website/docs/project_settings/settings_project_global.md b/website/docs/project_settings/settings_project_global.md index 235a5064825..4fee57d5758 100644 --- a/website/docs/project_settings/settings_project_global.md +++ b/website/docs/project_settings/settings_project_global.md @@ -13,39 +13,40 @@ Project settings can have project specific values. Each new project is using stu Projects always use default project values unless they have [project override](../admin_settings#project-overrides) (orage colour). Any changes in default project may affect all existing projects. ::: -## Publish plugins - -Publish plugins used across all integrations. +## Profile filters -**Profile filters** +Many of the settings are using a concept of **Profile filters** -Many of the plugins are using a concept of **Profile filters** - -You can define multiple profiles to choose from for different contexts. Each filter is evaluated for a profile and +You can define multiple profiles to choose from for different contexts. Each filter is evaluated and a profile with filters matching the current context the most, is used. -You can define profile without filters and use it as **default**. +You can define profile without any filters and use it as **default**. -Only **one or none** profile will be returned per instance. +Only **one or none** profile will be returned per context. All context filters are lists which may contain strings or Regular expressions (RegEx). - **`hosts`** - Host from which publishing was triggered. `["maya", "nuke"]` -- **`families`** - Main family of processed instance. `["plate", "model"]` -- **`tasks`** - Task of processed instance. `["modeling", "animation"]` +- **`families`** - Main family of processed subset. `["plate", "model"]` +- **`tasks`** - Currently processed task. `["modeling", "animation"]` :::important Filtering Filters are optional. In case when multiple profiles match current context, profile with higher number of matched filters has higher priority that profile without filters. -(Eg. order of when filter is added doesn't matter only precision of matching does.) +(Eg. order of when filter is added doesn't matter, only the precision of matching does.) ::: +## Publish plugins + +Publish plugins used across all integrations. + + ### Extract Review Plugin responsible for automatic FFmpeg conversion to variety of formats. -Extract review is using [profile filtering](#profile_filters) to be able render different outputs for different situations. +Extract review is using [profile filtering](#profile-filters) to be able render different outputs for different situations. Applicable context filters: **`hosts`** - Host from which publishing was triggered. `["maya", "nuke"]` -- **`families`** - Main family of processed instance. `["plate", "model"]` +- **`families`** - Main family of processed subset. `["plate", "model"]` ![global_extract_review_profiles](assets/global_extract_review_profiles.png) @@ -82,32 +83,32 @@ Profile may generate multiple outputs from a single input. Each output must defi ### IntegrateAssetNew -Saves information for all published instances into DB, published assets are available for other hosts, tools and tasks after. +Saves information for all published subsets into DB, published assets are available for other hosts, tools and tasks after. #### Template name profiles -Allows to select [anatomy variant](admin_settings_project_anatomy.md#templates) based on context of processed published instance. +Allows to select [anatomy template](admin_settings_project_anatomy.md#templates) based on context of subset being published. -For example for `render` profile you want to publish and store assets in different location (based on anatomy setting) then for `publish` profile. -[Profile filtering](#profile_filters) is used to select between appropriate template for each context of published instances. +For example for `render` profile you might want to publish and store assets in different location (based on anatomy setting) then for `publish` profile. +[Profile filtering](#profile-filters) is used to select between appropriate template for each context of published subsets. Applicable context filters: - **`hosts`** - Host from which publishing was triggered. `["maya", "nuke"]` -- **`tasks`** - Task of processed instance. `["modeling", "animation"]` +- **`tasks`** - Current task. `["modeling", "animation"]` ![global_integrate_new_template_name_profile](assets/global_integrate_new_template_name_profile.png) -(This image shows use case where `render` anatomy template is used for instances of families ['review,'render', 'prerender'], `publish` template is chosen for all other.) +(This image shows use case where `render` anatomy template is used for subsets of families ['review, 'render', 'prerender'], `publish` template is chosen for all other.) #### Subset grouping profiles -Published instances might be grouped together for cleaner and easier selection in some loader tools (in [Loader](#artist_tools#subset-groups) for example) +Published subsets might be grouped together for cleaner and easier selection in **[Loader](artist_tools.md#subset-groups)** -Group name is chosen with use of [profile filtering](#profile_filters) +Group name is chosen with use of [profile filtering](#profile-filters) Applicable context filters: -- **`families`** - Main family of processed instance. `["plate", "model"]` +- **`families`** - Main family of processed subset. `["plate", "model"]` - **`hosts`** - Host from which publishing was triggered. `["maya", "nuke"]` -- **`tasks`** - Task of processed instance. `["modeling", "animation"]` +- **`tasks`** - Current task. `["modeling", "animation"]` ![global_integrate_new_template_name_profile](assets/global_integrate_new_subset_group.png)