Extensions ========== Note: This document is wiped clean after a meeting has their notes moved to devtalk. Feel free to add topics for future discussions here. * [Latest meeting notes](https://devtalk.blender.org/t/2024-02-05-extensions-project/33239). ------------- Changelog: * ~~New 'sponsor' field on the website.~~ Removed * Tags are now optional. * Description is no longer part of the manifest. ## Pre-release week tasks ### Blender - [ ] See [Alpha tasks](https://projects.blender.org/blender/blender/issues/117286). - [x] New icons and sorting [!118521](https://projects.blender.org/blender/blender/pulls/118521) - [x] Filter menu Multi-platform Support: - [ ] Blender: filter add-ons per OS - [ ] Show in web ### Back-end - [x] Abandoned Submission (what to do when a submission is not completed?) - [x] Users should be maintainers even before pressing submit for review - [ ] Preview images requirement is not being inforced right now. [#37](https://projects.blender.org/infrastructure/extensions-website/issues/37) - [ ] Email notifications ### Frontend - [ ] Show average for version - [ ] Add OpenGraph - [ ] Style Abuse submission/detail page - [ ] Approval Queue: Sort by last activity - [x] Be able to edit version and changelog. - [ ] And blender max version? - [x] There is no way to "remove" a preview image from the first time submission form @martonlente - [x] Profile page doesnt work well in dark mode @martonlente - [x] Hide STATUS of image previews - [x] remove the No Previews pending approval message (for approval queue detail) - [x] dont show permissions (or lack of) for non-addons - [x] Allow to delete previews (from submission page) - see devtalk feedback @martonlente - [x] Cards - [x] Remove scale up of card thumbnails - [x] Bigger tags in cards ### General - [ ] Icon/logo/square thumbnail - [ ] 16:9 thumbnail (also used for social) - [ ] Authentication permission - [ ] Investigate what's wrong with previews (right now if you only have one you need to save draft and then save afterwards for it to be shown) - [ ] Submission notes - [x] Crontab for write_stats (download count) - [ ] E-mail notifications - [x] Add more tags and document them. - [ ] [Report a Bug](https://projects.blender.org/infrastructure/extensions-website/issues) - [x] How to migrate addons to extensions (user manual). - Onboarding - A text to help people get started on the front page with a link to - [x] Update about screenshots - [ ] Blender Version Max - [ ] Documentation blender_version_max as something suggested for authors (right now) - [ ] Also use this to talk about tracks/versions (it could be a document: Versions and Compatibility) - also advice on bumping major number (or at least minor) for new blender releases (to support hot fix with patch versions *.*.1, *.*.2) - [ ] Allow anyone to "Suggest Blender Version Max (with explanation)" - [ ] Allow moderators to set blender version max - [ ] Documentation about working with versions - [x] Invite more people - [ ] Amaranth - [x] Devtalk mention chat - Blender QoL - [ ] Blender: Fix the filter UI or logic (install and enable is indeed ONLY while legacy is a legit show) - [ ] Enum (All, Installed, Enabled) + Show Legacy - [ ] Save settings BUT indicate that things are being filtered - [ ] Extension panel (Uninstall + Website buttons, preferences as subpanel) - [ ] Blender: Move development tools under experimental - [ ] Have Install button as default ### Moderation - [ ] Landing page for Abuse Reports - [ ] Convert that moderators can access reports (https://extensions.blender.org/abuse/reports/1/) ### Good to have, but not required now - [x] Support delete extensions. - ~~[ ] PR Video for Alpha Release~~ (we do it for beta) - [ ] Review Queue: Separate Publishing from Approving - [ ] Makes sure OpenAPI shows the correct scheme (right not it includes is_listed, ...). - [ ] Redirects to different API entry points depending on the blender_version argument. - [ ] Have a way to store all the images from the description locally? - [ ] HackMD preview for admin flatpages. - [ ] Blender: - [ ] Pack Theme as Extension for easy sharing. ### Actionable Feedback from devtalk - [x] **Small**: Delete Extension (hide the button for now) @martonlente - [x] **Done**: Reviews: "Not publicly visible" > "Awaiting approval" @martonlente - [x] **Small**: Reviews: After reviewing (while review is in moderation), the Be First to Review still shows. @martonlente ![image](https://hackmd.io/_uploads/SyDsryqna.png) - [x] **Small**: Version History: Show the latest item expanded (similar to [the LTS changelog](https://www.blender.org/download/lts/3-3/)). @martonlente - [x] **Small**: Links to have a more distinguishable look in the info panel (underlined?) @martonlente - [x] **Medium**: Reviews: Forbidden bug [#39](https://projects.blender.org/infrastructure/extensions-website/issues/39) - [x] Only show Reviews if published - [ ] **Big**: blender version max - way for people to suggest a version cap, and for moderators to approve this. - [ ] Big: Search by tags (e.g., by using #Animation?) - [ ] TBD: List view option - [ ] Warn about using expensive operations such as frame handlers. (frame_pre, post) - [ ] First time message - [x] Tags for themes - [x] Dark - [x] Light - [x] Print - [x] Accessibility - [x] High Contrast - [x] Tags per extension type ### Add-on creaters invited/contacde * BlenderBIM (Dion) - Dalai * QuickMenu (Tim/passivestar) - Dalai * ConjureSDF (João Desager) - Dalai * ScreenRecording (Nutti) - Dalai * Baking (Daniel Bystedt) - Dalai * [BLOSM](https://github.com/vvoovv/blosm) (vvoovv) - Dalai * Curtis Holt - Dalai (via a form on the site) * Push to Talk/Edit Breadown (Ines) - Dalai * Photogrammetry Importer - Sebastin Bullinger - Dalai Todo: * BlenderGIS https://github.com/domlysz/BlenderGIS - not compliant - requires API ``` diff --git a/extensions/models.py b/extensions/models.py index 3c0875b..9f07b29 100644 --- a/extensions/models.py +++ b/extensions/models.py @@ -233,7 +233,10 @@ class Extension( self.save() def get_absolute_url(self): - return reverse('extensions:detail', args=[self.type_slug, self.slug]) + if self.status == self.STATUSES.APPROVED: + return reverse('extensions:detail', args=[self.type_slug, self.slug]) + else: + return reverse('reviewers:approval-detail', args=[self.slug]) def get_manage_url(self): return reverse('extensions:manage', args=[self.type_slug, self.slug]) ```