Skip to content

Better Moderation Tools #485

@Zren

Description

@Zren

This topic was raised in #469. Since Moderators are currently depending on the data the rating bar provides, alternatives would need to be added before we can remove it.

Idealy something like this:

  • Users must enter a reason when flagging a script. Rename the action to "report" since "flag" usually means an on/off switch.
  • Do not automatically hide flagged scripts. This is a tool to allow the community to moderate when the load becomes too large, but it can be abused very easily. Better to let users downvote a script to oblivion and show reports of why a script is bad.
  • Removal should just be a boolean on/off instead of moving it to another document and retaining the old data as a subdocument. This requires most queries to filter by {removedAt: null} but allows moderators to view removed scripts in the same list as non removed scripts.
    • Requires adding 2-4 new fields to the Script model. Script.removedAt: {type: Date}, Script.removedBy: {type: ObjectId, ref: 'User'}. Maybe Script.removed: {type: Boolean} but it isn't really needed as we can query for removedAt.
  • Removed scripts have the entire row branded with <tr class="danger">.
  • Reported scripts have a <div class="alert alert-danger"> listing all the reported messages, along with a button to do common moderation tasks. This could be visible to moderator and above only, or visible by everyone.

Some of the things in the above section would be nice to do, but is a lot of work for something that would be a pain to get approved since it involves refactoring working code.

Not in screenshot:

  • RSS feed.
  • Emails when a script is reported (would need to be configurable). Hell it would require us to store emails in the User schema which we currently don't. This will probably have a big learning curve.

Metadata

Metadata

Assignees

No one assigned

    Labels

    CODESome other Code related issue and it should clearly describe what it is affecting in a comment.DBPertains inclusively to the Database operations.UIPertains inclusively to the User Interface.enhancementSomething we do have implemented already but needs improvement upon to the best of knowledge.featureSomething we don't already have implemented to the best of knowledge but would like to see.securityUsually relates to something critical.team bizThis is similar to a meta discussion.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions