[Epic] Deletion vs disabling/unlisting #82
Labels
No Label
Priority
Critical
Priority
High
Priority
Low
Priority
Normal
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
Type
Breaking
Type
Documentation
Type
Enhancement
Type
Feature
Type
Report
Type
Security
Type
Suggestion
Type
Testing
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: infrastructure/extensions-website#82
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This describes when and how extensions and their version can be deleted or unlisted.
At the moment this was initially written, this was not how things worked: originally, soft-deletion was assumed pretty much everywhere on the back-end, but now there are more and more use-cases that show that it's more trouble than it's worth.
The purpose of this issue is to track progress, related PRs and relevant discussion of the topic.
Terminology:
date_deleted
field set to the date of deletion, which excludes them from all queries except for /admin/;archive_{extension,version,file,etc}
?), which staff can view (or delete from) via the /admin/;From the point of view of staff with delete permissions:
Hence, delete permissions should be given out sparingly.
Extensions
TLDR; extensions are not soft-deleted: they are either truly deleted or change their status becoming unlisted.
From author's point of view:
Authors can delete their extensions:
slug
andextension_id
can be reused;slug
andextension_id
cannot be reused.From moderator's point of view:
For now, we assume that unlisting an already public extension is a drastic measure that won't be needed often, hence we also assume that moderators don't have to be able to delete or disable extensions.
From admin's point of view:
Versions
N.B.: versions don't have statuses, their files do: when a version needs a change of status, its file changes status.
From author's point of view:
This should probably work similarly to extensions (in terms of UI as well), meaning that authors can delete their extension's versions:
version
can be reused;version
cannot be reused;Currently, subsequent version uploads don't go into the approval queue, so, technically, the only case when a version "was never published" is when an extension is still a draft.
From moderator's point of view:
For now, we assume that unlisting an already public file is a drastic measure that won't be needed often, hence we also assume that moderators don't have to be able to do that.
From admin's point of view:
Additional considerations:
Out-of-the-box, Django doesn't physically delete files when their records are deleted.
845888180b
)Deletionto Deletion vs disabling/unlistingDeletion vs disabling/unlistingto [Epic] Deletion vs disabling/unlisting