TagStudio
TagStudio copied to clipboard
[Feature Request]: Global Tags
Checklist
- [X] I am using an up-to-date version.
- [X] I have read the documentation.
- [X] I have searched existing issues.
Description
Global tags - in other words, tags that are available in all libraries.
Solution
Since tags are defined in the .tagStudio folders native to each library, I think the best way to implement this without needing a centralized location where libraries are defined would be to essentially let the UI merge a predefined list of global tags with library-specific tags (so that you can select them when tagging a file).
A global tag definition would be added to the library upon the first time a file in it is tagged with it.
Alternatives
One could also simply write a small script that takes a file, let's call it tags.json that defines global tags, and manually merges it with the tags property of the .TagStudio/ts_library.json file in all libraries.
This would, however, result in all libraries containing all global tags, even the ones that won't be used in the library, not to mention, it would have to be run periodically as tags.json is modified.
There is appdata for the application, currently used to store the list of last opened and recently opened libraries, but I could see it being used to store centralized global data like these "global tags"
You can check the file yourself, it's located here:
%appdata%/TagStudio/TagStudio.ini
Not saying I endorse the idea, just splitballing the implementation if this is a desired feature
Yeah, that's what I was thinking - storing tags in a tags.json file, or something similar alongside the TagStudio.ini.
This is something I would also love to see the option for in the program at some point! I've always been mulling over different approaches to this, but so far haven't settled on something that would play nicely with global + local tag relationships and edits across open and closed libraries. This faces similar issues to those that arise with the idea of sharable tags/"Tag Packs" which also don't have a 100% solidified approach yet.