Attendees:
- Campbell Barton
- Dalai Felinto
- Oleg Komarov
Meeting to discuss multi-OS support. This was inspired by the feedback obtained during the Molecular Nodes review and submission process.
Making long short: we will support multiple builds for a single version.
Json Listing
- Nothing changes, it already expects single entries for unique combination of extension_id + version + platforms
Build
- New option for the build command to spit out individual packages per needed platform.
--platform_builds
- Take wheels + platforms into consideration.
- New field added as part of the build pipeline that overrides the platforms tag.
platform_builds = ["windows-x64", "windows-arm64"]
Data Model
- Change version to file relation, making it one-to-many.
- Multiple files can point to the same version.
Upload
- Version Edit page
- Reference:
/add-ons/<slug>/manage/versions/<pk>/update/
. - List all available platform builds, with info about their respective platforms.
- This is assymetric with how this will be presented to users (with individual per-platform links, which may point to the same place).
- If there is a platform missing still, button to Upload new Platform Build.
- Reference:
API
- Rename
/api/v1/extensions/<extension_id>/versions/new/
→/api/v1/extensions/<extension_id>/versions/upload/
- Override Release Notes
- Throw sensitive error if platform is already “taken”.
Download
-
Main download
- If there is a single file (for all platforms), nothing changes.
- Else …
- Show a list of available platforms to pick from.
- Followed by what we have now (Drag & Drop + “download” link).
- Changing the platform, changes the links.
<noscript>
always list all the dowload links.
-
Version History
- Reference:
/add-ons/<extension_id>/versions/
. - If there is a single platform, business as usual.
- If there are multiple platforms, show a dropdown.
- Multiple platforms may point to the same build.
- Needs a fallback listing for
<noscript>
.
- Reference:
Review
- If there is a single platform, business as usual (single download button, no checkboxes to pick build).
- If there are multiple platforms, follow what we do for version edit.
- List all available platform builds, with info about their respective platforms.
Future design if needed:
- Per-build approval status
- Each build can show their individual approval state.
- For status change the moderator and maintainer should specify which builds it applies to.This text will be hidden