Managing Yearly Project Paths in Distributed Pipeline Setup

Hello FPTR Community,

Currently, our studio uses a distributed pipeline with a primary configuration for DCC tool integration, storing assets on a shared network drive. In our setup, the primary Windows path is set to Y://2024// in Site Preferences → File Management.

When the pipeline runs with a distributed config, it automatically assigns paths as Y://2024//<project>. Since we prefer to manage projects by year, our plan is to update the primary path to Y://2025// for the next year, expecting that projects will then be stored in the new Y://2025// folder.

My question is: Is it sufficient to change the primary path alone for this transition? Or should I create a new entry using Add Local File Storage labeled “2025” and assign this path to new projects?

I’m concerned that altering the primary path might change paths for all existing projects. Also, from testing, it appears that paths are always assigned to the primary path by default. Could anyone share how to assign specific paths to projects instead of using the primary path as the default?

Any advice on the best approach for managing paths by project year would be greatly appreciated!

Thank you!

Hey @Sean ,

I think changing the storage path would change all your exiting published files’ path in SG.

I would recommend creating a new local file storage.

1 Like

Hi @ali-jafargholi,

Thanks for the suggestion!

If I create a new local file storage for each year, would that mean I also need to distribute a new configuration annually to reflect the updated storage path?

Is there a way to assign a specific storage path directly to a project within the FPTR web interface, so the project can explicitly use the desired path without relying on the primary storage?

You are much better off using the tk-core default_storage_root hook.

https://developers.shotgridsoftware.com/tk-core/core.html#module-default_storage_root

Then you can assign each project a Storage location that is it’s primary.
The hook changes the storage root on the fly while bootstrapping.

Examples:

1 Like

This looks like a great solution for our needs. I’ll try it out—much appreciated!

1 Like