Advanced user sandbox setup

Hi!

I apologize if the question has been asked before, I’ve been trying to find a working example of setting up user sandboxes.

I have a two part question:

  1. I am in the process of enabling user sandboxes for tk-multi-workfiles, I added a user directory in work inside the schema, my user.yml looks like this:

    # the type of dynamic content
    type: "user_workspace"
    
    name: "login"
    

    Regarding the maya_asset_work key in the templates.yml, what value do I use to reference the user?

    # What should be the key name of current_user? Such that the active user's login will be substituted?
    maya_asset_work:
        definition: "@asset_root/work/{current_user}/maya/{name}.v{version}.{maya_extension}"
    
  2. We have an internal server setup, where user sandboxes are maintained outside the projects mount. I want the user to be able to save their workfile to the users mount. I created a second LocalStorage in SG and updated roots.yml with the newly created LocalStorage details. Is this doable in any form?

    For ex:

    primary:
      default: true
      linux_path: /mnt/projects
      ...
    
    local:
      linux_path: /mnt/workspace
      ...
    

    The idea here is to use local as the root_name for the user directory.

    However, I am unable to add a user directory to the schema at root level. The user’s mount is slightly different from the project mount, basically the user’s named directory needs to be inserted before the project’s named directory.

    /mnt/workspace/{user}/{project}/.../

    which would shadow the project’s mount: (minus user)

    /mnt/pojects/{project}/.../

4 Likes

Hi @Sreenathan_Nair!

1: Here’s an example of how to set up a HumanUser template key in templates.yml.

2: That’s a tricky one. We’re actively thinking about making storage roots more flexible in Toolkit (one idea is to support environment variables, which would help here). In the meantime, there’s no real solution on the Toolkit side, but I wonder if you could achieve what you’re after with a symbolic link from the mount point on the local machine to the path that Toolkit is expecting?

Hope that helps! Let us know if you have any other questions.

3 Likes

Hi @tannaz,

  1. That was exactly the information I was looking for. Thank you very much!

  2. I was considering the symlink option, but with NFS and Windows in the mix I wanted to keep that as a lower priority option. However, thank you for the clarification! I will build something outside of toolkit for the user sandbox files I/O.

Best wishes,
Sreenathan

2 Likes

Ah yes, symlinks + Windows = treacherous waters indeed. Good luck with your alternate solution!

2 Likes

Hi @Sreenathan_Nair - no big news, but just a bit of housekeeping: I know you have a workaround, but I’ve linked this post to the internal ticket for improvements I mentioned. We’ll be notified when it’s resolved, and we will notify you in turn.

2 Likes

Thanks @tannaz! Looking forward to having this functionality out of the box in the future :slight_smile:

2 Likes