How to set up custom folder creation when using the launcher or ftrack actions?

We’re in the process of setting up OpenPype in our studio. We currently use specific folder structure for each shot which we would like to keep. Currently when you use the ftrack action or launcher to open a shot, it creates the folder for the shot and then a publish and work folder with the taskname in the work folder. We would like it to create some additional folders in the work folder or in the shot folder. I have attached screenshots of what we would like to have happen and what the current one is.


Task Extra Work Folders

These can be application, task type or task name specific and get generated upon launching an application into the task.

I think you might be able to get this to work using application specific folders to be generated on launching an application in the task using setting project_settings/global/tools/Workfiles/extra_folders

Here’s an example configuration:

As JSON:

[
    {
        "hosts": [
            "maya"
        ],
        "task_types": [],
        "task_names": [],
        "folders": [
            "scenes",
            "images",
            "renders",
            "data"
        ]
    },
    {
        "hosts": [
            "fusion"
        ],
        "task_types": [],
        "task_names": [],
        "folders": [
            "scenes",
            "renders"
        ]
    }
]

You can copy the json to clipboard and right click on the “Extra work folders” header and click “Paste” to match the exact values.

If you set no value in host then the extra folders will trigger for any host application being launched.
The folders will not be created if you haven’t launched into it yet.


Project folder structure

There’s also the setting project_settings/global/project_folder_structure through which you can generate specific project folders but I don’t believe those are folders “per asset” but global folders in the project.

These only get created when triggering the specific “Create project folders” action. In the Project Manager (Beta) that is:

image

And in Ftrack that would be one of these two actions.

image

Likely it’s the “Create Project Structure” one since at least that mentions the header label in settings. But honestly I’m not entirely sure. :slight_smile:

Thanks a lot! This is what I was looking for. And you’re correct that the ‘create project folder structure’ is related to the folders that are just global per project.
It Works when I launch with Nuke now, although it doesn’t seem to work with the ‘create folders’ action from Ftrack, but 99% of the time it’s gonna be thorugh the launcher anyway so it’s not that big of a deal for me right now. Thanks again!

Hello !

“Project folder structure” is exactly what I need, and I found its settings location.

But the “Create Starting Folders” button seems to only appear in OpenPype (I have seen it on several screenshots).

Where is that button in Ayon ? I searched in Ayon’s launcher, and in its web app.

Thanks.

It is waiting to be implemented in Ayon yet. It is not a priority atm, but on the list . . .

Also, we are not big fans of creating empty folders. We only create folders on demand, when they are needed and contain some data. Projects with hundreds of empty folders with no data are not useful.

Just as note: I feel like it’s less about creating hundreds of empty folders but more about creating the basic folder structure on disk for new projects (especially folders that aren’t necessarily asset/production tracking related). Like creating a global documents/ folders for e.g. producers to drop some of the client briefs or whatever or maybe a resources/ folder for project-related fonts, etc.

So I feel it’s more about creating maybe 10 folders than hundreds.

creating these production-related folders is of course completely fine. And as I wrote, it is on the list, but with Ayon’s architecture change the server does not have direct access to production storage so we need to figure out the proper way how to do it . . .

Yes it’s exactly what BigRoy said.
If a producer needs to place on the main server a storyboard provided by the client, he cannot wait for an artist to create a dummy task that allows to create the right folder.

Thanks murphy for the clarification.
As the server does not have access to production storage, maybe the Desktop App could have a “Create Folder Structure” button, that would only be available to some allowed people.

On the subject of “Create Starting Folders”, for the sake of completeness, here are some examples of files that cannot be tracked (because they were provided by our clients), but our producers need to place them somewhere on our folder tree :
-Clients briefs.
-Fonts.
-Sounds.
-Logos.
-Photos and videos (for mood).
-And even sometimes mesh objects (because more and more brands have inhouse modeling team for their design).

Also, some of the assets we create are outputed from softwares that cannot be scripted (they don’t have an sdk), but we still need to place the files on existing folders.

Exposed a simple launcher action here: Add simple Create Project Structure launcher action by BigRoy · Pull Request #679 · ynput/ayon-core · GitHub

Note that the code to trigger the folder creation is very simple:

from ayon_core.pipeline import project_folders
project_folders.create_project_folders(project_name)

Which is what the launcher action basically does.

But you can e.g. also run that code in the Launcher > Admin > Console if you really want to or even from a host launched from AYON.

1 Like

Here is a quick update about PR 679 (“Create Project Structure” Launcher Action) :
It is on pause, because Web Actions might take precedence on this and ‘replace’ it :

1 Like