forked from shotgunsoftware/tk-multi-workfiles2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
info.yml
280 lines (242 loc) · 10.8 KB
/
info.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
# Copyright (c) 2015 Shotgun Software Inc.
#
# CONFIDENTIAL AND PROPRIETARY
#
# This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit
# Source Code License included in this distribution package. See LICENSE.
# By accessing, using, copying or modifying this work you indicate your
# agreement to the Shotgun Pipeline Toolkit Source Code License. All rights
# not expressly granted therein are reserved by Shotgun Software Inc.
# Metadata defining the behaviour and requirements for this app
# expected fields in the configuration file for this app
configuration:
# Startup options
#
show_change_context:
type: bool
description: A flag to enable the context change dialog. A context change window is provided where the user
can pick an entity to change context to without opening a file.
default_value: False
show_file_open:
type: bool
description: A flag to enable the open file dialog. A open file window is provided where the user
can pick an entity and select the files associated with that context to open run other actions on.
default_value: True
show_file_save:
type: bool
description: A flag to enable the save file dialog. A save file window is provided where the user
can save the current workfile to the Toolkit templated folder structure.
default_value: True
launch_at_startup:
type: bool
description: A flag whether to launch the UI at application startup.
This option is not supported on all engines because of
differences in the way some platforms start up. Currently, only maya
nuke and 3ds Max support this option.
default_value: False
# templates
#
template_work:
type: template
fields: context, [name], [version], [extension], *
description: A reference to a template which locates a work file on disk.
allows_empty: True
template_work_area:
type: template
description: A reference to a template which locates the work directory on
disk
allows_empty: True
template_publish:
type: template
fields: context, [name], [version], [extension], *
description: A reference to a template which locates a publish file on disk.
allows_empty: True
template_publish_area:
type: template
description: A reference to a template which locates the publish directory on
disk
allows_empty: True
# Hooks
#
hook_scene_operation:
type: hook
default_value: "{self}/scene_operation_{engine_name}.py"
description: All the application specific scene operations (open, save etc) that
the app needs to carry out are collected together in this hook.
hook_copy_file:
type: hook
default_value: "{self}/copy_file.py"
description: Specify a hook that will be used to copy the file 'source_path'
to 'target_path'.
hook_filter_work_files:
type: hook
default_value: "{self}/filter_work_files.py"
description: Specify a hook that, if needed, can filter the raw list of work files found
for the current work area
hook_filter_publishes:
type: hook
default_value: "{self}/filter_publishes.py"
description: Specify a hook that, if needed, can filter the raw list of publishes returned
from ShotGrid for the current Work area.
hook_get_badge:
type: hook
default_value: "{self}/get_badge.py"
description: Specify a hook that, if desired, provides a badge icon to include in the UI
when displaying a publish or work file.
custom_actions_hook:
type: hook
default_value: "{self}/custom_actions.py"
description: Hook which contains all custom action methods.
create_new_task_hook:
type: hook
default_value: "{self}/create_new_task.py"
description: Specify a hook that will create the task and do any input validation that is
required.
# General preferences
#
entities:
type: list
description: "This setting defines the different tabs that will show up on the left hand side.
Each tab represents a ShotGrid query, grouped by some ShotGrid fields to form a tree.
This setting is a list of dictionaries. Each dictionary in the list defines one tab,
and should have the following keys: *caption* specifies the name of the tab, *entity_type*
specifies the ShotGrid Entity type to display. *filters* is a list of standard API ShotGrid
filters either in the standard or complex format. *hierarchy* is a list of ShotGrid fields
relative to the entity type, defining the grouping of the tree. An optional *sub_query*
key can be used to define a deferred query which will be run to collect children when
an Entity is expanded in the tree view, typically Tasks for a Shot or an Asset.
It is a dictionary with the following keys: *entity_type* key to specify the child Entity
type to collect, *link_field* the ShotGrid field name used to link the Entity to its parent,
*filters* a list of standard ShotGrid API filters, *hierarchy* a list of fields defining
the grouping in the sub-tree.
The optional *step_filter_on* setting is an Entity type and can be used to restrict
the list of Steps used for filtering to only the Steps for the specified Entity type.
"
# For backward compatibility reasons we don't use the new deferred queries
# by default. Using deferred queries, an Asset/Shot setup could be:
# - caption: Assets (deferred)
# entity_type: Asset
# hierarchy: [sg_asset_type, code]
# sub_hierarchy:
# entity_type: Task
# filters:
# link_field: entity
# hierarchy: [step]
# - caption: Shots (deferred)
# entity_type: Shot
# hierarchy: [sg_sequence, code]
# sub_hierarchy:
# entity_type: Task
# filters:
# link_field: entity
# hierarchy: [step]
allows_empty: True
values:
type: dict
default_value:
- caption: Assets
entity_type: Task
step_filter_on: Asset
filters:
- [entity, type_is, Asset]
hierarchy: [entity.Asset.sg_asset_type, entity, step, content]
- caption: Shots
entity_type: Task
step_filter_on: Shot
filters:
- [entity, type_is, Shot]
hierarchy: [entity.Shot.sg_sequence, entity, step, content]
default_value_tk-hiero:
- caption: Projects
entity_type: Project
filters: []
hierarchy: [name]
show_my_tasks:
type: bool
description: Define if the My Tasks view should be visible or not.
default_value: True
default_value_tk-hiero: False
auto_expand_tree:
type: bool
description: Automatically expands the root level of the treeviews.
default_value: False
my_tasks_extra_display_fields:
type: list
description: List of additional fields to display with the task in the My Tasks list.
values:
type: str
allows_empty: True
default_value: []
my_tasks_filters:
type: list
description: List of filters to apply to the tasks in the My Tasks tab.
values:
type: shotgun_filter
allows_empty: True
default_value:
- [task_assignees, is, '{context.user}']
file_extensions:
type: list
description: List of file extensions to be shown in the work files view. If
empty then all files that match the template will be shown.
values:
type: str
allows_empty: True
default_value: []
version_compare_ignore_fields:
type: list
description: A list of fields that should be ignored when comparing files to
determine if they are different versions of the same file. If
this is left empty then only the version field will be ignored.
Care should be taken when specifying fields to ignore as Toolkit
will expect the version to be unique across files that have
different values for those fields and will error if this isn't the
case.
values:
type: str
allows_empty: True
default_value: []
allow_task_creation:
type: bool
description: Controls whether new tasks can be created from the app.
default_value: True
file_browser_tabs:
type: list
description: "A list of tab names that are visible in the main browser. Values
can be any combination of the following tab names: 'All',
'Working', and 'Publishes'. The order of the specified
values determines the order of the tabs in the app."
allows_empty: False
values:
type: str
default_value: ['All', 'Working', 'Publishes']
# Save specific options
#
saveas_default_name:
type: str
description: The default name that gets used by when saving a work file using the
save-as command
default_value: scene
saveas_prefer_version_up:
type: bool
description: Control how the save-as command determines the inital name to be used. If
set to True then the name from the current scene will be used and the version
incremented. If False then a new unique name will be used and the version
reset
default_value: False
# the Shotgun fields that this app needs in order to operate correctly
requires_shotgun_fields:
# More verbose description of this item
display_name: "ShotGrid Workfiles"
description: "Using this app you can browse, open and save your Work Files and Publishes."
# Required minimum versions for this item to run
requires_shotgun_version:
requires_core_version: "v0.19.18"
requires_engine_version:
# the engines that this app can operate in:
supported_engines:
# the frameworks required to run this app
frameworks:
# We need a version of tk-framework-shotgunutils with a fix for deleting items.
- {"name": "tk-framework-shotgunutils", "version": "v5.x.x", "minimum_version": "v5.3.5"}
- {"name": "tk-framework-qtwidgets", "version": "v2.x.x"}