Skip to content

[Feature Request]: An option to display inherited tags as if they had explicitly been addedΒ #983

Open
@A-Sverdrup

Description

@A-Sverdrup

Checklist

  • I am using an up-to-date version.
  • I have read the documentation.
  • I have searched existing issues.

Description

Current tag inheritance system is confusing and does not make sense in some use cases

Let's say you've created category tags Author, Character and Copyright.
Now you are trying to add a book.
Create tag "Sir Arthur Conan Doyle" (Parent tags: Author)
Create tag "Sherlock Holmes (Book Series)" (Parent tags: Copyright, Sir Arthur Conan Doyle)
Create tag "Dr Watson" (Parent tags: Character, Sherlock Holmes (Book Series))

Now, since "Dr Watson tag" inherits all others, you should be able to add just this one tag and be good to go? Wrong.

Image

Fig.1. Huh, that ain't right

So you add the rest of tags.

Image

Fig.2. Now that makes even less sense

And yeah, this is still wrong.

Because tags inherit properties of their parent tags and not parent tags itself, you cannot:

  • properly use tags with parent tags from multiple categories
  • see parent tags after adding just children tags (despite the fact you can still search using parent tags)

Solution

So why not also add tag implications?

For example:
If:

  • tag X implies tag Y
  • tag Y implies tag Z

Then:

When adding tag X, automatically add tag Y, and, therefore, tag Z.
Even if tags are not parents to each other

Using example from above:

Create tag "Sir Arthur Conan Doyle" (Parent tags: Author)
Create tag "Sherlock Holmes (Book Series)" (Parent tags: Copyright) (Implies: Sir Arthur Conan Doyle)
Create tag "Dr Watson" (Parent tags: Character) (Implies: Sherlock Holmes (Book Series))

adding just Dr Watson should yield

Image

which would solve both the issue of incorrect multiple categories (since tags are no longer parents of each other)
and of viewing/searching (now all tags are visible and are still "by parent-tag" searchable since implied tags will always be present when implying tag is also present)

Alternatives

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions