When a new project is created in shotgun in a studio that uses tank, it's just natural to have a tank setup created automatically in the moment the shotgun project is created.
This is best done with the shotgun events daemon, or something equivalent.
In order to setup the initial folder structure, ideally using tanks folder schema right away, one will have to know what the storage location shall be.
Shotgun already has the notation of 'Local Storage' or Filesystem Locations, which can be setup in 'Site Preferences -> File Management'.
When it comes to that, shotgun is amazingly consistent as such it will store this information in an entity of type 'LocalStorage', very similar to pipeline steps which are stored in a 'Step' entity.
Back with the new project, the vital piece of information I need attached to it during creation is the LocalStorage entity to use. That way, everything can be initialized in the right spot and will work like a charm.
In theory, this can be done by adding a custom mandatory entity field to the 'Project' entity, and specify to only connect 'LocalStorage' entities to it, practically though the entity type I am interested in doesn't show up.
In 'Site Prefernces -> Entities' I cannot even see these entities either to configure them.
A similar problem I recently had with 'Step' entities, which needed to have another field to specify the folder name tank should use when creating directories.
As a workaround, I will use a custom entity with just one field pointing to the LocalStorage entity I need. The latter will be setup via API to point to the right one, the former will be used as Entity to connect to the mandatory project field. This forces me to deal with redundant information, increasing my maintenance costs as these edits cannot be done by a user, and making the code accessing this information more complex than it needs to be.
Do you think there will be a way to make LocalStorage (and possibly Step) entities accessible in the GUI ?