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

add an official method for the bulk import & export of faves, updoots, etc… #385

Open
PubliqPhirm opened this issue Dec 17, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@PubliqPhirm
Copy link

Is your feature request related to a problem? Please describe.
Depending on how you count, there are somewhere between 3 and 5 Philomena servers with a highly similar data set (MLP fanart). While there are existing syncing userscripts, both specific and general, a built-in bulk import & export mechanism would increase data portability without requiring end users to mess around with browser extensions and third-party scripts.

Describe the solution you'd like

  1. Adopt some form of the proposal for returning more metadata of deleted images I made in the Derpibooru repository so that images deleted on the source booru can be matched on a destination booru, if they exist.
  2. Implement the bulk export of faves, upvotes, hidden, uploads, and images with your artist tag.
    • it should function like a search with no filter, the &del=1 parameter, and no pagination
    • TO DECIDE: Does this get served via API, somewhere in the account settings webpage, or both?
    • This likely can serve a minimal JSON response for each image. Instead of serving the whole response, a minimal set of fields useful for matching on destination boorus can be served for each image:
      • Source booru ID
      • tag cloud [optional]
      • SHA
      • quadrant intensities [I believe they're more useful than any of these other fields for matching across boorus]
      • pixel dimensions
    • TO DECIDE: Does the export file yield five arrays, one each for upvotes, faves, uploads, artist tag, and hidden [likely with lots of repetition between the first four] or one array where each image has an additional field listing the categories it belongs to?
    • Suggested rate limit: once a week. Requests more frequent than that should return a cached response. [The response should also serve its generation time and expiry date]
  3. Implement an import endpoint.
    • TO DECIDE: Again, in account settings, API, or both? The rest of this suggestion assumes it's a webpage under the account settings section.
    • On the import page, below the file selection button, have two columns of checkboxes.
      1. The first column is for actions to sync. It has everything selected by default.
      2. The second column is for images to subscribe for new comment notifications. By default, none of them are checked (maybe only my:art or my:uploads, but best not to). The checkbox for hidden images here is disabled and unchecked.
    • Suggested rate limit: between hourly and daily.
    • Store a duplicate log for a week in cases of manual follow-up. Summarize numbers for successes and 0-matches in each category. For images with multiple matches on the destination booru, list all matching IDs (with a link, obviously) and the action(s) intended to be applied for the user to apply manually.

Describe alternatives you've considered
Adopt just the metadata for deleted images proposal I made on the Derpibooru repository and leave the sync mechanisms to third-party userscripts.

Don't sync downvotes. If needed, perhaps treat everything in my:downvotes as being an addendum to my:hidden during the export.

Additional context
click the links above

@PubliqPhirm PubliqPhirm added the enhancement New feature or request label Dec 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant