Kitsu module: Move server URL setting from global to project

Some studios prefer to run a single Kitsu instance by project, instead of having all productions running on the same server or virtual machine.

I propose to move server URL setting from global settings to project level.

The issue is for logging: the logging Kitsu Connect button should display a list of projects and you must click on a project name to enter your credentials.
The question is, do we keep the automatic opening of the credentials window if it cannot connect to a project at Tray’s startup? With the risk of a cascade of windows for all projects the first time…
I think we should keep the auto connect for all projects but not the automatic window popup. To log to a project, we must go to Kitsu Connect > {project} and enter the credentials.

There are few issues with that but it’s possible. You can’t run kitsu services in tray (which is probably not an issue for kitsu?). Change how credentials are stored. You can use the approach we use in ftrack that credentials are stored “per server url” so you can reuse them if you you have same server on multiple projects. Then you should wrap all “global” logic related to server and it’s credentials so it’s code-wise clear that e.g. you should not expect env KITSU_SERVER to be set globally etc… Then you have to create some UI where user can log in on project level.

image

NOTE:
The UI could be triggered with rest api call (registering callbacks in webserver module). With that you can trigger the UI from DCC or from launcher when needed.

+1 :+1:

I’d really love this actually (for Ftrack on our end) - especially since it sounds like the first step towards also being able to enable/disable Ftrack or Kitsu integrations per Project. That’s what we really would like - is being able to have Ftrack only on some of the projects and not all of them.


I think we should keep the auto connect for all projects but not the automatic window popup.

We could potentially have that pop-up show when you enter the project in the launcher instead of on Launcher start?
Basically like:

  1. Open project
  2. Are credentials stored for the module for this Kitsu URL?
  3. If not, then notify the user to log in.

So that IF you have the same kitsu url for all projects that it would only ask you once?
Extra nice if the Kitsu menu in the Launcher allows you to log out per kitsu url as well to remove your credentials.

Thoughts?

It’s basically as @iLLiCiTiT described here:

You can use the approach we use in ftrack that credentials are stored “per server url” so you can reuse them if you you have same server on multiple projects. Then you should wrap all “global” logic related to server and it’s credentials so it’s code-wise clear that e.g. you should not expect env KITSU_SERVER to be set globally etc… Then you have to create some UI where user can log in on project level.

is being able to have Ftrack only on some of the projects and not all of them.

just out of pure curiosity - is it because those projects you don’t want in ftrack are small enough that they don’t need project tracking on ftrack level, or are there other reasons?

I’d really love this actually (for Ftrack on our end) - especially since it sounds like the first step towards also being able to enable/disable Ftrack or Kitsu integrations per Project.

With ftrack it’s a little bit more complicated as there is running service in the background which is related to server from settings. That would require to rewrite half of ftrack module :slight_smile:
But being able to disable ftrack per project should be added.

We could potentially have that pop-up show when you enter the project in the launcher instead of on Launcher start?

This is maybe too detailed but I would not add these abilities directly to launcher tool.

It’s mostly because we have both 10+ projects that weren’t connected to ftrack yet and connecting them now is a pain :slight_smile:
Then there’s also the “so small, don’t need ftrack” cases or sandbox project that I’d like disconnected from it too.

With ftrack it’s a little bit more complicated as there is running service in the background which is related to server from settings. That would require to rewrite half of ftrack module :slight_smile:
But being able to disable ftrack per project should be added.

Can totally understand. Being able to disable per project would be our first requirement really.
It’s basically this issue: Modules: Allow modules to be customized per project · Issue #2813 · ynput/OpenPype · GitHub

This should be actually automatically resolved in AYON as all the settings can have project overrides.

1 Like