Open mottosso opened 7 years ago
Here's a mockup for a pull-request like workflow.
Technically, what would happen is that before an asset it "integrated" - that is, written into the publish/
folder - it is sent for review. Once the review is "approved", the files get written into the publish/
folder.
Some requirements for this.
Publishing GUI mockup.
______________________________________________________
|_____________________________________________________x|
| |
| Title |
| __________________________________________________ |
| | | |
| |__________________________________________________| |
| |
| Body |
| __________________________________________________ |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| |__________________________________________________| |
| |
| Annotations |
| __________________________________________________ |
| | | | |
| | | | |
| | | | |
| | front | right | |
| | | | |
| | | | |
| | | | |
| |------------------------|-------------------------| |
| | | | |
| | | | |
| | | | |
| | top | perspective | |
| | | | |
| | | | |
| | | | |
| |________________________|_________________________| |
| |
| _______________ |
| | | |
| |_______________| |
|______________________________________________________|
Some more thoughts on this.
At the moment, when the artist hits "File -> Publish" the publishing GUI appears. Once published, the files appear on the server and is accessible by others.
Internally, what happens is three things.
c:\tmp
.stage
. At the moment, the stage is located in the user's working directory.In place of (3), we could instead keep the files in the stage
and generate a web page like the one shown above.
One this page we present the results of extraction, including any images and video but ideally one central "showpiece" like a playblast that others may comment on (and make annotations on).
Once feedback is complete, the original step (3) could kick in and create a unique version on disk for others to access. This would also be where one could decide whether a publish is "approved" or simply "just a new version".
Although we could extract playblasts and turntables onto the server, and use this on the generated web page, there is an associated cost to this which is that whenever anyone watches a playblast online, including clients, our file server takes a performance hit. The same goes for when artists are publishing and working with large caches or renders, the reviewer would be stuck with the buffer symbol.
An alternative is hosting elsewhere, such as on a dedicated file server which would solve the "conflict of interest" in terms of who gets the most performance.
However the cheapest and most performant long-term option might be to host it on something like YouTube.
YouTube offers free unlimited hosting and is guaranteed to have 100% up-time and all the bandwidth we would ever need, no matter how many reviewers are watching in parallel.
I see a couple of problems with this approach.
Points 3-6 could be solved by referencing the video file directly and playing it back ourselves. As it turns out, most videos on YouTube can be referenced like this.
decodeURIComponent(ytplayer.config.args.url_encoded_fmt_stream_map.split(",")[0]);
Point 1 could be solved by either making the video unlisted, which would make it (supposedly) impossible for anyone to find without being given a direct like, or private in which case we could register a "bot"-like account with sole access to the videos.
Point 2 is the potential dealbreaker and the reason we might want to consider hosting the videos ourselves, on a dedicated file server.
Potential option for creating textual annotations on video.
Goal
Enable internal review of published material.
Motivation
Every change contributes to the greater whole and we currently validate our output such that we can ascertain that the things you published lives up to a certain standard.
But some things are difficult to validate, such as whether it "looks good" or "follows direction" or "is what the director wants". For that we need review. Some mechanism with which to lay eyes on a change and (1) determine whether it moves in the right direction and (2) provide feedback on how to better it.
Options
A pull request is a unit of change that a user would like to integrate into the main pipeline. It works like this.
This essentially means that, as opposed to Shotgun and ftrack, versions are reviewed before they become public.
Either of these options are a great step forward, which one to pick is up for discussion.