darktable-org / darktable-org/darktable
Support hierarchical tags with both "|" and "/"
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 13.1k
- Forks
- 1.4k
- Avg merge
- 22h 14m
- Merged PRs (30d)
- 198
Description
Is your feature request related to a problem? Please describe.
Some software, including darktable, use | as a separator for hierarchical tags. Some other software (for instance Digikam) use / instead.
That breaks interop.
Describe the solution you'd like
darktable should recognize both / and | as separators in tag hierarchies.
If there's a concern about pre-existing content using / and expecting it to be treated literally, that could be made into an off-by-default option, though I am hopeful that the fact that other software already use / as a separator will mean that it is rarely used literally, and we can have this always on.
Also, an option to chose which of the two darktable should use when adding tags would be nice. I think this can be a global setting. A more fine-grained version of this could be a per-tag setting, but that seems overkill.
Also, but maybe least importantly, some tool to convert existing tags in images from one to the other could be handy, in order to make an existing collection compatible with tools that use the other separator. This is least important, as that is reasonably easy to do by batch processing the .xmp files manually.
Alternatives
- only using tools which use
|to be compatible with darktable. Kind of limiting. - making the same suggestion as this one on other tools, so that they, rather than darktable, adjust.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the tag-hierarchy parsing and tag-creation settings in darktable; the issue does not name specific files or tests. Determine how existing | separators are handled, then define completion around recognizing both / and | and selecting the separator used for new tags, with compatibility concerns and conversion tooling treated as separate scope.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100