Open Shiroizu opened 3 years ago
@Shiroizu Why do you want to distinguish between the two? Do you have any ideas on how to achieve that? We could add an enum or bool to the tag usages table? And how should the user interface look like?
Can't the source be read? If it notices that the tag comes from NND (address/link), it can be shown in brackets that it comes from NND and was added automatically by the system. That way mistakes can be easier noticed/avoided.
I mean, how to store information about whether or not a tag is added from NND.
Why do you want to distinguish between the two?
Tags are user provided information, and it can be valuable to know where the information came from. For example, if a song has an incorrect genre tag on niconico, then VocaDB would show that too, if it the tag was mapped.
If the tag would later be removed from the niconico video, a moderator would not be able to know why the tag was originally added (user mistake or a mistake on niconico?). Having this source information somewhere would indicate to the moderator that the user was not responsible for the wrong tag.
Another possible gain for the separation would be that it could be used to "fix" user tag votes that show up in user profiles. I think it would make sense that the tag vote count would not include automatic tags.
Do you have any ideas on how to achieve that? We could add an enum or bool to the tag usages table? And how should the user interface look like?
Assuming the changes would show up here: https://vocadb.net/Song/ManageTagUsages/{id}
Current structure: Tag | Count | Votes | Date rock | 2 | user 1, user 2 | 2021/06/19 ballad | 1 | user 1 | 2021/06/10
Option 1) A new column (boolean) for "automatic" tag (true if automatically mapped) Option 2) The Votes-column would include "automatic" instead of the user who created the entry. Currently the column lists the user profiles, so this might be more complicated to implement.
For non-moderator users, it would also indicate that the information did not "originate" from VocaDB. It's actually a separate question whether this information should/could be visible on the song page https://vocadb.net/S/{id}.
We could add an enum or bool to the tag usages table?
The boolean was my initial thought. It shouldn't be too hard. Even better would be to create the tag usage for some special system user, or leave the user reference completely empty. This would also solve separating automatically applied tags from user's tags, but this might require changes somewhere else.
There was another issue for listing mapped tags on song submit page, but I can't find it now. I'm thinking even that might at least partially solve this issue. If the user can see the suggested tags on song submit page, then we can assume that they agree with the tags?
Option 1) A new column (boolean) for "automatic" tag (true if automatically mapped)
Is there no need to know where a tag came from (e.g. NND or YouTube)? What happens after implementing VocaDB/vocadb#1334 (#452)?
Even better would be to create the tag usage for some special system user, or leave the user reference completely empty.
Do you mean something like @ghost on GitHub?
Do you mean something like @ghost on GitHub?
Yeah like that, except called "AutoMapper" or something. Or maybe just "VocaDB".
Is there no need to know where a tag came from (e.g. NND or YouTube)? What happens after implementing VocaDB/vocadb#1334 (#452)?
Not sure if it would be important. If it were, maybe a "service" column could be used instead of "boolean": https://github.com/VocaDB/vocadb/blob/585136f696bdff161acbd3c6e6599860a66d8386/VocaDbModel/Domain/PVs/PVService.cs
Currently there is no way to tell if a tag was added by an user or automatically mapped from NND.
(Seems that these also count to user tag votes)
https://vocadb.net/Song/ManageTagUsages/{song id}