Topic: Tag grouping: A change of the tagging system

Posted under Site Bug Reports & Feature Requests

exec

Member

Hello,
I have a proposal for a change to the existing tagging system. I call this a "proposal" instead of a "feature request" because it's a rather major change both in the architecture of how the tags are stored and also in the way people could edit tags of posts. As I've seen requests for similar features (eg. Character-specific tags, conditional filters, etc.) in many places (old reddit threads, telegram chats I'm in, forum posts over here I don't really remember) I pitched the idea in a group chat and we put together a draft of ideas that could work.

The main concept: Rather than having a flat list of tags, change it to a tree like structure (like YAML). This would mostly benefit posts that have multiple characters in them.

An example, with post #3639308:

- art:
  - artists:
    - skeleion
  - copyrights:
    - helluva_boss
    - mythology
  - tags:
    - loona_(helluva_boss):
      - species:  
        - canid
        - canid_demon
        - canine
        - demon
        - ...
      - general:
        - female
        - notched_ear
        - topwear
        - translucent_clothing
        - red_sclera
        - cigarette
        - ...
    - octavia_(helluva_boss):
      - species:
        - owl
        - owl_demon
        - ...
      - general:
        - female
        - beak
        - fingerless_gloves
        - hat
        - ...
    - ungrouped:
      - duo
      - city_background
      - evening
      - starry_sky
      - ...
- image:
  - sources:
    - furaffinity:
      - https://www.furaffinity.net/view/49477932/
    - deviantart:
      - https://www.deviantart.com/skeleion/art/Sisters-933784400
    - others:
      - https://twitter.com/SkeleionSFW/status/1582901315776417792
  - meta:
    - artist_name
    - digital_media_(artwork)
  - rating: safe
  - chain:
    - parent: null
    - pools: [null]

Notes:

  • This is not a definite, complete specification
  • I've used image->chain->parent: null, image->chain->pools: [null] as an example for defining post hierarchy but empty entries shouldn't be left there

Benefits:

  • Every single character could have its own set of tags in a post (even unnamed ones!)
  • The possible verbosity of categorisation is practically limitless (thus some rules are needed)
    • (eg. art->tags->ungrouped->background->starry_sky, art->tags->loona_(helluva_boss)->clothing->[translucent_clothing, topwear])
  • Better possible search and filtering

Downsides:

  • Work required to make the model in the database, and to do the migration
  • New syntax needed to be learned (although this is all subject to how the frontend, third-party apps, etc implement it)
    • (Although considering how users start adding new and new tags to existing posts this shouldn't really be a problem, just a matter of "getting used to" the possibility to grouping)

So what would change from a user's perspective?
Mainly the new tagging syntax will have its own learning curve, also having to figure out that how tag groups are possible now.
Additionally, searching/filtering will have more detailed queries possible. Example syntax: sitting loona_(helluva_boss)>topwear -loona_(helluva_boss)>footwear ("Find all posts where loona_(helluva_boss) has topwear but no footwear, also where characters are sitting")

From an operations perspective, a database migration to a new format would be nearly 100% compatible with the existing data. All existing categorised tags can fit under a tree entry like above, all other general tags can fit into art->tags->ungrouped.

Obviously this all is a lot of work, and I intentionally left out the technical details as I'm not really familiar with the site's backend. I'm considering everything here as "well into the future" (if this goes through at all).

Extra thoughts:
  • What about the search syntax? Are there technical limitations on loona_(helluva_boss)/topwear? Would loona_(helluva_boss)>topwear confuse the backend as a comparison operator? Would loona_(helluva_boss)->topwear be confusing to users, or difficult to type out on mobile?
  • On posts with multiple instances of the same character (eg. posts with clones/square_crossover), how to write them out: Multiple instances of tag groups of the same name. Tags should not be unique on posts, at least not until the same branch level.
  • How to handle unnamed characters? It should be possible to categorise them and give them their own tags, what should be the syntax?
    • Idea: Just multiple unnamed_character entries, like with clones above

If I am reading this right, what you are suggesting is for nested tags and it has been suggested before in topic #46551.

Greatest challenge is who is going to take on this task since the site's developers aren't paid and every one of them are volunteers.
It would require a massive overhaul of the current tagging system and would require teaching every user how to properly tag using the new system.

SCTH

Member

Similar things have been suggested before, though this is by far the most detailed such proposal I've seen.
It's definitely not happening, of course, but it's a fun idea.
I doubt you'd get people to use it properly even on a new site, let alone one that has this much content already.

I would love this, but like others have said, it doesn't seem feasible. Maybe if it had been part of the imageboard from the ground up, but unless you can somehow automate conversions of existing tag lists, there are just too many posts to update.