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

Sample image replacement ability #2949

Closed
RenimLS opened this issue Mar 31, 2017 · 3 comments
Closed

Sample image replacement ability #2949

RenimLS opened this issue Mar 31, 2017 · 3 comments

Comments

@RenimLS
Copy link

RenimLS commented Mar 31, 2017

Given the recent issue on flagging sample images , perhaps we could get an alternative to flagging such images for deletion. It would be nice if it was easier to replace images if necessary.

The immediate idea that I have is to enable users to flag the post for replacement, and then moderators could have the ability to trigger a replacement of the image tied to the post. Perhaps a window popping up so a person can enter in the address or file of the replacement. If necessary could strip the sample uploader of credit for the image, so that way they don't get credit for an upload that wasn't really theirs, but also doesn't count against them since their upload wasn't deleted either.

Another (probably simpler) idea would be having a replacement version of the upload window that would automatically copy over all the tag (perhaps excluding tags like image_sample), note, and other data from the post being replaced.

@evazion
Copy link
Member

evazion commented Mar 31, 2017

A proof of concept of this: evazion/danbooru@master...feat-replace-images, currently running on http://feat-replace-images.devbooru.ml/. Adds a Replace Image option to the sidebar that pops up a dialog allowing you to enter the source of the replacement.

The implementation is somewhat hacky, since it essentially just creates a new upload, processes it, and copies over the new metadata.

There are some tricky considerations with replacing existing files:

  • the old files need to be deleted from the local server, the remote server, and from s3.
  • iqdb needs to be updated.
  • all of the above things should happen *after* the post is successfully updated with the new image.
  • the dimensions may change, which may throw notes off.
  • if an image was flagged in the past for being a sample, those flags will still be in the post's history, which could be somewhat misleading.
  • things that scrape the API would need to be aware that existing posts can have their images replaced now. This may cause problems with sites like iqdb.org or saucenao.com.
  • it's an open discussion whether the uploader should change. I can see an argument for either way.
  • likewise, we may or may not want to update the approver too.
  • replacements are logged in /mod_actions, but logs are deleted after a few days. It would be desirable to have a more permanent record.

@BrokenEagle
Copy link
Collaborator

This seems to put a lot of the gardening work on Moderator+... which seems prone to neglect and failure.

Instead, why not let the users that are currently involved upload the replacements and do all of the heavy lifting, including tagging and adding notes, and then just let Moderator+ do some sort of ... merging... or whatever.

@evazion
Copy link
Member

evazion commented Apr 1, 2017

It's true that we have few active mods to do this work. I was thinking it should be approver+, that way people like Mikaeri could do it. Or just give yours and/or RaisingK's bot the privileges to do it.

There are a few reasons I like the replacement idea:

  • it allows fixing samples without flooding the site with reuploads of old posts.
  • it avoids disputes over which samples are "worthy" of having their fullsizes uploaded.
  • it makes it possible to fix the rare corrupted upload.

r888888888 added a commit that referenced this issue May 13, 2017
Fix #2949: Sample image replacement ability
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants