Many studios employ and/or collaborate with artists and teams that work externally. In these situations, the artists may not have access to the studio's internal filesystem, but will have access to a shared source control system like Perforce, SVN, etc. This leads to an interesting workflow possibility as it relates to Tank, where Tank can help automate the source control checkins while also continuing to track Task/Publish relationships in Shotgun. Conceptually, Tank would still manage what an artist's working files, but at publish time, instead of (or in addition to) simply copying the files to the proper publish location, Tank would check the files into source control with the relevant metadata automatically populated based on the context, thus eliminating the need for artists to do this by hand, which can be error-prone. Similarly, when an artist needs to load a publish, Tank would make sure to check out/sync the relevant files from source control beforehand.
The attached diagram outlines how such a workflow might play out. From an implementation standpoint, the source control logic would ideally be put in place via Tank post-publish hooks, which by default just do a straight copy to the proper publish location (the source control checkin would of course replace this) as well as the pre-load hooks, which can be done now but don't have an equivalent in the current default setup.
It would be great to get feedback on this idea and approach, as well as more detailed use cases! In particular, what kind of dataflow permutations might be needed for real-world scenarios, especially if things might need to work one way for the internal studio and a different way for the external artists? Any and all info will help us make sure we cover all of the configuration options that studios will need to make this workflow feel simple and intuitive!