darktable-org / darktable-org/darktable

Support hierarchical tags with both "|" and "/"

Open
#19,652 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

no-issue-activity
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.