Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request]: Global Tags #680

Open
3 tasks done
djsigmann opened this issue Jan 4, 2025 · 3 comments
Open
3 tasks done

[Feature Request]: Global Tags #680

djsigmann opened this issue Jan 4, 2025 · 3 comments
Labels
TagStudio: Library Relating to the TagStudio library system TagStudio: Tags Relating to the TagStudio tag system Type: Enhancement New feature or request

Comments

@djsigmann
Copy link

djsigmann commented Jan 4, 2025

Checklist

  • I am using an up-to-date version.
  • I have read the documentation.
  • 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.

@djsigmann djsigmann added the Type: Enhancement New feature or request label Jan 4, 2025
@CyanVoxel CyanVoxel added TagStudio: Tags Relating to the TagStudio tag system TagStudio: Library Relating to the TagStudio library system labels Jan 4, 2025
@Tishj
Copy link

Tishj commented Jan 4, 2025

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

@djsigmann
Copy link
Author

djsigmann commented Jan 4, 2025

Yeah, that's what I was thinking - storing tags in a tags.json file, or something similar alongside the TagStudio.ini.

@CyanVoxel
Copy link
Member

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
TagStudio: Library Relating to the TagStudio library system TagStudio: Tags Relating to the TagStudio tag system Type: Enhancement New feature or request
Projects
Status: 🍀 Backlog
Development

No branches or pull requests

3 participants