Development log
変更ログ

Latest updates Past updates Issue tracker

Major changes to image uploading

A major update has been made to the image upload system.

First and foremost I want to say that this was a huge change behind-the-scenes and touches a lot of code throughout the site, so expect bugs. If you spot a problem or something just doesn't feel right, please let me know in the #vkgy-meta board on Discord and I'll work to polish this up in the coming weeks.

Here's an overview of the biggest points:


Refined UI

  • By default, previously-uploaded images are collapsed. Should make scrolling through artist pages easier.
  • UI has been simplified to only show you what you need to see at a given moment.

New field

  • There's now an emphasis on tagging the “image content” as in group photo, photo of one member, flyer, etc. Setting this properly will open up different options for tagging the image.
  • When uploading a new image, the system will guess the image content based on the dimensions of the image. This mostly works for more modern, standardized photos.
  • The description now automatically updates based on this field + the artist name.
  • At a later date, I'll run a script to make guesses at the image content for all previously-uploaded images.

Improvements to tagging

  • You're now encouraged to tag the artist first and foremost. Then, depending on the content type, you may see options for tagging the musician and/or release.
  • You can now tag musicians and releases even if you're uploading the image to a blog post.

Facial boundary detection

  • I've implemented facial boundary detection. This means that the system will attempt to recognize all faces in an image and allow you to tag those faces. (The system will not recognize who each face belongs to.)
  • Note that facial boundary detection will only happen once the artist has been tagged and the image content is set to “group photo” or “flyer.” If the image content is set to “musician,” there's no need to detect his face boundaries.
  • These facial boundaries will be made use of in future updates.

Dupes detected

  • The system can now detect when you're uploading an image that's already been uploaded before. When that's the case, it will simply link the old image to whatever you're uploading it to. (This mostly applies to uploading artist photos to blog posts.) This should help save us some server room and costs spent on compressing images.

  1. First pass at adding face detection to image uploads.
    Affected sections
    images
  2. First pass at allowing manual tagging.
    Affected sections
    images
  3. Still working on it.
    Affected sections
    images
  4. Moved .input__note from bespoke stylesheet to shared sheet.
    Affected sections
    blog style
  5. Added ability to specify checked/selected element in render_component.
    Affected sections
    core framework
  6. Continued playing with UI.
    Affected sections
    images
  7. Permanently added AlpineJS.
  8. Updated component renderer to ignore e.g. { blah } so that AlpineJS can be added to templates.
    Affected sections
    core framework
  9. Changed structure of allowed_image_contents array.
    Affected sections
    core framework
  10. Cleaned up portions of image upload code with AlpineJS.
    Affected sections
    images
  11. Separated logic of getting faces vs getting face html, and updated get_face_html to use template.
  12. Continued work. Need to figure out how to populate faces box after waiting for faces html.
    Affected sections
    images
  13. Figued out async calls to get face boundaries and html. Styled button to manually tag additional faces.
    Affected sections
    images
  14. Added/cleaned up ability to add another face from master image.
    Affected sections
    images
  15. Continued to clean up image UI.
    Affected sections
    images
  16. Removed maps.
    Affected sections
    scripts
  17. Changed access_image to include musicians array with musicians who are tagged by face boundaries (as well as untagged faces).
    Affected sections
    core framework
  18. Added ability to echo {checked_id} in item components.
    Affected sections
    core framework
  19. Cleaned up logic/filenames of face/face html getters.
    Affected sections
    images
  20. Added selected musician to face box and changed naming scheme.
    Affected sections
    images
  21. Cleaned up logic of image template.
    Affected sections
    images
  22. Adjusted style of image section.
    Affected sections
    images
  23. Got face tagging/deletion working and cleaned up related functions massively.
    Affected sections
    images
  24. Disallowed musician tagging for certain photo types.
    Affected sections
    images
  25. Added helper to insert new JSON lists into page.
  26. Allowed release and musician tagging on blog page.
    Affected sections
    blog
  27. Included artist ID in face dropdowns.
    Affected sections
    images
  28. Made it possible to link image to item without updating other fields for image (i.e. auto-linking image to blog post).
    Affected sections
    images
  29. Updated image section to get specific musician/release lists for reach artist, and to set additional variables.
    Affected sections
    images
  30. Added handling of dupe uploads and auto attempted content detection.
    Affected sections
    images
  31. Added ability to dynamically add in JSON lists, ability to grab images as dupes, and auto update description. Also reorganized and cleaned up.
    Affected sections
    images
  32. Added collapsed style for images.
    Affected sections
    images
  33. Changed faces to use specific dropdowns based on artist.
    Affected sections
    images
  34. Redid UI and logic of image edit sections.
    Affected sections
    images
  35. Added size ratios to attempt to auto-detect image content.
    Affected sections
    core framework
  36. Updated JSON list getter to allow for easier dynamic getting.
    Affected sections
    core framework
  37. Made delete buttons able to append ? or insert Delete? as necessary.
    Affected sections
    scripts
  38. Fixed issue with dropdowns initializing multiple times.
    Affected sections
    scripts
  39. Changed dupe to facsimile.
    Affected sections
    blog
  40. Separated and updated exposed API key.
    Affected sections
    .gitignore images
  41. Made new uploads correctly flag isNew.
    Affected sections
    images
  42. Made text dynamic on 'scanned by me' button.
    Affected sections
    images
  43. Corrected musician positions in face tagging.
    Affected sections
    core framework
  44. Fixed issue with apostrophes in image descriptions. Also fixed issue with images without item type were listed as facsimiles.
    Affected sections
    images
  45. Corrected issue with allowed extensions variable.
    Affected sections
    core framework
  46. Updated various regex patterns to reflect that hyphens must be at front or end of pattern if not part of range.
    Affected sections
    artists core framework
  47. Temporarily disabled image uploads on artist pages, as long artist pages were losing data (presumably due to max_input_vars).
    Affected sections
    artists
  48. Fixed variable reference that was causing artist and flyer of day to fail.
    Affected sections
    core framework
  49. Reenabled images on artist pages.
    Affected sections
    artists
  50. Removed notice about images being disabled.
    Affected sections
    artists

Want to support future updates?

vkgy runs on a custom platform developed by a very small team. If you appreciate what we do and want to help us grow, please consider becoming a VIP member!

Support vkgy
top