ynput / ayon-core

Apache License 2.0
18 stars 30 forks source link

Migrate applications and tools attributes to settings #608

Open dee-ynput opened 1 month ago

dee-ynput commented 1 month ago

Using attributes to manage the applications and tools attribute creates issues when staging Application settings affecting them. Using settings in the Applications addon would streamline the configuration UX and let us fully leverage the staging worflow.

We need to:

  1. Add Project level settings to Applications: 1.1 to associate applications variants to host/task using Profile settings. 1.2 to declare groups of tools and associate them to host/task using Profile settings.
  2. Add a Project level toggle setting to activate this new behavior instead of the current (legacy) one. 2.1 Add a deprecation warning whenever the pipeline requests the application list or the tools list using the legacy behavior.

We will later turn this warning into an error and change the toggle default value to the new behavior. We will later remove the old behavior and the toggle.

1.1 and 1.2 must be project level, but the applications and tools variant definition can stay at sudio level as they currently are. There might be a challenge in providing a dropdown to fill the profile settings. If needed, we could consider having all defined in studio+project levels settings.

2.1 needs a way to issue the deprecation warning. This will be handled in another issue (https://github.com/ynput/AYON-Epics/issues/28). In the meanting we will just log to strerr, but using a dedicated interface which will later be hooked to the server's warning system.

1.2 is a very different way to configure tools, but we do believe this new workflow is at least as powerfull as the legacy one. We need to find a nice name for these "groups of tool". We're open for suggestions!

[cuID:AY-5752]

BigRoy commented 1 month ago

Just want to highlight that this https://github.com/ynput/AYON-Epics/issues/28 is not a publicly available link.