Multi-Operating System: Wrap up #194

Closed
opened 2024-06-21 16:26:50 +02:00 by Dalai Felinto · 5 comments

Tasks

  • Upload
  • Download
  • Review
  • API

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.

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

72374410e3ac84c14ba912a478f2c5a1305fd724_2_300x214.png

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.

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".
## Tasks - [ ] Upload - [ ] Download - [ ] Review - [ ] API ## 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. ## 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>`. ![72374410e3ac84c14ba912a478f2c5a1305fd724_2_300x214.png](/attachments/e6b02705-8379-47f7-94ef-606c73319efb) ## 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. ### 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".

For MacOS Compress to be .zip specific.
I put merge.
#175

For MacOS Compress to be .zip specific. I put merge. https://projects.blender.org/infrastructure/extensions-website/issues/175
Oleg-Komarov self-assigned this 2024-07-01 14:41:27 +02:00
Owner

@dfelinto @martonlente:
my changes are mostly ready (please see #201)

I've added new data structures to support platform-specific downloads (look for get_download_list and get_build_list), and just dumped this data in the template to make it visible - please improve this. if more data is needed there, I'll add it on the backend

you can test locally by uploading test files from git repo, added in this branch: extensions/tests/files/addon-with-split-platforms-linux.zip and extensions/tests/files/addon-with-split-platforms-windows.zip

UPD: also please take a look at the file size display for multiple files, maybe we want to redesign that part more radically

@dfelinto @martonlente: my changes are mostly ready (please see #201) I've added new data structures to support platform-specific downloads (look for `get_download_list` and `get_build_list`), and just dumped this data in the template to make it visible - please improve this. if more data is needed there, I'll add it on the backend you can test locally by uploading test files from git repo, added in this branch: `extensions/tests/files/addon-with-split-platforms-linux.zip` and `extensions/tests/files/addon-with-split-platforms-windows.zip` UPD: also please take a look at the file size display for multiple files, maybe we want to redesign that part more radically

The following related UI improvements and normalizations have been made and pushed:

  • Improved Supported Platforms display, if multiple platform versions are present.
  • Improved extension filesize display, if multiple platform versions are present.
  • Improved layout for multiple drag and drop install buttons.
  • Added support for multiple dynamic drag and drop buttons for multi OS.

A possible improvement for later: In case we don't want to display multiple install buttons at the same time (from that only one is relevant to the user), we can try dynamically detecting the platform from that the page is being viewed, and hide the extra buttons.

The following related UI improvements and normalizations have been made and pushed: - Improved _Supported Platforms_ display, if multiple platform versions are present. - Improved extension filesize display, if multiple platform versions are present. - Improved layout for multiple drag and drop install buttons. - Added support for multiple dynamic drag and drop buttons for multi OS. A possible improvement for later: In case we don't want to display multiple install buttons at the same time (from that only one is relevant to the user), we can try dynamically detecting the platform from that the page is being viewed, and hide the extra buttons.

Where is Mac?
extensions/tests/files/addon-with-split-platforms-macintosh.zip

Where is Mac? extensions/tests/files/addon-with-split-platforms-macintosh.zip
Owner

Deployed in production

Deployed in production
Sign in to join this conversation.
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: infrastructure/extensions-website#194
No description provided.