Describe the problem
While looking at #986 and thinking about how to fit it into typical studio pipeline context, I've decided to put some thoughts about "the ideal world" case in this issue - please take it more as a discussion entry point more then some definitive feature request.
First, let me describe the common problems we are facing and need to solve:
Artist facing UI usually expose tighly controlled options with pre-selected values based on studio/project settings. For example. you might want to control what Queue you want to allow artist to use for specific task types in the project. Or have more control over the environment (conda packages). Or limit priority/host requirements. Or not show those options at all for specific contexts.
For the submission itself - we would like to produce curated dialog that shows all necessary options and their values as configured by the studio. Once artist hits the button, it would be best to execute the same logic Deadline is using to collect data from the scene to create the job - or get the job itself before it is submitted, run some validations and then submit it. The hooks implemented in #986 are part of the solution but there are some limitations I'll mention in that PR there later.
Proposed Solution
What about this - having basic python API to get the jobs/job bundle as it would be submitted (and ability to change the jobs) and be able to set the values shown in the submitter ui via calls/env vars, etc.?
Note:
What we were thinking about is basically this:
- Python API usable from inside the DCC that gathers data about the scene to create the job description
- Functions to access/modify that job desciption
- UI that works on top of the job description itself (enhanced by some DCC specific enums to provide layer/camera selection and so on)
Example Use Cases
That would open possibility to:
- trigger validations when jobs are being submitted from Deadline Submitter
- use studio configured values for the submitter
- implement different UI tools that would be functionally and settings-wise on par with the deadline submitter, so no matter what tool artist use will use to create the submission, it will go through the same (or very similar logic)
Describe the problem
While looking at #986 and thinking about how to fit it into typical studio pipeline context, I've decided to put some thoughts about "the ideal world" case in this issue - please take it more as a discussion entry point more then some definitive feature request.
First, let me describe the common problems we are facing and need to solve:
Artist facing UI usually expose tighly controlled options with pre-selected values based on studio/project settings. For example. you might want to control what Queue you want to allow artist to use for specific task types in the project. Or have more control over the environment (conda packages). Or limit priority/host requirements. Or not show those options at all for specific contexts.
For the submission itself - we would like to produce curated dialog that shows all necessary options and their values as configured by the studio. Once artist hits the button, it would be best to execute the same logic Deadline is using to collect data from the scene to create the job - or get the job itself before it is submitted, run some validations and then submit it. The hooks implemented in #986 are part of the solution but there are some limitations I'll mention in that PR there later.
Proposed Solution
What about this - having basic python API to get the jobs/job bundle as it would be submitted (and ability to change the jobs) and be able to set the values shown in the submitter ui via calls/env vars, etc.?
Note:
What we were thinking about is basically this:
Example Use Cases
That would open possibility to: