5

best setup with lots of small projects

For commercials we end up with lots and lots of small projects.

Not a few big projects like film.

 

we want to 'group' projects in some way so that rather than:

    disk:\[project_name]\[sequence]\[shot]\...etc

instead we have something like:

    disk:\[client]\[product_code]\[project_name]\[sequence]\[shot]\...etc

 

also we will want to share assets between projects.

what is the best way to do this?

7 comments

  • 0
    Avatar
    Permanently deleted user

    Hello Rupert!

    That's a great question! We are currently working on a some configuration changes which will go out with Tank v0.13 which is our next big major Core API release. These changes allows for a much more arbitrary project setup and it will be possible to create the structure you guys need for small projects.

  • 0
    Avatar
    Brandon Bartlett

    So, would this be possible with the new Pipeline Configurations? If so, now that v0.13 is released, could we see how something like this might be implemented? This is more or less an excuse for us to get another video from Manne ;)

    Thanks!

  • 0
    Avatar
    rupert thorpe

    so to confirm,

    is it now possible to set up the projects with the root of the project below directories:

     disk:\[client]\[product_code]\[project_root]\

    would this need to be individually set up for each new project?  

  • 0
    Avatar
    rupert thorpe

    Hi Ryan,

    Yes,  the 'project root' is my name for the shotgun project directory, confirmed.

    yes again, I was imagining the client and product_code would be fields associated with the project.  I don't think they would need to be entities.  

    I would expect that trying to create directories for projects that had a template like this but did not have the fields set would create an error.

    R

  • 0
    Avatar
    Ryan Mayeda

    Hi Rupert!

    Unfortunately, this feature turned out to be a bit more complex to implement than we initially hoped, so it didn't make it into the first round of the pipeline configuration release.  Thanks for giving it a bump here in the forum and reminding us that we need to get back to it!  Couple quick questions for you (and anyone else out there interested in setting up their folder structure this way) though:

    • Is [project_root] in your example the actual project folder, meaning the Asset/Sequence/Shot/etc. folders go directly under there (I think this is the case, just confirming)?

    • How would the values for [client] and [product_code] be determined?  Would they be fields and/or entities in Shotgun?  If not, what drives that logic?

    Let us know and we'll take another look at how quickly this feature can be turned around.

    Thanks! 

    Ryan.

  • 0
    Avatar
    Permanently deleted user

    I am pleased to tell you that we have added support for this in the latest Toolkit Core version (v0.14.24!). 

    We added some short notes to the documentation, under an advanced pop-out section here: https://support.shotgunsoftware.com/entries/95442818

    In summary, here's how it works: 

    When you set up a new project, the setup script will ask for a project name. Previously, this name (for example my_project) would simply become the disk root point for that project. So if your storage root point was /mnt/projects, your new project would have its root under /mnt/projects/my_project.

    What we have added in v0.14.24 is the possibility to include slashes in the project name, which will result in a multi-tier structure. If you set the project name tocomms/client_x/my_project, the project will have its root in /mnt/projects/comms/client_x/my_project. We hope that this will mean that you can support more complex and nested setups, or setups where you have to manage a lot of projects at the same time. Note that you always use forward slashes, and toolkit will convert them to backslashes on Windows.

    In addition to this, we also added a special hook to make it easy to configure the name that the installer script suggests in the project setup command. By default, it will look at the project name field in shotgun and replace any non-alphanumeric characters with underscores and offer that as a suggestion for the project name.

    We know from experience that manual input can lead to mistakes so if your project naming logic differs greatly from that default simple alpha-numeric substitution, you can encode those naming convention rules in a special hook which will be executed when the suggested project name is being computed. It is outlined in the documentation link above, but basically it is a snippet of python code where toolkit will pass in a Shotgun API handle and a project id, and the hook then returns a name based on that. You can do whatever lookups and evaluations in Shotgun that you need in order to come up with the suggested project name, and of course just include slashes if you want the suggested project name to span across multiple levels in the file system

    We hope that these tools will make it possible for studios to implement more rich and complex project root setups and are curious to hear what you think!

     

  • 0
    Avatar
    rupert thorpe

    Fantastic!

Please sign in to leave a comment.