Check out Grant Acedrex, our featured variant for April, 2024.


[ Help | Earliest Comments | Latest Comments ]
[ List All Subjects of Discussion | Create New Subject of Discussion ]
[ List Earliest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]

Single Comment

Creating a Tag System[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Sun, Nov 19, 2017 02:45 PM UTC:

I have been thinking about how to do tags on the Chess Variant Pages. What I have in mind is a table with three columns: ItemID, PersonID and Tag. The primary key would be a concatanation of all three. This setup would allow individual members to create and change their own tags, it would keep track of how many members gave a game the same tag, it would let a script display all the tags for a game and all the tags the member viewing the page has given to it, and it would allow for the creation of pages that list all the games given a certain tag.

Presently, there is a Tags table that I think David Howe created, and which he is no longer working on. This table is about describing individual tags. Its columns are tagID, tagName, tagSentence, tagParagraph, and tagParent. I'm not sure what tagParent is for, since this has been left blank in all five rows. I guess what he had in mind was to create a whitelist of tags that people could use to tag pages with. Whereas my experience with sites that let me tag pages is that I am free to make up my own tags.

While using a whitelist of tags could keep things more structured, it would also take a lot of work to come up with an appropriate list, and then it would need a mechanism for letting members select appropriate tags from the list. I'm thinking instead of allowing any tags with the exception of those on a blacklist, which would mainly contain swear words and racial slurs. People could be encouraged to use the same tags by seeing what tags other people have already given to a game. I would limit tags to Game pages with the idea of eventually replacing ItemID with GameID. Or I might use GameID from the start.