We're hoping for Shotgun to be integrated into more and more tools, however there is currently one enormous barrier to entry in the form of browsing Shotgun's structure while still offering sufficient customization on the part of the studio.
It's not realistic to expect every scripter and developer around the world to implement their own shotgun browser. There's too much diversity in client needs to hardcode into an interface. What's the fastest way to find a specific shot? What if the company uses scenes instead of sequences? what if they use both? This problem consumed 98% of my time working on Alchemy http://www.vfxtalk.com/forum/shotgun-read-node-sg-integration-t21217.html and the result is something that is specific to our studio's workflow.
So here is my solution: Web1.0
Just about every application in existence and every development platform allows for the implementation of a web browser in a window. Trouble is, at least on the Windows, IE is still the default browser and other frameworks might not offer all the fancy Web2.0 features that Safari, Chrome and IE8 offer. So it has to be something that's simple.
This wouldn't be a page for really deep investigation of your studio's shotgun site. It would just browse a single project based on a config file inside of shotgun. That config would offer a basic structure on how the studio generally links their pages together. Something like this:
In this fashion you could mix and match custom entities and their browsed relationships to one another. Based on this config file (or a GUI even if you wanted to get fancy eventually) you would generate a primitive browsing website. This website would be created for the sole purpose of feeding a Shotgun API enabled application the Entity Type and Entity GUID for a specific entity.
If I was writing a render pass manager and you wanted to link a render pass (element) to a specific shot you would pop up a browser window, have them login if necessary, or ideally perhaps log them in using an API user account and then prompt them for a project.
It would then direct them to that project's browser. Once they found the entity they wanted there would be a little button next to it to return that entity. The website would return values perhaps through something like http://url/#ENTITYTYPE="Shot"&ID="934830"&Name="Shot-010" depending on what you configured in the cfg file.
This would make shotgun integration largely trivial in numerous applications and provide a unified, easy to use interface across platforms that is consistent with the needs of your studio.
- Gavin
Shotgun_Mini-Project_Browser.gif
Shotgun_Mini-Entity_Browser.gif
Shotgun Structure.rtf