ayon-frontend
ayon-frontend copied to clipboard
Bundle per project
This is a prototype of bundles-per-project frontend. It covers just the basics needed for the backend development ( https://github.com/ynput/ayon-backend/pull/521 )
Concepts
Project bundle
Project bundle is a special type of bundle, that can only contain addons that explicitly allow per-project override (allowProjectOverride boolean flag in /api/addons).
When creating a bundle. formData is also populated with addon versions from the current production, so compatibility check works, but it is not possible to change versions of these "inherited" addons. When the bundle is saved, backend removes inherited addons and stores only the overrides in the database
Project bundle setting
Assigning a project bundle to a project is done by [POST] /projects/{projectName}/bundles, that accepts json payload with fields production and staging (you may set different project bunldes for each variant). When set to null, project bundle override is removed and project will use the studio production (or staging) bundle.
Settings
[GET] /api/settings request returns a list of addons that combines studio and project bundle, when project name argument is specified. AddonList component in the addon setting container can display inherited addons differently.
Steps
- [x] Create project bundles from the bundles page
- [ ] Assign project bundles to projects (somewhere in the project management)
- [ ] Show bundle with applied addon overrides from project bundle in project settings
@Innders if you could help me with this one, you'd have it much faster than me:
The idea is to have a button here:
(AddonSettings.jsx)
That would:
- open a dialog with a list of bundles, that have
isProjectflag set - user can set or unset the bundle for the current project (using
[POST] /projects/{projectName}/bundles) and the current variant - when bundle is changed, it would invalidate
addonSettingsList
It is probably edge case, but if you don't have set any production studio bundle, then this happens. Production variant does not have color highlight. The same happens if there is no staging bundle.
I can see dev bundles in production/staging enum, and standard bundles in dev bundles enum.
AYON launcher 1.4.0 released, we can merge this.