From 584c8db1031c22a05cc404f71dde7ae0d779c56d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Marinov?= Date: Fri, 28 Jan 2022 00:21:52 +0100 Subject: [PATCH 01/12] Added missing family_mapping dict --- .../schema_project_ftrack.json | 1517 +++++++++-------- 1 file changed, 769 insertions(+), 748 deletions(-) diff --git a/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json b/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json index e50e269695..86c8b14747 100644 --- a/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json +++ b/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json @@ -1,750 +1,771 @@ { - "type": "dict", - "key": "ftrack", - "label": "Ftrack", - "collapsible": true, - "is_file": true, - "children": [ - { - "type": "dict", - "key": "events", - "label": "Server Actions/Events", - "children": [ - { - "type": "dict", - "key": "sync_to_avalon", - "label": "Sync to avalon", - "children": [ - { - "type": "label", - "label": "Allow name and hierarchy change only if following statuses are on all children tasks" - }, - { - "type": "list", - "key": "statuses_name_change", - "label": "Statuses", - "object_type": { - "type": "text", - "multiline": false - } - } - ] - }, - { - "type": "dict", - "key": "prepare_project", - "label": "Prepare Project", - "checkbox_key": "enabled", - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "type": "list", - "key": "role_list", - "label": "Roles", - "object_type": "text" - } - ] - }, - { - "type": "dict", - "key": "sync_hier_entity_attributes", - "label": "Sync Hierarchical and Entity Attributes", - "checkbox_key": "enabled", - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "type": "list", - "key": "interest_entity_types", - "label": "Entity types of interest", - "object_type": { - "type": "text", - "multiline": false - } - }, - { - "type": "list", - "key": "interest_attributes", - "label": "Attributes to sync", - "object_type": { - "type": "text", - "multiline": false - } - }, - { - "type": "separator" - }, - { - "type": "boolean", - "key": "action_enabled", - "label": "Enable Action" - }, - { - "type": "list", - "key": "role_list", - "label": "Roles for action", - "object_type": "text" - } - ] - }, - { - "type": "dict", - "key": "clone_review_session", - "label": "Clone Review Session", - "checkbox_key": "enabled", - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "type": "list", - "key": "role_list", - "label": "Roles for action", - "object_type": "text" - } - ] - }, - { - "type": "dict", - "key": "thumbnail_updates", - "label": "Update Hierarchy thumbnails", - "checkbox_key": "enabled", - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "type": "label", - "label": "Push thumbnail from version, up through multiple hierarchy levels." - }, - { - "type": "number", - "key": "levels", - "label": "Levels" - } - ] - }, - { - "type": "dict", - "key": "user_assignment", - "label": "Run script on user assignments", - "checkbox_key": "enabled", - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - } - ] - }, - { - "type": "dict", - "key": "status_update", - "label": "Update status on task action", - "is_group": true, - "checkbox_key": "enabled", - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "key": "mapping", - "type": "dict-modifiable", - "object_type": { - "type": "list", - "object_type": "text" - } - } - ] - }, - { - "type": "dict", - "key": "status_task_to_parent", - "label": "Sync status from Task to Parent", - "checkbox_key": "enabled", - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "type": "label", - "label": "List of parent object types where this is triggered (\"Shot\", \"Asset Build\", etc.). Skipped if list is empty." - }, - { - "type": "list", - "object_type": "text", - "key": "parent_object_types", - "label": "Object types" - }, - { - "key": "parent_status_match_all_task_statuses", - "type": "dict-modifiable", - "label": "Change parent if all tasks match", - "object_type": { - "type": "list", - "object_type": "text" - } - }, - { - "type": "list", - "key": "parent_status_by_task_status", - "label": "Change parent status if a single task matches", - "use_label_wrap": true, - "object_type": { - "type": "dict", - "children": [ - { - "type": "text", - "label": "New parent status", - "key": "new_status" - }, - { - "type": "separator" - }, - { - "type": "list", - "label": "Task status", - "key": "task_statuses", - "object_type": "text" - } - ] - } - } - ] - }, - { - "type": "dict", - "key": "status_task_to_version", - "label": "Sync status from Task to Version", - "is_group": true, - "checkbox_key": "enabled", - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "type": "dict-modifiable", - "key": "mapping", - "object_type": - { - "type": "list", - "object_type": "text" - } - }, - { - "type": "label", - "label": "Limit status changes to entered asset types. Limitation is ignored if nothing is entered." - }, - { - "type": "list", - "key": "asset_types_filter", - "label": "Asset types (short)", - "object_type": "text" - } - ] - }, - { - "type": "dict", - "key": "status_version_to_task", - "label": "Sync status from Version to Task", - "is_group": true, - "checkbox_key": "enabled", - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "type": "label", - "label": "Change Task status based on a changed Version status.
Version's new status on the left will trigger a change of a task status to the first available from the list on right.
- if no status from the list is available it will use the same status as the version." - }, - { - "type": "dict-modifiable", - "key": "mapping", - "object_type": { - "type": "list", - "object_type": "text" - } - }, - { - "type": "separator" - }, - { - "type": "label", - "label": "Disable event if status was changed on specific Asset type." - }, - { - "type": "list", - "label": "Asset types (short)", - "key": "asset_types_to_skip", - "object_type": "text" - } - ] - }, - { - "type": "dict", - "key": "first_version_status", - "label": "Set status on first created version", - "checkbox_key": "enabled", - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "type": "text", - "key": "status", - "label": "Status" - } - ] - }, - { - "type": "dict", - "key": "next_task_update", - "is_group": true, - "label": "Update status on next task", - "checkbox_key": "enabled", - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "type": "label", - "label": "Change status on next task by task types order when task status state changed to \"Done\". All tasks with same Task type must be \"Done\"." - }, - { - "type": "label", - "label": "Mapping of next task status changes From -> To." - }, - { - "type": "dict-modifiable", - "key": "mapping", - "object_type": { - "type": "text" - } - }, - { - "type": "separator" - }, - { - "type": "label", - "label": "Status names that are ignored on \"Done\" check (e.g. \"Omitted\")." - }, - { - "type": "list", - "key": "ignored_statuses", - "object_type": "text" - }, - { - "type": "separator" - }, - { - "type": "label", - "label": "Allow to break rule that all tasks with same Task type must be \"Done\" and change statuses with same type tasks ordered by name." - }, - { - "label": "Name sorting", - "type": "boolean", - "key": "name_sorting" - } - ] - } - ] - }, - { - "type": "dict", - "key": "user_handlers", - "label": "User Actions/Events", - "children": [ - { - "type": "dict", - "key": "application_launch_statuses", - "is_group": true, - "label": "Application - Status change on launch", - "checkbox_key": "enabled", - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "type": "label", - "label": "Do not change status if current status is:" - }, - { - "type": "list", - "key": "ignored_statuses", - "object_type": "text" - }, - { - "type": "label", - "label": "Change task's status to left side if current task status is in list on right side." - }, - { - "type": "dict-modifiable", - "key": "status_change", - "object_type": { - "type": "list", - "object_type": "text" - } - } - ] - }, - { - "type": "dict", - "key": "create_update_attributes", - "label": "Create/Update Avalon Attributes", - "children": [ - { - "type": "list", - "key": "role_list", - "label": "Roles", - "object_type": "text" - } - ] - }, - { - "type": "dict", - "key": "prepare_project", - "label": "Prepare Project", - "checkbox_key": "enabled", - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "type": "list", - "key": "role_list", - "label": "Roles", - "object_type": "text" - }, - { - "type": "separator" - }, - { - "type": "label", - "label": "Check \"Create project structure\" by default" - }, - { - "type": "boolean", - "key": "create_project_structure_checked", - "label": "Checked" - } - ] - }, - { - "type": "dict", - "key": "clean_hierarchical_attr", - "label": "Clean hierarchical custom attributes", - "checkbox_key": "enabled", - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "type": "list", - "key": "role_list", - "label": "Roles", - "object_type": "text" - } - ] - }, - { - "type": "dict", - "key": "delete_asset_subset", - "label": "Delete Asset/Subsets", - "checkbox_key": "enabled", - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "type": "list", - "key": "role_list", - "label": "Roles", - "object_type": "text" - } - ] - }, - { - "type": "dict", - "key": "delete_old_versions", - "label": "Delete old versions", - "checkbox_key": "enabled", - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "type": "list", - "key": "role_list", - "label": "Roles", - "object_type": "text" - } - ] - }, - { - "type": "dict", - "key": "delivery_action", - "label": "Delivery", - "checkbox_key": "enabled", - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "type": "list", - "key": "role_list", - "label": "Roles", - "object_type": "text" - } - ] - }, - { - "type": "dict", - "key": "store_thubmnail_to_avalon", - "label": "Store Thumbnails to avalon", - "checkbox_key": "enabled", - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "type": "list", - "key": "role_list", - "label": "Roles", - "object_type": "text" - } - ] - }, - { - "type": "dict", - "key": "job_killer", - "label": "Job Killer", - "checkbox_key": "enabled", - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "type": "list", - "key": "role_list", - "label": "Roles", - "object_type": "text" - } - ] - }, - { - "type": "dict", - "key": "sync_to_avalon_local", - "label": "Sync to avalon (local) - For development", - "checkbox_key": "enabled", - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "type": "list", - "key": "role_list", - "label": "Roles", - "object_type": "text" - } - ] - }, - { - "type": "dict", - "key": "seed_project", - "label": "Seed Debug Project", - "checkbox_key": "enabled", - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "type": "list", - "key": "role_list", - "label": "Roles", - "object_type": "text" - } - ] - } - ] - }, - { - "type": "dict", - "collapsible": true, - "key": "publish", - "label": "Publish plugins", - "children": [ - { - "type": "dict", - "collapsible": true, - "checkbox_key": "enabled", - "key": "CollectFtrackFamily", - "label": "Collect Ftrack Family", - "is_group": true, - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "type": "list", - "collapsible": true, - "key": "profiles", - "label": "Profiles", - "use_label_wrap": true, - "object_type": { - "type": "dict", - "children": [ - { - "key": "hosts", - "label": "Host names", - "type": "list", - "object_type": "text" - }, - { - "key": "families", - "label": "Families", - "type": "list", - "object_type": "text" - }, - { - "key": "task_types", - "label": "Task types", - "type": "task-types-enum" - }, - { - "key": "tasks", - "label": "Task names", - "type": "list", - "object_type": "text" - }, - { - "type": "separator" - }, - { - "key": "add_ftrack_family", - "label": "Add Ftrack Family", - "type": "boolean" - }, - { - "type": "list", - "collapsible": true, - "key": "advanced_filtering", - "label": "Advanced adding if additional families present", - "use_label_wrap": true, - "object_type": { - "type": "dict", - "children": [ - { - "key": "families", - "label": "Additional Families", - "type": "list", - "object_type": "text" - }, - { - "key": "add_ftrack_family", - "label": "Add Ftrack Family", - "type": "boolean" - } - ] - } - } - ] - } - } - ] - }, - { - "type": "dict", - "collapsible": true, - "checkbox_key": "enabled", - "key": "IntegrateFtrackNote", - "label": "IntegrateFtrackNote", - "is_group": true, - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "type": "text", - "key": "note_with_intent_template", - "label": "Note with intent template" - }, - { - "type": "list", - "object_type": "text", - "key": "note_labels", - "label": "Note labels" - } - ] - }, - - { - "type": "dict", - "collapsible": true, - "checkbox_key": "enabled", - "key": "ValidateFtrackAttributes", - "label": "ValidateFtrackAttributes", - "is_group": true, - "children": [ - { - "type": "boolean", - "key": "enabled", - "label": "Enabled" - }, - { - "type": "raw-json", - "key": "ftrack_custom_attributes", - "label": "Custom attributes to validate" - } - ] - } - ] - } - ] + "type" : "dict", + "key" : "ftrack", + "label" : "Ftrack", + "collapsible" : true, + "is_file" : true, + "children" : [ + { + "type" : "dict", + "key" : "events", + "label" : "Server Actions/Events", + "children" : [ + { + "type" : "dict", + "key" : "sync_to_avalon", + "label" : "Sync to avalon", + "children" : [ + { + "type" : "label", + "label" : "Allow name and hierarchy change only if following statuses are on all children tasks" + }, + { + "type" : "list", + "key" : "statuses_name_change", + "label" : "Statuses", + "object_type" : { + "type" : "text", + "multiline" : false + } + } + ] + }, + { + "type" : "dict", + "key" : "prepare_project", + "label" : "Prepare Project", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "sync_hier_entity_attributes", + "label" : "Sync Hierarchical and Entity Attributes", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "interest_entity_types", + "label" : "Entity types of interest", + "object_type" : { + "type" : "text", + "multiline" : false + } + }, + { + "type" : "list", + "key" : "interest_attributes", + "label" : "Attributes to sync", + "object_type" : { + "type" : "text", + "multiline" : false + } + }, + { + "type" : "separator" + }, + { + "type" : "boolean", + "key" : "action_enabled", + "label" : "Enable Action" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles for action", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "clone_review_session", + "label" : "Clone Review Session", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles for action", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "thumbnail_updates", + "label" : "Update Hierarchy thumbnails", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "label", + "label" : "Push thumbnail from version, up through multiple hierarchy levels." + }, + { + "type" : "number", + "key" : "levels", + "label" : "Levels" + } + ] + }, + { + "type" : "dict", + "key" : "user_assignment", + "label" : "Run script on user assignments", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + } + ] + }, + { + "type" : "dict", + "key" : "status_update", + "label" : "Update status on task action", + "is_group" : true, + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "key" : "mapping", + "type" : "dict-modifiable", + "object_type" : { + "type" : "list", + "object_type" : "text" + } + } + ] + }, + { + "type" : "dict", + "key" : "status_task_to_parent", + "label" : "Sync status from Task to Parent", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "label", + "label" : "List of parent object types where this is triggered (\"Shot\", \"Asset Build\", etc.). Skipped if list is empty." + }, + { + "type" : "list", + "object_type" : "text", + "key" : "parent_object_types", + "label" : "Object types" + }, + { + "key" : "parent_status_match_all_task_statuses", + "type" : "dict-modifiable", + "label" : "Change parent if all tasks match", + "object_type" : { + "type" : "list", + "object_type" : "text" + } + }, + { + "type" : "list", + "key" : "parent_status_by_task_status", + "label" : "Change parent status if a single task matches", + "use_label_wrap" : true, + "object_type" : { + "type" : "dict", + "children" : [ + { + "type" : "text", + "label" : "New parent status", + "key" : "new_status" + }, + { + "type" : "separator" + }, + { + "type" : "list", + "label" : "Task status", + "key" : "task_statuses", + "object_type" : "text" + } + ] + } + } + ] + }, + { + "type" : "dict", + "key" : "status_task_to_version", + "label" : "Sync status from Task to Version", + "is_group" : true, + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "dict-modifiable", + "key" : "mapping", + "object_type" : { + "type" : "list", + "object_type" : "text" + } + }, + { + "type" : "label", + "label" : "Limit status changes to entered asset types. Limitation is ignored if nothing is entered." + }, + { + "type" : "list", + "key" : "asset_types_filter", + "label" : "Asset types (short)", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "status_version_to_task", + "label" : "Sync status from Version to Task", + "is_group" : true, + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "label", + "label" : "Change Task status based on a changed Version status.
Version's new status on the left will trigger a change of a task status to the first available from the list on right.
- if no status from the list is available it will use the same status as the version." + }, + { + "type" : "dict-modifiable", + "key" : "mapping", + "object_type" : { + "type" : "list", + "object_type" : "text" + } + }, + { + "type" : "separator" + }, + { + "type" : "label", + "label" : "Disable event if status was changed on specific Asset type." + }, + { + "type" : "list", + "label" : "Asset types (short)", + "key" : "asset_types_to_skip", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "first_version_status", + "label" : "Set status on first created version", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "text", + "key" : "status", + "label" : "Status" + } + ] + }, + { + "type" : "dict", + "key" : "next_task_update", + "is_group" : true, + "label" : "Update status on next task", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "label", + "label" : "Change status on next task by task types order when task status state changed to \"Done\". All tasks with same Task type must be \"Done\"." + }, + { + "type" : "label", + "label" : "Mapping of next task status changes From -> To." + }, + { + "type" : "dict-modifiable", + "key" : "mapping", + "object_type" : { + "type" : "text" + } + }, + { + "type" : "separator" + }, + { + "type" : "label", + "label" : "Status names that are ignored on \"Done\" check (e.g. \"Omitted\")." + }, + { + "type" : "list", + "key" : "ignored_statuses", + "object_type" : "text" + }, + { + "type" : "separator" + }, + { + "type" : "label", + "label" : "Allow to break rule that all tasks with same Task type must be \"Done\" and change statuses with same type tasks ordered by name." + }, + { + "label" : "Name sorting", + "type" : "boolean", + "key" : "name_sorting" + } + ] + } + ] + }, + { + "type" : "dict", + "key" : "user_handlers", + "label" : "User Actions/Events", + "children" : [ + { + "type" : "dict", + "key" : "application_launch_statuses", + "is_group" : true, + "label" : "Application - Status change on launch", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "label", + "label" : "Do not change status if current status is:" + }, + { + "type" : "list", + "key" : "ignored_statuses", + "object_type" : "text" + }, + { + "type" : "label", + "label" : "Change task's status to left side if current task status is in list on right side." + }, + { + "type" : "dict-modifiable", + "key" : "status_change", + "object_type" : { + "type" : "list", + "object_type" : "text" + } + } + ] + }, + { + "type" : "dict", + "key" : "create_update_attributes", + "label" : "Create/Update Avalon Attributes", + "children" : [ + { + "type" : "list", + "key" : "role_list", + "label" : "Roles", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "prepare_project", + "label" : "Prepare Project", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles", + "object_type" : "text" + }, + { + "type" : "separator" + }, + { + "type" : "label", + "label" : "Check \"Create project structure\" by default" + }, + { + "type" : "boolean", + "key" : "create_project_structure_checked", + "label" : "Checked" + } + ] + }, + { + "type" : "dict", + "key" : "clean_hierarchical_attr", + "label" : "Clean hierarchical custom attributes", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "delete_asset_subset", + "label" : "Delete Asset/Subsets", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "delete_old_versions", + "label" : "Delete old versions", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "delivery_action", + "label" : "Delivery", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "store_thubmnail_to_avalon", + "label" : "Store Thumbnails to avalon", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "job_killer", + "label" : "Job Killer", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "sync_to_avalon_local", + "label" : "Sync to avalon (local) - For development", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "seed_project", + "label" : "Seed Debug Project", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles", + "object_type" : "text" + } + ] + } + ] + }, + { + "type" : "dict", + "collapsible" : true, + "key" : "publish", + "label" : "Publish plugins", + "children" : [ + { + "type" : "dict", + "collapsible" : true, + "checkbox_key" : "enabled", + "key" : "CollectFtrackFamily", + "label" : "Collect Ftrack Family", + "is_group" : true, + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "collapsible" : true, + "key" : "profiles", + "label" : "Profiles", + "use_label_wrap" : true, + "object_type" : { + "type" : "dict", + "children" : [ + { + "key" : "hosts", + "label" : "Host names", + "type" : "list", + "object_type" : "text" + }, + { + "key" : "families", + "label" : "Families", + "type" : "list", + "object_type" : "text" + }, + { + "key" : "task_types", + "label" : "Task types", + "type" : "task-types-enum" + }, + { + "key" : "tasks", + "label" : "Task names", + "type" : "list", + "object_type" : "text" + }, + { + "type" : "separator" + }, + { + "key" : "add_ftrack_family", + "label" : "Add Ftrack Family", + "type" : "boolean" + }, + { + "type" : "list", + "collapsible" : true, + "key" : "advanced_filtering", + "label" : "Advanced adding if additional families present", + "use_label_wrap" : true, + "object_type" : { + "type" : "dict", + "children" : [ + { + "key" : "families", + "label" : "Additional Families", + "type" : "list", + "object_type" : "text" + }, + { + "key" : "add_ftrack_family", + "label" : "Add Ftrack Family", + "type" : "boolean" + } + ] + } + } + ] + } + } + ] + }, + { + "type" : "dict", + "collapsible" : true, + "checkbox_key" : "enabled", + "key" : "IntegrateFtrackNote", + "label" : "IntegrateFtrackNote", + "is_group" : true, + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "text", + "key" : "note_with_intent_template", + "label" : "Note with intent template" + }, + { + "type" : "list", + "object_type" : "text", + "key" : "note_labels", + "label" : "Note labels" + } + ] + }, + { + "type" : "dict", + "collapsible" : true, + "checkbox_key" : "enabled", + "key" : "ValidateFtrackAttributes", + "label" : "ValidateFtrackAttributes", + "is_group" : true, + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "raw-json", + "key" : "ftrack_custom_attributes", + "label" : "Custom attributes to validate" + } + ] + }, + { + "type" : "dict", + "collapsible" : true, + "checkbox_key" : "enabled", + "key" : "IntegrateFtrackInstance", + "label" : "IntegrateFtrackInstance", + "is_group" : true, + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "dict-modifiable", + "key" : "family_mapping", + "label" : "Family Mapping", + "object_type" : { + "type" : "text" + } + } + ] + } + ] + } + ] } From 2a00a6fd47c761ba7da2116df090b9b4e7f08ef6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Marinov?= Date: Fri, 28 Jan 2022 00:22:49 +0100 Subject: [PATCH 02/12] Added family_mapping defaults --- .../defaults/project_settings/ftrack.json | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/openpype/settings/defaults/project_settings/ftrack.json b/openpype/settings/defaults/project_settings/ftrack.json index 513611ebfb..0114bd163e 100644 --- a/openpype/settings/defaults/project_settings/ftrack.json +++ b/openpype/settings/defaults/project_settings/ftrack.json @@ -342,6 +342,30 @@ "ValidateFtrackAttributes": { "enabled": false, "ftrack_custom_attributes": {} + }, + "IntegrateFtrackInstance": { + "enabled": true, + "family_mapping": { + "camera": "cam", + "look": "look", + "mayaascii": "scene", + "model": "geo", + "rig": "rig", + "setdress": "setdress", + "pointcache": "cache", + "render": "render", + "render2d": "render", + "nukescript": "comp", + "write": "render", + "review": "mov", + "plate": "img", + "audio": "audio", + "workfile": "scene", + "animation": "cache", + "image": "img", + "reference": "reference", + "ass": "cache" + } } } -} \ No newline at end of file +} From 4b54c094e0086eb142b6182f10622c8c4175d514 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Marinov?= Date: Sat, 29 Jan 2022 20:03:17 +0100 Subject: [PATCH 03/12] Removed checkbox from IntegrateFtrackInstance --- .../schemas/projects_schema/schema_project_ftrack.json | 7 ------- 1 file changed, 7 deletions(-) diff --git a/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json b/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json index 86c8b14747..6ab29699ee 100644 --- a/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json +++ b/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json @@ -744,17 +744,10 @@ }, { "type" : "dict", - "collapsible" : true, - "checkbox_key" : "enabled", "key" : "IntegrateFtrackInstance", "label" : "IntegrateFtrackInstance", "is_group" : true, "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, { "type" : "dict-modifiable", "key" : "family_mapping", From 5c22c45fa2d5d106d0b476b181ea38a51c12cfc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Marinov?= Date: Sat, 29 Jan 2022 21:00:20 +0100 Subject: [PATCH 04/12] Adding more defaults --- .../defaults/project_settings/ftrack.json | 52 +++++++++++-------- 1 file changed, 31 insertions(+), 21 deletions(-) diff --git a/openpype/settings/defaults/project_settings/ftrack.json b/openpype/settings/defaults/project_settings/ftrack.json index 0114bd163e..5975086872 100644 --- a/openpype/settings/defaults/project_settings/ftrack.json +++ b/openpype/settings/defaults/project_settings/ftrack.json @@ -344,27 +344,37 @@ "ftrack_custom_attributes": {} }, "IntegrateFtrackInstance": { - "enabled": true, - "family_mapping": { - "camera": "cam", - "look": "look", - "mayaascii": "scene", - "model": "geo", - "rig": "rig", - "setdress": "setdress", - "pointcache": "cache", - "render": "render", - "render2d": "render", - "nukescript": "comp", - "write": "render", - "review": "mov", - "plate": "img", - "audio": "audio", - "workfile": "scene", - "animation": "cache", - "image": "img", - "reference": "reference", - "ass": "cache" + "family_mapping" : { + "camera" : "cam", + "look" : "look", + "mayaascii" : "scene", + "model" : "geo", + "rig" : "rig", + "setdress" : "setdress", + "pointcache" : "cache", + "render" : "render", + "render2d" : "render", + "nukescript" : "comp", + "write" : "render", + "review" : "mov", + "plate" : "img", + "audio" : "audio", + "workfile" : "scene", + "animation" : "cache", + "image" : "img", + "reference" : "reference", + "ass" : "cache", + "mayaScene" : "scene", + "camerarig" : "rig", + "yeticache" : "cache", + "yetiRig" : "rig", + "xgen" : "xgen", + "rendersetup" : "rendersetup", + "assembly" : "assembly", + "layout" : "layout", + "unrealStaticMesh" : "geo", + "vrayproxy" : "cache", + "redshiftproxy" : "cache" } } } From 6c842c4f769b56117e113b1c4819b476f07db98f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Marinov?= Date: Mon, 31 Jan 2022 12:03:55 +0100 Subject: [PATCH 05/12] Update schema_project_ftrack.json tabs -> spaces --- .../schema_project_ftrack.json | 1524 ++++++++--------- 1 file changed, 762 insertions(+), 762 deletions(-) diff --git a/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json b/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json index 6ab29699ee..14b7038cbe 100644 --- a/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json +++ b/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json @@ -1,764 +1,764 @@ { - "type" : "dict", - "key" : "ftrack", - "label" : "Ftrack", - "collapsible" : true, - "is_file" : true, - "children" : [ - { - "type" : "dict", - "key" : "events", - "label" : "Server Actions/Events", - "children" : [ - { - "type" : "dict", - "key" : "sync_to_avalon", - "label" : "Sync to avalon", - "children" : [ - { - "type" : "label", - "label" : "Allow name and hierarchy change only if following statuses are on all children tasks" - }, - { - "type" : "list", - "key" : "statuses_name_change", - "label" : "Statuses", - "object_type" : { - "type" : "text", - "multiline" : false - } - } - ] - }, - { - "type" : "dict", - "key" : "prepare_project", - "label" : "Prepare Project", - "checkbox_key" : "enabled", - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, - { - "type" : "list", - "key" : "role_list", - "label" : "Roles", - "object_type" : "text" - } - ] - }, - { - "type" : "dict", - "key" : "sync_hier_entity_attributes", - "label" : "Sync Hierarchical and Entity Attributes", - "checkbox_key" : "enabled", - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, - { - "type" : "list", - "key" : "interest_entity_types", - "label" : "Entity types of interest", - "object_type" : { - "type" : "text", - "multiline" : false - } - }, - { - "type" : "list", - "key" : "interest_attributes", - "label" : "Attributes to sync", - "object_type" : { - "type" : "text", - "multiline" : false - } - }, - { - "type" : "separator" - }, - { - "type" : "boolean", - "key" : "action_enabled", - "label" : "Enable Action" - }, - { - "type" : "list", - "key" : "role_list", - "label" : "Roles for action", - "object_type" : "text" - } - ] - }, - { - "type" : "dict", - "key" : "clone_review_session", - "label" : "Clone Review Session", - "checkbox_key" : "enabled", - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, - { - "type" : "list", - "key" : "role_list", - "label" : "Roles for action", - "object_type" : "text" - } - ] - }, - { - "type" : "dict", - "key" : "thumbnail_updates", - "label" : "Update Hierarchy thumbnails", - "checkbox_key" : "enabled", - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, - { - "type" : "label", - "label" : "Push thumbnail from version, up through multiple hierarchy levels." - }, - { - "type" : "number", - "key" : "levels", - "label" : "Levels" - } - ] - }, - { - "type" : "dict", - "key" : "user_assignment", - "label" : "Run script on user assignments", - "checkbox_key" : "enabled", - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - } - ] - }, - { - "type" : "dict", - "key" : "status_update", - "label" : "Update status on task action", - "is_group" : true, - "checkbox_key" : "enabled", - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, - { - "key" : "mapping", - "type" : "dict-modifiable", - "object_type" : { - "type" : "list", - "object_type" : "text" - } - } - ] - }, - { - "type" : "dict", - "key" : "status_task_to_parent", - "label" : "Sync status from Task to Parent", - "checkbox_key" : "enabled", - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, - { - "type" : "label", - "label" : "List of parent object types where this is triggered (\"Shot\", \"Asset Build\", etc.). Skipped if list is empty." - }, - { - "type" : "list", - "object_type" : "text", - "key" : "parent_object_types", - "label" : "Object types" - }, - { - "key" : "parent_status_match_all_task_statuses", - "type" : "dict-modifiable", - "label" : "Change parent if all tasks match", - "object_type" : { - "type" : "list", - "object_type" : "text" - } - }, - { - "type" : "list", - "key" : "parent_status_by_task_status", - "label" : "Change parent status if a single task matches", - "use_label_wrap" : true, - "object_type" : { - "type" : "dict", - "children" : [ - { - "type" : "text", - "label" : "New parent status", - "key" : "new_status" - }, - { - "type" : "separator" - }, - { - "type" : "list", - "label" : "Task status", - "key" : "task_statuses", - "object_type" : "text" - } - ] - } - } - ] - }, - { - "type" : "dict", - "key" : "status_task_to_version", - "label" : "Sync status from Task to Version", - "is_group" : true, - "checkbox_key" : "enabled", - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, - { - "type" : "dict-modifiable", - "key" : "mapping", - "object_type" : { - "type" : "list", - "object_type" : "text" - } - }, - { - "type" : "label", - "label" : "Limit status changes to entered asset types. Limitation is ignored if nothing is entered." - }, - { - "type" : "list", - "key" : "asset_types_filter", - "label" : "Asset types (short)", - "object_type" : "text" - } - ] - }, - { - "type" : "dict", - "key" : "status_version_to_task", - "label" : "Sync status from Version to Task", - "is_group" : true, - "checkbox_key" : "enabled", - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, - { - "type" : "label", - "label" : "Change Task status based on a changed Version status.
Version's new status on the left will trigger a change of a task status to the first available from the list on right.
- if no status from the list is available it will use the same status as the version." - }, - { - "type" : "dict-modifiable", - "key" : "mapping", - "object_type" : { - "type" : "list", - "object_type" : "text" - } - }, - { - "type" : "separator" - }, - { - "type" : "label", - "label" : "Disable event if status was changed on specific Asset type." - }, - { - "type" : "list", - "label" : "Asset types (short)", - "key" : "asset_types_to_skip", - "object_type" : "text" - } - ] - }, - { - "type" : "dict", - "key" : "first_version_status", - "label" : "Set status on first created version", - "checkbox_key" : "enabled", - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, - { - "type" : "text", - "key" : "status", - "label" : "Status" - } - ] - }, - { - "type" : "dict", - "key" : "next_task_update", - "is_group" : true, - "label" : "Update status on next task", - "checkbox_key" : "enabled", - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, - { - "type" : "label", - "label" : "Change status on next task by task types order when task status state changed to \"Done\". All tasks with same Task type must be \"Done\"." - }, - { - "type" : "label", - "label" : "Mapping of next task status changes From -> To." - }, - { - "type" : "dict-modifiable", - "key" : "mapping", - "object_type" : { - "type" : "text" - } - }, - { - "type" : "separator" - }, - { - "type" : "label", - "label" : "Status names that are ignored on \"Done\" check (e.g. \"Omitted\")." - }, - { - "type" : "list", - "key" : "ignored_statuses", - "object_type" : "text" - }, - { - "type" : "separator" - }, - { - "type" : "label", - "label" : "Allow to break rule that all tasks with same Task type must be \"Done\" and change statuses with same type tasks ordered by name." - }, - { - "label" : "Name sorting", - "type" : "boolean", - "key" : "name_sorting" - } - ] - } - ] - }, - { - "type" : "dict", - "key" : "user_handlers", - "label" : "User Actions/Events", - "children" : [ - { - "type" : "dict", - "key" : "application_launch_statuses", - "is_group" : true, - "label" : "Application - Status change on launch", - "checkbox_key" : "enabled", - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, - { - "type" : "label", - "label" : "Do not change status if current status is:" - }, - { - "type" : "list", - "key" : "ignored_statuses", - "object_type" : "text" - }, - { - "type" : "label", - "label" : "Change task's status to left side if current task status is in list on right side." - }, - { - "type" : "dict-modifiable", - "key" : "status_change", - "object_type" : { - "type" : "list", - "object_type" : "text" - } - } - ] - }, - { - "type" : "dict", - "key" : "create_update_attributes", - "label" : "Create/Update Avalon Attributes", - "children" : [ - { - "type" : "list", - "key" : "role_list", - "label" : "Roles", - "object_type" : "text" - } - ] - }, - { - "type" : "dict", - "key" : "prepare_project", - "label" : "Prepare Project", - "checkbox_key" : "enabled", - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, - { - "type" : "list", - "key" : "role_list", - "label" : "Roles", - "object_type" : "text" - }, - { - "type" : "separator" - }, - { - "type" : "label", - "label" : "Check \"Create project structure\" by default" - }, - { - "type" : "boolean", - "key" : "create_project_structure_checked", - "label" : "Checked" - } - ] - }, - { - "type" : "dict", - "key" : "clean_hierarchical_attr", - "label" : "Clean hierarchical custom attributes", - "checkbox_key" : "enabled", - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, - { - "type" : "list", - "key" : "role_list", - "label" : "Roles", - "object_type" : "text" - } - ] - }, - { - "type" : "dict", - "key" : "delete_asset_subset", - "label" : "Delete Asset/Subsets", - "checkbox_key" : "enabled", - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, - { - "type" : "list", - "key" : "role_list", - "label" : "Roles", - "object_type" : "text" - } - ] - }, - { - "type" : "dict", - "key" : "delete_old_versions", - "label" : "Delete old versions", - "checkbox_key" : "enabled", - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, - { - "type" : "list", - "key" : "role_list", - "label" : "Roles", - "object_type" : "text" - } - ] - }, - { - "type" : "dict", - "key" : "delivery_action", - "label" : "Delivery", - "checkbox_key" : "enabled", - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, - { - "type" : "list", - "key" : "role_list", - "label" : "Roles", - "object_type" : "text" - } - ] - }, - { - "type" : "dict", - "key" : "store_thubmnail_to_avalon", - "label" : "Store Thumbnails to avalon", - "checkbox_key" : "enabled", - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, - { - "type" : "list", - "key" : "role_list", - "label" : "Roles", - "object_type" : "text" - } - ] - }, - { - "type" : "dict", - "key" : "job_killer", - "label" : "Job Killer", - "checkbox_key" : "enabled", - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, - { - "type" : "list", - "key" : "role_list", - "label" : "Roles", - "object_type" : "text" - } - ] - }, - { - "type" : "dict", - "key" : "sync_to_avalon_local", - "label" : "Sync to avalon (local) - For development", - "checkbox_key" : "enabled", - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, - { - "type" : "list", - "key" : "role_list", - "label" : "Roles", - "object_type" : "text" - } - ] - }, - { - "type" : "dict", - "key" : "seed_project", - "label" : "Seed Debug Project", - "checkbox_key" : "enabled", - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, - { - "type" : "list", - "key" : "role_list", - "label" : "Roles", - "object_type" : "text" - } - ] - } - ] - }, - { - "type" : "dict", - "collapsible" : true, - "key" : "publish", - "label" : "Publish plugins", - "children" : [ - { - "type" : "dict", - "collapsible" : true, - "checkbox_key" : "enabled", - "key" : "CollectFtrackFamily", - "label" : "Collect Ftrack Family", - "is_group" : true, - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, - { - "type" : "list", - "collapsible" : true, - "key" : "profiles", - "label" : "Profiles", - "use_label_wrap" : true, - "object_type" : { - "type" : "dict", - "children" : [ - { - "key" : "hosts", - "label" : "Host names", - "type" : "list", - "object_type" : "text" - }, - { - "key" : "families", - "label" : "Families", - "type" : "list", - "object_type" : "text" - }, - { - "key" : "task_types", - "label" : "Task types", - "type" : "task-types-enum" - }, - { - "key" : "tasks", - "label" : "Task names", - "type" : "list", - "object_type" : "text" - }, - { - "type" : "separator" - }, - { - "key" : "add_ftrack_family", - "label" : "Add Ftrack Family", - "type" : "boolean" - }, - { - "type" : "list", - "collapsible" : true, - "key" : "advanced_filtering", - "label" : "Advanced adding if additional families present", - "use_label_wrap" : true, - "object_type" : { - "type" : "dict", - "children" : [ - { - "key" : "families", - "label" : "Additional Families", - "type" : "list", - "object_type" : "text" - }, - { - "key" : "add_ftrack_family", - "label" : "Add Ftrack Family", - "type" : "boolean" - } - ] - } - } - ] - } - } - ] - }, - { - "type" : "dict", - "collapsible" : true, - "checkbox_key" : "enabled", - "key" : "IntegrateFtrackNote", - "label" : "IntegrateFtrackNote", - "is_group" : true, - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, - { - "type" : "text", - "key" : "note_with_intent_template", - "label" : "Note with intent template" - }, - { - "type" : "list", - "object_type" : "text", - "key" : "note_labels", - "label" : "Note labels" - } - ] - }, - { - "type" : "dict", - "collapsible" : true, - "checkbox_key" : "enabled", - "key" : "ValidateFtrackAttributes", - "label" : "ValidateFtrackAttributes", - "is_group" : true, - "children" : [ - { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" - }, - { - "type" : "raw-json", - "key" : "ftrack_custom_attributes", - "label" : "Custom attributes to validate" - } - ] - }, - { - "type" : "dict", - "key" : "IntegrateFtrackInstance", - "label" : "IntegrateFtrackInstance", - "is_group" : true, - "children" : [ - { - "type" : "dict-modifiable", - "key" : "family_mapping", - "label" : "Family Mapping", - "object_type" : { - "type" : "text" - } - } - ] - } - ] - } - ] + "type" : "dict", + "key" : "ftrack", + "label" : "Ftrack", + "collapsible" : true, + "is_file" : true, + "children" : [ + { + "type" : "dict", + "key" : "events", + "label" : "Server Actions/Events", + "children" : [ + { + "type" : "dict", + "key" : "sync_to_avalon", + "label" : "Sync to avalon", + "children" : [ + { + "type" : "label", + "label" : "Allow name and hierarchy change only if following statuses are on all children tasks" + }, + { + "type" : "list", + "key" : "statuses_name_change", + "label" : "Statuses", + "object_type" : { + "type" : "text", + "multiline" : false + } + } + ] + }, + { + "type" : "dict", + "key" : "prepare_project", + "label" : "Prepare Project", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "sync_hier_entity_attributes", + "label" : "Sync Hierarchical and Entity Attributes", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "interest_entity_types", + "label" : "Entity types of interest", + "object_type" : { + "type" : "text", + "multiline" : false + } + }, + { + "type" : "list", + "key" : "interest_attributes", + "label" : "Attributes to sync", + "object_type" : { + "type" : "text", + "multiline" : false + } + }, + { + "type" : "separator" + }, + { + "type" : "boolean", + "key" : "action_enabled", + "label" : "Enable Action" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles for action", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "clone_review_session", + "label" : "Clone Review Session", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles for action", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "thumbnail_updates", + "label" : "Update Hierarchy thumbnails", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "label", + "label" : "Push thumbnail from version, up through multiple hierarchy levels." + }, + { + "type" : "number", + "key" : "levels", + "label" : "Levels" + } + ] + }, + { + "type" : "dict", + "key" : "user_assignment", + "label" : "Run script on user assignments", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + } + ] + }, + { + "type" : "dict", + "key" : "status_update", + "label" : "Update status on task action", + "is_group" : true, + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "key" : "mapping", + "type" : "dict-modifiable", + "object_type" : { + "type" : "list", + "object_type" : "text" + } + } + ] + }, + { + "type" : "dict", + "key" : "status_task_to_parent", + "label" : "Sync status from Task to Parent", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "label", + "label" : "List of parent object types where this is triggered (\"Shot\", \"Asset Build\", etc.). Skipped if list is empty." + }, + { + "type" : "list", + "object_type" : "text", + "key" : "parent_object_types", + "label" : "Object types" + }, + { + "key" : "parent_status_match_all_task_statuses", + "type" : "dict-modifiable", + "label" : "Change parent if all tasks match", + "object_type" : { + "type" : "list", + "object_type" : "text" + } + }, + { + "type" : "list", + "key" : "parent_status_by_task_status", + "label" : "Change parent status if a single task matches", + "use_label_wrap" : true, + "object_type" : { + "type" : "dict", + "children" : [ + { + "type" : "text", + "label" : "New parent status", + "key" : "new_status" + }, + { + "type" : "separator" + }, + { + "type" : "list", + "label" : "Task status", + "key" : "task_statuses", + "object_type" : "text" + } + ] + } + } + ] + }, + { + "type" : "dict", + "key" : "status_task_to_version", + "label" : "Sync status from Task to Version", + "is_group" : true, + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "dict-modifiable", + "key" : "mapping", + "object_type" : { + "type" : "list", + "object_type" : "text" + } + }, + { + "type" : "label", + "label" : "Limit status changes to entered asset types. Limitation is ignored if nothing is entered." + }, + { + "type" : "list", + "key" : "asset_types_filter", + "label" : "Asset types (short)", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "status_version_to_task", + "label" : "Sync status from Version to Task", + "is_group" : true, + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "label", + "label" : "Change Task status based on a changed Version status.
Version's new status on the left will trigger a change of a task status to the first available from the list on right.
- if no status from the list is available it will use the same status as the version." + }, + { + "type" : "dict-modifiable", + "key" : "mapping", + "object_type" : { + "type" : "list", + "object_type" : "text" + } + }, + { + "type" : "separator" + }, + { + "type" : "label", + "label" : "Disable event if status was changed on specific Asset type." + }, + { + "type" : "list", + "label" : "Asset types (short)", + "key" : "asset_types_to_skip", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "first_version_status", + "label" : "Set status on first created version", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "text", + "key" : "status", + "label" : "Status" + } + ] + }, + { + "type" : "dict", + "key" : "next_task_update", + "is_group" : true, + "label" : "Update status on next task", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "label", + "label" : "Change status on next task by task types order when task status state changed to \"Done\". All tasks with same Task type must be \"Done\"." + }, + { + "type" : "label", + "label" : "Mapping of next task status changes From -> To." + }, + { + "type" : "dict-modifiable", + "key" : "mapping", + "object_type" : { + "type" : "text" + } + }, + { + "type" : "separator" + }, + { + "type" : "label", + "label" : "Status names that are ignored on \"Done\" check (e.g. \"Omitted\")." + }, + { + "type" : "list", + "key" : "ignored_statuses", + "object_type" : "text" + }, + { + "type" : "separator" + }, + { + "type" : "label", + "label" : "Allow to break rule that all tasks with same Task type must be \"Done\" and change statuses with same type tasks ordered by name." + }, + { + "label" : "Name sorting", + "type" : "boolean", + "key" : "name_sorting" + } + ] + } + ] + }, + { + "type" : "dict", + "key" : "user_handlers", + "label" : "User Actions/Events", + "children" : [ + { + "type" : "dict", + "key" : "application_launch_statuses", + "is_group" : true, + "label" : "Application - Status change on launch", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "label", + "label" : "Do not change status if current status is:" + }, + { + "type" : "list", + "key" : "ignored_statuses", + "object_type" : "text" + }, + { + "type" : "label", + "label" : "Change task's status to left side if current task status is in list on right side." + }, + { + "type" : "dict-modifiable", + "key" : "status_change", + "object_type" : { + "type" : "list", + "object_type" : "text" + } + } + ] + }, + { + "type" : "dict", + "key" : "create_update_attributes", + "label" : "Create/Update Avalon Attributes", + "children" : [ + { + "type" : "list", + "key" : "role_list", + "label" : "Roles", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "prepare_project", + "label" : "Prepare Project", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles", + "object_type" : "text" + }, + { + "type" : "separator" + }, + { + "type" : "label", + "label" : "Check \"Create project structure\" by default" + }, + { + "type" : "boolean", + "key" : "create_project_structure_checked", + "label" : "Checked" + } + ] + }, + { + "type" : "dict", + "key" : "clean_hierarchical_attr", + "label" : "Clean hierarchical custom attributes", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "delete_asset_subset", + "label" : "Delete Asset/Subsets", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "delete_old_versions", + "label" : "Delete old versions", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "delivery_action", + "label" : "Delivery", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "store_thubmnail_to_avalon", + "label" : "Store Thumbnails to avalon", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "job_killer", + "label" : "Job Killer", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "sync_to_avalon_local", + "label" : "Sync to avalon (local) - For development", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles", + "object_type" : "text" + } + ] + }, + { + "type" : "dict", + "key" : "seed_project", + "label" : "Seed Debug Project", + "checkbox_key" : "enabled", + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "key" : "role_list", + "label" : "Roles", + "object_type" : "text" + } + ] + } + ] + }, + { + "type" : "dict", + "collapsible" : true, + "key" : "publish", + "label" : "Publish plugins", + "children" : [ + { + "type" : "dict", + "collapsible" : true, + "checkbox_key" : "enabled", + "key" : "CollectFtrackFamily", + "label" : "Collect Ftrack Family", + "is_group" : true, + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "list", + "collapsible" : true, + "key" : "profiles", + "label" : "Profiles", + "use_label_wrap" : true, + "object_type" : { + "type" : "dict", + "children" : [ + { + "key" : "hosts", + "label" : "Host names", + "type" : "list", + "object_type" : "text" + }, + { + "key" : "families", + "label" : "Families", + "type" : "list", + "object_type" : "text" + }, + { + "key" : "task_types", + "label" : "Task types", + "type" : "task-types-enum" + }, + { + "key" : "tasks", + "label" : "Task names", + "type" : "list", + "object_type" : "text" + }, + { + "type" : "separator" + }, + { + "key" : "add_ftrack_family", + "label" : "Add Ftrack Family", + "type" : "boolean" + }, + { + "type" : "list", + "collapsible" : true, + "key" : "advanced_filtering", + "label" : "Advanced adding if additional families present", + "use_label_wrap" : true, + "object_type" : { + "type" : "dict", + "children" : [ + { + "key" : "families", + "label" : "Additional Families", + "type" : "list", + "object_type" : "text" + }, + { + "key" : "add_ftrack_family", + "label" : "Add Ftrack Family", + "type" : "boolean" + } + ] + } + } + ] + } + } + ] + }, + { + "type" : "dict", + "collapsible" : true, + "checkbox_key" : "enabled", + "key" : "IntegrateFtrackNote", + "label" : "IntegrateFtrackNote", + "is_group" : true, + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "text", + "key" : "note_with_intent_template", + "label" : "Note with intent template" + }, + { + "type" : "list", + "object_type" : "text", + "key" : "note_labels", + "label" : "Note labels" + } + ] + }, + { + "type" : "dict", + "collapsible" : true, + "checkbox_key" : "enabled", + "key" : "ValidateFtrackAttributes", + "label" : "ValidateFtrackAttributes", + "is_group" : true, + "children" : [ + { + "type" : "boolean", + "key" : "enabled", + "label" : "Enabled" + }, + { + "type" : "raw-json", + "key" : "ftrack_custom_attributes", + "label" : "Custom attributes to validate" + } + ] + }, + { + "type" : "dict", + "key" : "IntegrateFtrackInstance", + "label" : "IntegrateFtrackInstance", + "is_group" : true, + "children" : [ + { + "type" : "dict-modifiable", + "key" : "family_mapping", + "label" : "Family Mapping", + "object_type" : { + "type" : "text" + } + } + ] + } + ] + } + ] } From 213ee7e0777071463200d824e0b4c4c9f764da4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Marinov?= Date: Mon, 31 Jan 2022 12:18:12 +0100 Subject: [PATCH 06/12] Saved json from settings instead of direct editing --- .../defaults/project_settings/ftrack.json | 60 +++++++++---------- 1 file changed, 29 insertions(+), 31 deletions(-) diff --git a/openpype/settings/defaults/project_settings/ftrack.json b/openpype/settings/defaults/project_settings/ftrack.json index 5975086872..0917de9562 100644 --- a/openpype/settings/defaults/project_settings/ftrack.json +++ b/openpype/settings/defaults/project_settings/ftrack.json @@ -344,37 +344,35 @@ "ftrack_custom_attributes": {} }, "IntegrateFtrackInstance": { - "family_mapping" : { - "camera" : "cam", - "look" : "look", - "mayaascii" : "scene", - "model" : "geo", - "rig" : "rig", - "setdress" : "setdress", - "pointcache" : "cache", - "render" : "render", - "render2d" : "render", - "nukescript" : "comp", - "write" : "render", - "review" : "mov", - "plate" : "img", - "audio" : "audio", - "workfile" : "scene", - "animation" : "cache", - "image" : "img", - "reference" : "reference", - "ass" : "cache", - "mayaScene" : "scene", - "camerarig" : "rig", - "yeticache" : "cache", - "yetiRig" : "rig", - "xgen" : "xgen", - "rendersetup" : "rendersetup", - "assembly" : "assembly", - "layout" : "layout", - "unrealStaticMesh" : "geo", - "vrayproxy" : "cache", - "redshiftproxy" : "cache" + "family_mapping": { + "camera": "cam", + "look": "look", + "mayaascii": "scene", + "model": "geo", + "rig": "rig", + "setdress": "setdress", + "pointcache": "cache", + "render": "render", + "render2d": "render", + "nukescript": "comp", + "write": "render", + "review": "mov", + "plate": "img", + "audio": "audio", + "workfile": "scene", + "animation": "cache", + "image": "img", + "reference": "reference", + "ass": "cache", + "mayaScene": "scene", + "camerarig": "rig", + "yeticache": "cache", + "yetiRig": "rig", + "xgen": "xgen", + "rendersetup": "rendersetup", + "assembly": "assembly", + "layout": "layout", + "unrealStaticMesh": "geo" } } } From e5ddac1101dd42a09162263546ccaf47accbed4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Marinov?= Date: Mon, 31 Jan 2022 12:24:08 +0100 Subject: [PATCH 07/12] Added two missing defaults --- openpype/settings/defaults/project_settings/ftrack.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/openpype/settings/defaults/project_settings/ftrack.json b/openpype/settings/defaults/project_settings/ftrack.json index 0917de9562..a684946758 100644 --- a/openpype/settings/defaults/project_settings/ftrack.json +++ b/openpype/settings/defaults/project_settings/ftrack.json @@ -372,7 +372,9 @@ "rendersetup": "rendersetup", "assembly": "assembly", "layout": "layout", - "unrealStaticMesh": "geo" + "unrealStaticMesh": "geo", + "vrayproxy": "cache", + "redshiftproxy": "cache" } } } From d48eb8d047fa3b16c0e94323cc813f9e1300a75a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Marinov?= Date: Tue, 1 Feb 2022 16:54:38 +0100 Subject: [PATCH 08/12] formatting changes --- openpype/settings/defaults/project_settings/ftrack.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openpype/settings/defaults/project_settings/ftrack.json b/openpype/settings/defaults/project_settings/ftrack.json index a684946758..1c1256caab 100644 --- a/openpype/settings/defaults/project_settings/ftrack.json +++ b/openpype/settings/defaults/project_settings/ftrack.json @@ -343,7 +343,7 @@ "enabled": false, "ftrack_custom_attributes": {} }, - "IntegrateFtrackInstance": { + "IntegrateFtrackInstance": { "family_mapping": { "camera": "cam", "look": "look", From 09f40f15ad55e312affad5b991becffc5c14b5f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Marinov?= Date: Tue, 1 Feb 2022 16:57:18 +0100 Subject: [PATCH 09/12] formatting changes --- .../schema_project_ftrack.json | 945 +++++++++--------- 1 file changed, 473 insertions(+), 472 deletions(-) diff --git a/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json b/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json index 14b7038cbe..1e904e6fdb 100644 --- a/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json +++ b/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json @@ -1,226 +1,226 @@ { - "type" : "dict", - "key" : "ftrack", - "label" : "Ftrack", - "collapsible" : true, - "is_file" : true, - "children" : [ + "type": "dict", + "key": "ftrack", + "label": "Ftrack", + "collapsible": true, + "is_file": true, + "children": [ { - "type" : "dict", - "key" : "events", - "label" : "Server Actions/Events", - "children" : [ + "type": "dict", + "key": "events", + "label": "Server Actions/Events", + "children": [ { - "type" : "dict", - "key" : "sync_to_avalon", - "label" : "Sync to avalon", - "children" : [ + "type": "dict", + "key": "sync_to_avalon", + "label": "Sync to avalon", + "children": [ { - "type" : "label", - "label" : "Allow name and hierarchy change only if following statuses are on all children tasks" + "type": "label", + "label": "Allow name and hierarchy change only if following statuses are on all children tasks" }, { - "type" : "list", - "key" : "statuses_name_change", - "label" : "Statuses", - "object_type" : { - "type" : "text", - "multiline" : false + "type": "list", + "key": "statuses_name_change", + "label": "Statuses", + "object_type": { + "type": "text", + "multiline": false } } ] }, { - "type" : "dict", - "key" : "prepare_project", - "label" : "Prepare Project", - "checkbox_key" : "enabled", - "children" : [ + "type": "dict", + "key": "prepare_project", + "label": "Prepare Project", + "checkbox_key": "enabled", + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" }, { - "type" : "list", - "key" : "role_list", - "label" : "Roles", - "object_type" : "text" + "type": "list", + "key": "role_list", + "label": "Roles", + "object_type": "text" } ] }, { - "type" : "dict", - "key" : "sync_hier_entity_attributes", - "label" : "Sync Hierarchical and Entity Attributes", - "checkbox_key" : "enabled", - "children" : [ + "type": "dict", + "key": "sync_hier_entity_attributes", + "label": "Sync Hierarchical and Entity Attributes", + "checkbox_key": "enabled", + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" }, { - "type" : "list", - "key" : "interest_entity_types", - "label" : "Entity types of interest", - "object_type" : { - "type" : "text", - "multiline" : false + "type": "list", + "key": "interest_entity_types", + "label": "Entity types of interest", + "object_type": { + "type": "text", + "multiline": false } }, { - "type" : "list", - "key" : "interest_attributes", - "label" : "Attributes to sync", - "object_type" : { - "type" : "text", - "multiline" : false + "type": "list", + "key": "interest_attributes", + "label": "Attributes to sync", + "object_type": { + "type": "text", + "multiline": false } }, { - "type" : "separator" + "type": "separator" }, { - "type" : "boolean", - "key" : "action_enabled", - "label" : "Enable Action" + "type": "boolean", + "key": "action_enabled", + "label": "Enable Action" }, { - "type" : "list", - "key" : "role_list", - "label" : "Roles for action", - "object_type" : "text" + "type": "list", + "key": "role_list", + "label": "Roles for action", + "object_type": "text" } ] }, { - "type" : "dict", - "key" : "clone_review_session", - "label" : "Clone Review Session", - "checkbox_key" : "enabled", - "children" : [ + "type": "dict", + "key": "clone_review_session", + "label": "Clone Review Session", + "checkbox_key": "enabled", + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" }, { - "type" : "list", - "key" : "role_list", - "label" : "Roles for action", - "object_type" : "text" + "type": "list", + "key": "role_list", + "label": "Roles for action", + "object_type": "text" } ] }, { - "type" : "dict", - "key" : "thumbnail_updates", - "label" : "Update Hierarchy thumbnails", - "checkbox_key" : "enabled", - "children" : [ + "type": "dict", + "key": "thumbnail_updates", + "label": "Update Hierarchy thumbnails", + "checkbox_key": "enabled", + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" }, { - "type" : "label", - "label" : "Push thumbnail from version, up through multiple hierarchy levels." + "type": "label", + "label": "Push thumbnail from version, up through multiple hierarchy levels." }, { - "type" : "number", - "key" : "levels", - "label" : "Levels" + "type": "number", + "key": "levels", + "label": "Levels" } ] }, { - "type" : "dict", - "key" : "user_assignment", - "label" : "Run script on user assignments", - "checkbox_key" : "enabled", - "children" : [ + "type": "dict", + "key": "user_assignment", + "label": "Run script on user assignments", + "checkbox_key": "enabled", + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" } ] }, { - "type" : "dict", - "key" : "status_update", - "label" : "Update status on task action", - "is_group" : true, - "checkbox_key" : "enabled", - "children" : [ + "type": "dict", + "key": "status_update", + "label": "Update status on task action", + "is_group": true, + "checkbox_key": "enabled", + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" }, { - "key" : "mapping", - "type" : "dict-modifiable", - "object_type" : { - "type" : "list", - "object_type" : "text" + "key": "mapping", + "type": "dict-modifiable", + "object_type": { + "type": "list", + "object_type": "text" } } ] }, { - "type" : "dict", - "key" : "status_task_to_parent", - "label" : "Sync status from Task to Parent", - "checkbox_key" : "enabled", - "children" : [ + "type": "dict", + "key": "status_task_to_parent", + "label": "Sync status from Task to Parent", + "checkbox_key": "enabled", + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" }, { - "type" : "label", - "label" : "List of parent object types where this is triggered (\"Shot\", \"Asset Build\", etc.). Skipped if list is empty." + "type": "label", + "label": "List of parent object types where this is triggered (\"Shot\", \"Asset Build\", etc.). Skipped if list is empty." }, { - "type" : "list", - "object_type" : "text", - "key" : "parent_object_types", - "label" : "Object types" + "type": "list", + "object_type": "text", + "key": "parent_object_types", + "label": "Object types" }, { - "key" : "parent_status_match_all_task_statuses", - "type" : "dict-modifiable", - "label" : "Change parent if all tasks match", - "object_type" : { - "type" : "list", - "object_type" : "text" + "key": "parent_status_match_all_task_statuses", + "type": "dict-modifiable", + "label": "Change parent if all tasks match", + "object_type": { + "type": "list", + "object_type": "text" } }, { - "type" : "list", - "key" : "parent_status_by_task_status", - "label" : "Change parent status if a single task matches", - "use_label_wrap" : true, - "object_type" : { - "type" : "dict", - "children" : [ + "type": "list", + "key": "parent_status_by_task_status", + "label": "Change parent status if a single task matches", + "use_label_wrap": true, + "object_type": { + "type": "dict", + "children": [ { - "type" : "text", - "label" : "New parent status", - "key" : "new_status" + "type": "text", + "label": "New parent status", + "key": "new_status" }, { - "type" : "separator" + "type": "separator" }, { - "type" : "list", - "label" : "Task status", - "key" : "task_statuses", - "object_type" : "text" + "type": "list", + "label": "Task status", + "key": "task_statuses", + "object_type": "text" } ] } @@ -228,465 +228,466 @@ ] }, { - "type" : "dict", - "key" : "status_task_to_version", - "label" : "Sync status from Task to Version", - "is_group" : true, - "checkbox_key" : "enabled", - "children" : [ + "type": "dict", + "key": "status_task_to_version", + "label": "Sync status from Task to Version", + "is_group": true, + "checkbox_key": "enabled", + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" }, { - "type" : "dict-modifiable", - "key" : "mapping", - "object_type" : { - "type" : "list", - "object_type" : "text" + "type": "dict-modifiable", + "key": "mapping", + "object_type": + { + "type": "list", + "object_type": "text" } }, { - "type" : "label", - "label" : "Limit status changes to entered asset types. Limitation is ignored if nothing is entered." + "type": "label", + "label": "Limit status changes to entered asset types. Limitation is ignored if nothing is entered." }, { - "type" : "list", - "key" : "asset_types_filter", - "label" : "Asset types (short)", - "object_type" : "text" + "type": "list", + "key": "asset_types_filter", + "label": "Asset types (short)", + "object_type": "text" } ] }, { - "type" : "dict", - "key" : "status_version_to_task", - "label" : "Sync status from Version to Task", - "is_group" : true, - "checkbox_key" : "enabled", - "children" : [ + "type": "dict", + "key": "status_version_to_task", + "label": "Sync status from Version to Task", + "is_group": true, + "checkbox_key": "enabled", + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" }, { - "type" : "label", - "label" : "Change Task status based on a changed Version status.
Version's new status on the left will trigger a change of a task status to the first available from the list on right.
- if no status from the list is available it will use the same status as the version." + "type": "label", + "label": "Change Task status based on a changed Version status.
Version's new status on the left will trigger a change of a task status to the first available from the list on right.
- if no status from the list is available it will use the same status as the version." }, { - "type" : "dict-modifiable", - "key" : "mapping", - "object_type" : { - "type" : "list", - "object_type" : "text" + "type": "dict-modifiable", + "key": "mapping", + "object_type": { + "type": "list", + "object_type": "text" } }, { - "type" : "separator" + "type": "separator" }, { - "type" : "label", - "label" : "Disable event if status was changed on specific Asset type." + "type": "label", + "label": "Disable event if status was changed on specific Asset type." }, { - "type" : "list", - "label" : "Asset types (short)", - "key" : "asset_types_to_skip", - "object_type" : "text" + "type": "list", + "label": "Asset types (short)", + "key": "asset_types_to_skip", + "object_type": "text" } ] }, { - "type" : "dict", - "key" : "first_version_status", - "label" : "Set status on first created version", - "checkbox_key" : "enabled", - "children" : [ + "type": "dict", + "key": "first_version_status", + "label": "Set status on first created version", + "checkbox_key": "enabled", + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" }, { - "type" : "text", - "key" : "status", - "label" : "Status" + "type": "text", + "key": "status", + "label": "Status" } ] }, { - "type" : "dict", - "key" : "next_task_update", - "is_group" : true, - "label" : "Update status on next task", - "checkbox_key" : "enabled", - "children" : [ + "type": "dict", + "key": "next_task_update", + "is_group": true, + "label": "Update status on next task", + "checkbox_key": "enabled", + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" }, { - "type" : "label", - "label" : "Change status on next task by task types order when task status state changed to \"Done\". All tasks with same Task type must be \"Done\"." + "type": "label", + "label": "Change status on next task by task types order when task status state changed to \"Done\". All tasks with same Task type must be \"Done\"." }, { - "type" : "label", - "label" : "Mapping of next task status changes From -> To." + "type": "label", + "label": "Mapping of next task status changes From -> To." }, { - "type" : "dict-modifiable", - "key" : "mapping", - "object_type" : { - "type" : "text" + "type": "dict-modifiable", + "key": "mapping", + "object_type": { + "type": "text" } }, { - "type" : "separator" + "type": "separator" }, { - "type" : "label", - "label" : "Status names that are ignored on \"Done\" check (e.g. \"Omitted\")." + "type": "label", + "label": "Status names that are ignored on \"Done\" check (e.g. \"Omitted\")." }, { - "type" : "list", - "key" : "ignored_statuses", - "object_type" : "text" + "type": "list", + "key": "ignored_statuses", + "object_type": "text" }, { - "type" : "separator" + "type": "separator" }, { - "type" : "label", - "label" : "Allow to break rule that all tasks with same Task type must be \"Done\" and change statuses with same type tasks ordered by name." + "type": "label", + "label": "Allow to break rule that all tasks with same Task type must be \"Done\" and change statuses with same type tasks ordered by name." }, { - "label" : "Name sorting", - "type" : "boolean", - "key" : "name_sorting" + "label": "Name sorting", + "type": "boolean", + "key": "name_sorting" } ] } ] }, { - "type" : "dict", - "key" : "user_handlers", - "label" : "User Actions/Events", - "children" : [ + "type": "dict", + "key": "user_handlers", + "label": "User Actions/Events", + "children": [ { - "type" : "dict", - "key" : "application_launch_statuses", - "is_group" : true, - "label" : "Application - Status change on launch", - "checkbox_key" : "enabled", - "children" : [ + "type": "dict", + "key": "application_launch_statuses", + "is_group": true, + "label": "Application - Status change on launch", + "checkbox_key": "enabled", + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" }, { - "type" : "label", - "label" : "Do not change status if current status is:" + "type": "label", + "label": "Do not change status if current status is:" }, { - "type" : "list", - "key" : "ignored_statuses", - "object_type" : "text" + "type": "list", + "key": "ignored_statuses", + "object_type": "text" }, { - "type" : "label", - "label" : "Change task's status to left side if current task status is in list on right side." + "type": "label", + "label": "Change task's status to left side if current task status is in list on right side." }, { - "type" : "dict-modifiable", - "key" : "status_change", - "object_type" : { - "type" : "list", - "object_type" : "text" + "type": "dict-modifiable", + "key": "status_change", + "object_type": { + "type": "list", + "object_type": "text" } } ] }, { - "type" : "dict", - "key" : "create_update_attributes", - "label" : "Create/Update Avalon Attributes", - "children" : [ + "type": "dict", + "key": "create_update_attributes", + "label": "Create/Update Avalon Attributes", + "children": [ { - "type" : "list", - "key" : "role_list", - "label" : "Roles", - "object_type" : "text" + "type": "list", + "key": "role_list", + "label": "Roles", + "object_type": "text" } ] }, { - "type" : "dict", - "key" : "prepare_project", - "label" : "Prepare Project", - "checkbox_key" : "enabled", - "children" : [ + "type": "dict", + "key": "prepare_project", + "label": "Prepare Project", + "checkbox_key": "enabled", + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" }, { - "type" : "list", - "key" : "role_list", - "label" : "Roles", - "object_type" : "text" + "type": "list", + "key": "role_list", + "label": "Roles", + "object_type": "text" }, { - "type" : "separator" + "type": "separator" }, { - "type" : "label", - "label" : "Check \"Create project structure\" by default" + "type": "label", + "label": "Check \"Create project structure\" by default" }, { - "type" : "boolean", - "key" : "create_project_structure_checked", - "label" : "Checked" + "type": "boolean", + "key": "create_project_structure_checked", + "label": "Checked" } ] }, { - "type" : "dict", - "key" : "clean_hierarchical_attr", - "label" : "Clean hierarchical custom attributes", - "checkbox_key" : "enabled", - "children" : [ + "type": "dict", + "key": "clean_hierarchical_attr", + "label": "Clean hierarchical custom attributes", + "checkbox_key": "enabled", + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" }, { - "type" : "list", - "key" : "role_list", - "label" : "Roles", - "object_type" : "text" + "type": "list", + "key": "role_list", + "label": "Roles", + "object_type": "text" } ] }, { - "type" : "dict", - "key" : "delete_asset_subset", - "label" : "Delete Asset/Subsets", - "checkbox_key" : "enabled", - "children" : [ + "type": "dict", + "key": "delete_asset_subset", + "label": "Delete Asset/Subsets", + "checkbox_key": "enabled", + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" }, { - "type" : "list", - "key" : "role_list", - "label" : "Roles", - "object_type" : "text" + "type": "list", + "key": "role_list", + "label": "Roles", + "object_type": "text" } ] }, { - "type" : "dict", - "key" : "delete_old_versions", - "label" : "Delete old versions", - "checkbox_key" : "enabled", - "children" : [ + "type": "dict", + "key": "delete_old_versions", + "label": "Delete old versions", + "checkbox_key": "enabled", + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" }, { - "type" : "list", - "key" : "role_list", - "label" : "Roles", - "object_type" : "text" + "type": "list", + "key": "role_list", + "label": "Roles", + "object_type": "text" } ] }, { - "type" : "dict", - "key" : "delivery_action", - "label" : "Delivery", - "checkbox_key" : "enabled", - "children" : [ + "type": "dict", + "key": "delivery_action", + "label": "Delivery", + "checkbox_key": "enabled", + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" }, { - "type" : "list", - "key" : "role_list", - "label" : "Roles", - "object_type" : "text" + "type": "list", + "key": "role_list", + "label": "Roles", + "object_type": "text" } ] }, { - "type" : "dict", - "key" : "store_thubmnail_to_avalon", - "label" : "Store Thumbnails to avalon", - "checkbox_key" : "enabled", - "children" : [ + "type": "dict", + "key": "store_thubmnail_to_avalon", + "label": "Store Thumbnails to avalon", + "checkbox_key": "enabled", + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" }, { - "type" : "list", - "key" : "role_list", - "label" : "Roles", - "object_type" : "text" + "type": "list", + "key": "role_list", + "label": "Roles", + "object_type": "text" } ] }, { - "type" : "dict", - "key" : "job_killer", - "label" : "Job Killer", - "checkbox_key" : "enabled", - "children" : [ + "type": "dict", + "key": "job_killer", + "label": "Job Killer", + "checkbox_key": "enabled", + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" }, { - "type" : "list", - "key" : "role_list", - "label" : "Roles", - "object_type" : "text" + "type": "list", + "key": "role_list", + "label": "Roles", + "object_type": "text" } ] }, { - "type" : "dict", - "key" : "sync_to_avalon_local", - "label" : "Sync to avalon (local) - For development", - "checkbox_key" : "enabled", - "children" : [ + "type": "dict", + "key": "sync_to_avalon_local", + "label": "Sync to avalon (local) - For development", + "checkbox_key": "enabled", + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" }, { - "type" : "list", - "key" : "role_list", - "label" : "Roles", - "object_type" : "text" + "type": "list", + "key": "role_list", + "label": "Roles", + "object_type": "text" } ] }, { - "type" : "dict", - "key" : "seed_project", - "label" : "Seed Debug Project", - "checkbox_key" : "enabled", - "children" : [ + "type": "dict", + "key": "seed_project", + "label": "Seed Debug Project", + "checkbox_key": "enabled", + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" }, { - "type" : "list", - "key" : "role_list", - "label" : "Roles", - "object_type" : "text" + "type": "list", + "key": "role_list", + "label": "Roles", + "object_type": "text" } ] } ] }, { - "type" : "dict", - "collapsible" : true, - "key" : "publish", - "label" : "Publish plugins", - "children" : [ + "type": "dict", + "collapsible": true, + "key": "publish", + "label": "Publish plugins", + "children": [ { - "type" : "dict", - "collapsible" : true, - "checkbox_key" : "enabled", - "key" : "CollectFtrackFamily", - "label" : "Collect Ftrack Family", - "is_group" : true, - "children" : [ + "type": "dict", + "collapsible": true, + "checkbox_key": "enabled", + "key": "CollectFtrackFamily", + "label": "Collect Ftrack Family", + "is_group": true, + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" }, { - "type" : "list", - "collapsible" : true, - "key" : "profiles", - "label" : "Profiles", - "use_label_wrap" : true, - "object_type" : { - "type" : "dict", - "children" : [ + "type": "list", + "collapsible": true, + "key": "profiles", + "label": "Profiles", + "use_label_wrap": true, + "object_type": { + "type": "dict", + "children": [ { - "key" : "hosts", - "label" : "Host names", - "type" : "list", - "object_type" : "text" + "key": "hosts", + "label": "Host names", + "type": "list", + "object_type": "text" }, { - "key" : "families", - "label" : "Families", - "type" : "list", - "object_type" : "text" + "key": "families", + "label": "Families", + "type": "list", + "object_type": "text" }, { - "key" : "task_types", - "label" : "Task types", - "type" : "task-types-enum" + "key": "task_types", + "label": "Task types", + "type": "task-types-enum" }, { - "key" : "tasks", - "label" : "Task names", - "type" : "list", - "object_type" : "text" + "key": "tasks", + "label": "Task names", + "type": "list", + "object_type": "text" }, { - "type" : "separator" + "type": "separator" }, { - "key" : "add_ftrack_family", - "label" : "Add Ftrack Family", - "type" : "boolean" + "key": "add_ftrack_family", + "label": "Add Ftrack Family", + "type": "boolean" }, { - "type" : "list", - "collapsible" : true, - "key" : "advanced_filtering", - "label" : "Advanced adding if additional families present", - "use_label_wrap" : true, - "object_type" : { - "type" : "dict", - "children" : [ + "type": "list", + "collapsible": true, + "key": "advanced_filtering", + "label": "Advanced adding if additional families present", + "use_label_wrap": true, + "object_type": { + "type": "dict", + "children": [ { - "key" : "families", - "label" : "Additional Families", - "type" : "list", - "object_type" : "text" + "key": "families", + "label": "Additional Families", + "type": "list", + "object_type": "text" }, { - "key" : "add_ftrack_family", - "label" : "Add Ftrack Family", - "type" : "boolean" + "key": "add_ftrack_family", + "label": "Add Ftrack Family", + "type": "boolean" } ] } @@ -697,63 +698,63 @@ ] }, { - "type" : "dict", - "collapsible" : true, - "checkbox_key" : "enabled", - "key" : "IntegrateFtrackNote", - "label" : "IntegrateFtrackNote", - "is_group" : true, - "children" : [ + "type": "dict", + "collapsible": true, + "checkbox_key": "enabled", + "key": "IntegrateFtrackNote", + "label": "IntegrateFtrackNote", + "is_group": true, + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" }, { - "type" : "text", - "key" : "note_with_intent_template", - "label" : "Note with intent template" + "type": "text", + "key": "note_with_intent_template", + "label": "Note with intent template" }, { - "type" : "list", - "object_type" : "text", - "key" : "note_labels", - "label" : "Note labels" + "type": "list", + "object_type": "text", + "key": "note_labels", + "label": "Note labels" } ] }, { - "type" : "dict", - "collapsible" : true, - "checkbox_key" : "enabled", - "key" : "ValidateFtrackAttributes", - "label" : "ValidateFtrackAttributes", - "is_group" : true, - "children" : [ + "type": "dict", + "collapsible": true, + "checkbox_key": "enabled", + "key": "ValidateFtrackAttributes", + "label": "ValidateFtrackAttributes", + "is_group": true, + "children": [ { - "type" : "boolean", - "key" : "enabled", - "label" : "Enabled" + "type": "boolean", + "key": "enabled", + "label": "Enabled" }, { - "type" : "raw-json", - "key" : "ftrack_custom_attributes", - "label" : "Custom attributes to validate" + "type": "raw-json", + "key": "ftrack_custom_attributes", + "label": "Custom attributes to validate" } ] }, - { - "type" : "dict", - "key" : "IntegrateFtrackInstance", - "label" : "IntegrateFtrackInstance", - "is_group" : true, - "children" : [ + { + "type": "dict", + "key": "IntegrateFtrackInstance", + "label": "IntegrateFtrackInstance", + "is_group": true, + "children": [ { - "type" : "dict-modifiable", - "key" : "family_mapping", - "label" : "Family Mapping", - "object_type" : { - "type" : "text" + "type": "dict-modifiable", + "key": "family_mapping", + "label": "Family Mapping", + "object_type": { + "type": "text" } } ] From ce7d759860252b98738eb18ec11c7801f493d0bd Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 1 Feb 2022 17:17:52 +0100 Subject: [PATCH 10/12] more formatting fixes --- openpype/settings/defaults/project_settings/ftrack.json | 2 +- .../entities/schemas/projects_schema/schema_project_ftrack.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/openpype/settings/defaults/project_settings/ftrack.json b/openpype/settings/defaults/project_settings/ftrack.json index 1c1256caab..2f4fd6a790 100644 --- a/openpype/settings/defaults/project_settings/ftrack.json +++ b/openpype/settings/defaults/project_settings/ftrack.json @@ -378,4 +378,4 @@ } } } -} +} \ No newline at end of file diff --git a/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json b/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json index 1e904e6fdb..e6c8282981 100644 --- a/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json +++ b/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json @@ -762,4 +762,4 @@ ] } ] -} +} \ No newline at end of file From 39751e6cff2effda6ec641c6a1a8072d0cf0f98a Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 1 Feb 2022 17:24:27 +0100 Subject: [PATCH 11/12] even more formatting fixes --- openpype/settings/defaults/project_settings/ftrack.json | 2 +- .../entities/schemas/projects_schema/schema_project_ftrack.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/openpype/settings/defaults/project_settings/ftrack.json b/openpype/settings/defaults/project_settings/ftrack.json index 2f4fd6a790..1474ad103d 100644 --- a/openpype/settings/defaults/project_settings/ftrack.json +++ b/openpype/settings/defaults/project_settings/ftrack.json @@ -343,7 +343,7 @@ "enabled": false, "ftrack_custom_attributes": {} }, - "IntegrateFtrackInstance": { + "IntegrateFtrackInstance": { "family_mapping": { "camera": "cam", "look": "look", diff --git a/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json b/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json index e6c8282981..eae4ee5536 100644 --- a/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json +++ b/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json @@ -743,7 +743,7 @@ } ] }, - { + { "type": "dict", "key": "IntegrateFtrackInstance", "label": "IntegrateFtrackInstance", From 1684ea0dc3b535ce28a85d90b9fa80e55fb9f867 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 1 Feb 2022 17:25:45 +0100 Subject: [PATCH 12/12] even more formatting fixes --- .../entities/schemas/projects_schema/schema_project_ftrack.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json b/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json index eae4ee5536..6d0e2693d4 100644 --- a/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json +++ b/openpype/settings/entities/schemas/projects_schema/schema_project_ftrack.json @@ -762,4 +762,4 @@ ] } ] -} \ No newline at end of file +}