Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create ModerationDecision table #3636

Closed
sarayourfriend opened this issue Jan 7, 2024 · 3 comments · Fixed by #3989
Closed

Create ModerationDecision table #3636

sarayourfriend opened this issue Jan 7, 2024 · 3 comments · Fixed by #3989
Assignees
Labels
💻 aspect: code Concerns the software code in the repository ✨ goal: improvement Improvement to an existing user-facing feature 🟨 priority: medium Not blocking but should be addressed soon 🧱 stack: api Related to the Django API

Comments

@sarayourfriend
Copy link
Collaborator

sarayourfriend commented Jan 7, 2024

Description

The plan for this has been modified slightly from the description in the IP based on the subsequent Bulk actions IP, so the full description (including updates) is written out below. Where it differs from the IP I have bolded the text so it is easier to see.

  • Create the new ModerationDecision model with the following columns:
    • id: basic auto-incrementing id
    • created_on: the date the moderation decision was created, in other words, the date the decision was made
      • Provided by OpenLedgerModel
    • moderator_id: a foreign key relationship with moderator who made the decision
    • media_identifiers: a many-to-many relationship to the media the decision is related to, implemented by a join table.
      • Because deindexing media removes them from the API database, the identifiers needs to be non-constrained, so not a foreign key, just an indexed non-unique UUID column using the db_constrained argument
    • explanation: moderator notes explaining the decision; optional
    • action: slug column of the action taken
      • marked_sensitive (marked a work as sensitive)
      • deindexed_copyright (deindexed the work from Openverse search due to copyright)
      • deindexed_sensitive (deindexed the work from Openverse search due to sensitivity)
      • rejected_reports (the reviewed reports were rejected)
      • deduplicated_reports (the reviewed reports were marked as duplicates, in other words, re-reports that did not result in deindexing but were also accurate, for example, re-reports of a sensitive work that add information regarding sensitivity but do not require deindexing)
      • reversed_deindex (undo a previous deindexing decision)
      • reversed_mark_sensitive (undo a previous decision marking the record sensitive)
  • Create an AbstractModerationDecision for each media type
  • Add new nullable decision_id column to the Report models
  • Remove all logic from the Report models’ save methods

Blocks #3638, #3641, #3840, and #3844

@dhruvkb
Copy link
Member

dhruvkb commented Feb 26, 2024

This is blocked on #3719 which enables plural media identifiers and adds additional actions for the decision model.

@dhruvkb dhruvkb added the ⛔ status: blocked Blocked & therefore, not ready for work label Feb 26, 2024
@openverse-bot openverse-bot moved this from 📅 To Do to ⛔ Blocked in Openverse Backlog Feb 26, 2024
@stacimc stacimc removed the ⛔ status: blocked Blocked & therefore, not ready for work label Feb 28, 2024
@openverse-bot openverse-bot moved this from ⛔ Blocked to 📋 Backlog in Openverse Backlog Feb 28, 2024
@stacimc
Copy link
Collaborator

stacimc commented Feb 28, 2024

#3840 has been merged. I've updated the description and removed the blocked label.

@sarayourfriend
Copy link
Collaborator Author

Thank you, Staci!

@AetherUnbound AetherUnbound moved this from 📋 Backlog to 📅 To Do in Openverse Backlog Mar 11, 2024
@openverse-bot openverse-bot moved this from 📅 To Do to 🏗 In Progress in Openverse Backlog Mar 31, 2024
@openverse-bot openverse-bot moved this from 🏗 In Progress to ✅ Done in Openverse Backlog Apr 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💻 aspect: code Concerns the software code in the repository ✨ goal: improvement Improvement to an existing user-facing feature 🟨 priority: medium Not blocking but should be addressed soon 🧱 stack: api Related to the Django API
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants