Proposal: Create 'Convention Check' System #84
Labels
No Label
Kind
Breaking
Kind
Bug
Kind: Community
Kind
Documentation
Kind
Easy
Kind
Enhancement
Kind
Feature
Kind
Proposal
Kind
Security
Kind
Studio Request
Kind
Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: studio/blender-studio-tools#84
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Production Files created by Blender Studio users can be saved without checking if the file's contents matches the Blender Studio Pipeline's conventions. This proposal outlines the issues created by the lack of convention enforcement and a proposed solution.
Issues
Blender Kitsu>Shot Builder
and some manual tools. This means production files do not have reliable conventions set at the beginning of the production. (e.g. Error when Building Shot) Errors showing up across many files)Check Action Names
orCheck Output Collection
)Solution
Convention Check on Save
Convention Checks are verifications that the file's contents match the Blender Studio Pipeline's conventions. Convention Checks will be run before users can save their work. This ensures all files in the production are aligned with the conventions we set. Therefor, as issues arise for specific tasks, we can created additional checks to accommodate those issues. Some examples of things that can be Convention Checked are: https://studio.blender.org/pipeline/archive/pipeline-proposal-2019/task-companion-add-on Once all information about files can be saved in Kitsu, then we can confidently run convention check(s) on any production files.
Steps to Success
Check Action Names
orCheck Output Collection
) in Convention ChecksConvention Check Proposalto Proposal: Create Convention Check SystemProposal: Create Convention Check Systemto Proposal: Create 'Convention Check' SystemHi Nick, would you already have some ideas/proposals for "Determine what convention checks need to be run based on Kitsu task type"? Other or complementary to the examples listed in the link.
Even a rough draft, as a start for the next conversations with the team?
Hey @FoxGlove thanks for the feedback, so two things, firstly I think we should have a large of convention checks that can be run on any task type, and I in my opinion what conventions are run should be determine by the production, this way we can react to new things that pop up, or conventions that are defined exclusively for a certain asset or type of shot. For example on Pets we have lots of outline FX we want to check for, but maybe on the next production that wont be the case.
That being said, secondly I do still have a list of generic checks we can run across every production as follows.
Conventions Per Task Type
All Tasks
Shot Tasks
Frame Range matches Kitsu
Resolution/FPS matches Kitsu
Animation
Lighting
Asset Task Types
Armature Name matches convention
Rigging Layer
Shading Layer
@FoxGlove just a heads up I had a meeting with @fsiddi to go over this proposal, we have decided that I will move forward with a prototype of the convention check operator.
The part of this proposal that covered asset pipeline has been moved into it's own separate proposal studio/blender-studio-pipeline#92 as there are still some thinking that needs to be done about how that will work.
Next Steps: I am moving forward to prototype the convention check operator, and I am ready to discuss with the team what conventions need to be checked :)
TODO
Convention checker things to check, in no particular order:
Assets Pipeline Conventions
Before pull:
even though that is the default.(Update: It is no longer the default, yay! Still, doesn't hurt to check.)is_valid
flag currently always returns True. TODO: Make a report?After push:
Shot file conventions / tooling:
SVN/pro
)Last resort Operator to nuke and re-link an asset while preserving as much data as possible.UI to display users and dependencies of a datablock in the Outliner.A better "Remap Users" operator.)Blender currently propagates the use_fake_user flag of linked IDs, resulting in un-purgable IDs. This is terrible, so before running purge, we need to Python-override those flags to False. On every single linked ID.Would love to talk about these things in detail once there is time after Pets
Additional things we learned would be useful in the Convention Checker, from the Pets cleanup process, have been added to my previous comment.
Re-collected, re-categorized, and re-phrased all of the above points, now that we're getting closer to production and having a convention checker. It's a big friendly list.
We never came together on a final, approved, clear design for the convention check system that makes everybody happy. Tbh it seemed impossible. With the reality of production setting in, I started to feel like my needs are quite clear and quite simple, so I could address them pretty quickly. Yesterday I created the Blender Log add-on, and added some interactions between it, and our Asset Pipeline, and our asset hooks, and I hope you guys will like the results.
I think this can be a great starting point to move this discussion forward, as it previously felt quite stuck. Now we have something we can look at and talk about, whenever somebody wants to integrate this with more areas of our pipeline, we can see if it's possible and convenient, or if it needs to be taken back to the drawing board. It only took one day, so my heart won't be broken if we decide to throw it all out.
I updated the big list above once again, to keep track of which points are currently being addressed in one way or another.
@Mets I am a big fan of your implementation of Blender Log, I wish we had a centralized reporting system for a while now. I was always concerned because I was told that an "add-on operating system" is to be avoided, but truely, I don't see a better way to accomplish this then doing that.