I’ve searched a bit on this topic but haven’t found a great answer yet and I did see that this was potentially added to the roadmap.
I am currently setting up a project with a storage root that uses an environment variable that all users will have access to ($PROJECT_PATH).
I can get this to work correctly in tank by modifying some method returns, which I’ll list below, but it seems to have an issue resolving those files with SG once they are created. Before I went too far down a rabbit hole, is there a better way of doing this? Right now it’s just two files, but now I am looking at changes potentially to the FolderIOReceiver class and then some.
Here are the method changes I’ve made:
- Change line 794 to “project_roots_lookup[root_name] = os.path.expandvars(project_root.current_os)”
- Change line 84 to “return os.path.expandvars(self._storage_root_path)”
The error I then receive when attempting to create task folders from tank:
tank Task #### folders
ERROR: Critical! Could not update SG with folder data. Please contact support.
Error details: API batch() request with index 0 failed. All requests rolled
back. API create() CRUD ERROR #6: Create failed for [Attachment]: Path
ABSOLUTE_PROJECT_PATH doesn’t match any defined Local
The folders are created on disk, but it looks like the io receiver can’t resolve the absolute paths back to a storage root in SG.