Possibility of a Hierarchical structure for tags

I really miss the possibility to create a tree structure for tags.
I mean that the tag B should be created as being “under” tag A.

What are the use cases?
I’ll try to provide some convincing examples.

Tagging photos. I like to have information about who is in my photos, the location and often other things. Some parts of this information is in the folder structure, yet the number of tags is beginning to be hight. With a tree structure I would have two advanteges:

  1. less confusing tag menu: I could go to the tag menu and select from a structured list a tag (e.g: places -> Berlin -> office; or People -> colleagues -> John) instead than from a huge list with an alphabetical order (the alphabetical order is not the order I mentally use in this context)

  2. tags labels easier: I find way easier to define e.g. people tags if I have a “structure”. can know several persons with the same name, yet I find “ugly” and counter-intuitive tags as “John the colleague” and “John the cousin” and “John the friend”. I would really prefer: “People -> work -> John”, “People -> family -> John” and “People -> friends -> John”

Business trip: suppose you have a business trip in which you have some meetings with clients and a conference. Different tag trees could help you to organize the related files. I would use for example:

  1. “trip X” -> “Day 1” for a quick and dirty access to all the things of that day. Under this you could find the tickets, hotel reservation, the files for the meeting at day 1 (contracts, brochures, whatever…)

  2. “Conferences” -> “Conference Y 2016” and also “Clients” -> “Client Z” -> “contract W” for a more structured access to my presentation and business files

  3. “Subject” -> “subject whatever” to an access to the presentation when the office is looking for something related to the subject of the presentation

I know that you can use the hierarchical structure of the folders, yet I think that it is not enough and usually I have two or three different hierarchies, like in this case

Give different access to global tags by user feature: tags with a Hierarchical structure would make much more easy to manage access to different tags: the admin could manage different “branches”, not a huge quantity of single tags


Why you can’t just add more than one tag and get same result? #work #john and #home #john will give you different set of files.

It would work, yet I find the solution you are proposing far from perfect.

Here are the reasons

  1. the “huge list of tags” syndrome would remain

  2. it forces the user to remember by hart the structure of tags. A structured tag system helps who is using it to classify: I am looking for the right tag for a person (and therefore “People”) who works with me (and therefore “work”) and whose name is John (You get it…!). An unstructured tag system forces all the users to remember the right tag combination; I find it quite NOT user friendly

  3. it does not extend well: You can not manage “groups” of tags

  1. Nested values which you ask actually will not reduce number of them
  2. It does, but at least it does not force you to remember whole nested path, keep it simple (#work #home #vacation #etc)
  3. Wth is group of tags? https://en.wikipedia.org/wiki/Tag_(metadata)

reading your answers I have the doubt that I did not manage to provide a full overview of my concept.

A Hierarchical structure of the tags require an interface that allows to select quickly the various levels of the tag. By level I mean that I first select “People” [one level] and so on…

This means that

  1. the total number of tags you define does not change. The number of tags you interact with each time changes. You interact only with a fraction of tags each time: all the first level tags + a subset of the tags at the second level (+ …)

  2. I am not an interaction expert (possibly we should ask to @jan or others in the design team), yet I am convinced that if I have to perform a number of choices from a small group of tags I am more consistent with much less effort than if I have to perform a choice (actually more than one) from a big number of tags. Stated differently: your scenario = I have a tag list with hundreds of tasks and I have to think to remember the right combination [I have to pick more than one tag from the same list]; my scenario = I have a small list (e.g. People, places, documents, hobbies) with an easy choice (People), then I have another small list (e.g.: Family, Work, HobbyA, HobbyB) again with an easy choice (Work), … I think that this leads to more consistent choices.
    There is also another advantage: you obtain an implicit correctness check. Picking again the same example: your scenario = I select the tags #people #work #john, the only way to verify I did it right (i.e.: consistently with my previous tagging) is to actively go and check; my scenario = I select #People, then I find and select #work, then I look for #John and I do not find the tag -> I automatically know that I am not consistent with previous tagging

  3. about the groups, sorry but I was too quick. I was referring to my first message: [quote=“Spartachetto, post:1, topic:4509”]
    Give different access to global tags by user feature: tags with a Hierarchical structure would make much more easy to manage access to different tags: the admin could manage different “branches”, not a huge quantity of single tags

If you have a tree like structure you could manage the different trees or branches, giving different access to different users

1 Like

maybe the github issue Allow creating/modifying group tags in the admin UI #621 could be related.

cc @nickvergessen as I discovered he is the tag master! :wink:

blasphemy! :innocent:

Well I understand your intention, and also the reasoning. However I’m really not an expert in front end stuff. I can only do very basic things. Also I would not know, how that should be handled in the drop down.
The issue you linked in your post is about tags that can only be set by some users. So not about groups of tags, but groups of users.

First of all, thank for your answer!

I guess that the feature I propose would need development both in the internal tag management system and the front end.

The front end should include

  • an interface to manage the tag structure: I want to create the tag “John” which is a leave of the branch “People” -> “Work”
  • an interface to set the tags: I want to set the tag “People” -> “Work” -> “John” to the file “20161016_122305.jpg”
  • an interface to retrieve the tags: I want to find all the files with the tag “People” -> “Work” -> “John”

all the three interfaces would need a rethinking and something more than the simple dropdown

It is clear that if the internal tag system does not allows a Hierarchical structure for tags, then we have no problems of interface :slight_smile:

If you and other developers fill that this proposal can be of any interest, I would gladly help trying to refine the user cases and the general idea.
I do understand that this leaves practically all the work to you, but I cannot help in any other way :frowning:

I just happened to found this page about the digiKam Tag Manager that uses a structure similar to my hypothesis

Discussed in issue2928 as well

I forgot to add that the source of information about digiKam was this github issue of metadata app.

It would be interesting to understand if v0.6.0 of Metadata app can read these hierarchical tags!

I would like to add the ability to relate folders and files with the use of tags is very beneficial. In essence you can create virtual relationships outside of directory structure. The current implementation is a start, but could use more development to have an inclusive filter for tags, but also an exclusive filter, and controlling the recursive nature of the filter. This would allow for better workflow use cases, such as basic data management, todo management, data retention, the options are endless.

This thread is about hierarchy in tags

It is not about defining additional hierarchies in folders thanks to tags. I seem to remember a thread about this last point but I cannot recall the name…

Thank you for your reply.

I see what you are saying now. I have been thinking about the power of using tags for awhile now.

It would be nice to see further NextCloud development in this area of collaborative tag and data management. I have been working with a product called Tabbles
( https://tabbles.net/tag-and-organize-files-with-colleagues/ ) and find some of the ideas would be very interesting to implement in NextCloud.

You could be interested in

It is a synthesis of what should be the next steps in tag functionality.

Let us say that it is not the most rapidly developing functionality in Nextcloud…


I have been interested in relational file manager type systems, and really like what I see being developed at https://tabbles.net