0

Simple Entity Browser

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:

http://pastebin.com/bYvdcbb1

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

5 comments

  • 0
    Avatar
    Gavin Greenwalt

    I added two mock ups of what these might look like.  Of course it could be in one of two forms.  a minimalist version without the right extended info bar and the full one with extra info for the currently selected entity in the entity browser or a full list of all projects when in the project selection. 

    The project selection could also be an optional step as well since I imagine you could feed it an existing page. 

    Overall though a key feature would need to be cross platform compatibility, even at the cost of whiz bang coolness. Although I suppose at a later date there could be a whizbang version too with quicksearch etc. 

  • 0
    Avatar
    Gavin Greenwalt

    Just had another idea.   At the bottom of every list (for example " v Shots") there should be a "+ new shot" option.  That way if you were in:

    Sequences\Sequence_010\Shots\

    and there were no shots you would press:
    "+ new shot"

    It would switch to a new form to create a new one and then return you to the tree-view when you were done.

    Again no need for customization or anything fancy on this screen, just really basic stuff that works everywhere and is as fast as possible since artists would be directly interacting with it. 

  • 0
    Avatar
    KP

    Hey Gavin,

    This is good stuff. We're actually in the midst of looking into overhauling our navigational structure to make it much more intuitive and powerful. Thinking that while there should be a hierarchical nature to getting to things, not everyone expects to get to things in the same way. Think like how iTunes lets you navigate your music library and you can get at songs by artist, album, genre, etc. 

    So couple that type of browser idea with what you're talking about and make it a lightweight standalone widget that could be embedded in any tool you need. And as you say, creating some sort of standard method or returning entity into in a link. I wonder if you'd need the hierarchy information also returned in the url to know where in the tree you are.

    Anyway, I've linked this post to our internal ticket for the navigational overhaul which is currently on the roadmap for later this year. So we'll start thinking about it also in terms of an embedded tool. I'm sure Don will probably have more to flush out on this request though. Thanks for bringing this up and if you (or anyone) has more thoughts on the matter, please share them!

    (fyi, the pastebin link was down so I couldn't check that out.)

  • 0
    Avatar
    KP

    I also meant to point you to this post as well: https://support.shotgunsoftware.com/entries/44956-itunes-style-filtering

  • 0
    Avatar
    Gavin Greenwalt

    http://pastebin.org/171314

    Looks like PasteBin.com is buggered right now.   I'll also attach an RTF to the original post...

Please sign in to leave a comment.