ayon-frontend icon indicating copy to clipboard operation
ayon-frontend copied to clipboard

Bundle per project

Open martastain opened this issue 9 months ago • 1 comments

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

martastain avatar Feb 18 '25 13:02 martastain

@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) image image

That would:

  • open a dialog with a list of bundles, that have isProject flag 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

martastain avatar Feb 26 '25 13:02 martastain

image

Innders avatar Aug 15 '25 12:08 Innders

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. image

iLLiCiTiT avatar Sep 10 '25 14:09 iLLiCiTiT

I can see dev bundles in production/staging enum, and standard bundles in dev bundles enum.

image

iLLiCiTiT avatar Sep 10 '25 14:09 iLLiCiTiT

AYON launcher 1.4.0 released, we can merge this.

iLLiCiTiT avatar Sep 29 '25 13:09 iLLiCiTiT