LemmyNet / lemmy

🐀 A link aggregator and forum for the fediverse
https://join-lemmy.org
GNU Affero General Public License v3.0
13.06k stars 863 forks source link

Comprehensive Tagging System #3951

Open 8ullyMaguire opened 11 months ago

8ullyMaguire commented 11 months ago

Requirements

Is your feature request related to a problem? Please describe. I always get frustrated when I can't easily find a specific post or image that I've seen before on social media platforms. The current tagging system on Twitter is limited and doesn't provide the level of organization and searchability that image boards like Safebooru offer.

Describe the solution you'd like I propose implementing a comprehensive tagging and advanced search system similar to Safebooru, where users can add and edit tags for posts, and search by including or excluding combinations of tags. For example, users could search for posts containing tag1 AND tag2 while excluding posts with tag3. This would make it easier to find and rediscover content on the platform.

To encourage user curation of tags, consider implementing a points/reward system and leaderboards showcasing top contributors. This would incentivize users to help tag content.

To prevent abuse, consider implementing a trust level system like Discourse, where users must perform a certain number of actions before gaining the privilege to tag posts. Additionally, maintain a history of tag changes to allow for reverting bad changes. The tagging system should be separate from the post content, so users would only be editing tags, not the actual posts.

If AI tagging is accurate enough, it could be used to automatically tag posts, reducing the need for user curation.

Describe alternatives you've considered An alternative solution is the proposed hashtag system used on Twitter. However, this may not be as effective as a comprehensive tagging system in helping users find specific content.

Additional context

Benefits of a comprehensive tagging system over hashtags:

A comprehensive tagging system would not only improve content discovery but also enhance the overall user experience on Bluesky. By allowing users to easily find and organize content, the platform becomes more engaging and useful for its user base.

Furthermore, having properly tagged and classified content would significantly improve users' ability to create highly customized and granular feeds, since they could filter feeds not just by users or keywords but also by specific tags and combinations of tags. This would enable much more powerful and precise content curation.

More ideas:

8ullyMaguire commented 4 months ago

Overview

This RFC proposes adding a flexible tag system to Lemmy that allows communities to configure tagging permissions based on their needs.

Distinction with Reddit flairs

So in summary, the tags in this proposed system allow granular post-level categorization by the community to optimize search and discovery. Reddit flairs are broad, subjective, community-level labels managed only by moderators.

Backend

Two new tables for "tags" would be required. One for instance-wide tags and one for community tags.

The instance tags table would consist of the columns id, deleted, and community_id (nullable).

The community tags table would consist of the columns id, deleted, and community_id (not nullable).

A separate table would link the tag IDs to their name, description, and language. This table would have the columns tag_id, name, description, language.

By separating the names and descriptions into a separate table, a single tag ID can be linked to multiple names/descriptions in different languages.

GET /tags/list would join the tags tables with the names table and return name, description and language grouped by tag ID.

POST /tags would insert into both tables - creating a new tag ID and then inserting name, description, language rows for that ID.

User Tagging

Consider either or both of this alternatives:

Tag Moderation

Related ideas

Related