Nested tags (or best solution for)

Hi all - I know from searching through the posts archive that nested tags isn’t something that @mekentosj and @drewmccormack are thinking of developing for Agenda. The post that I found was from a couple of years ago (so several versions ago), so I was wondering whether this is now something that might find itself back onto the development roadmap. Plans always change after all!!

However, if this is not the case, then I wonder what other solutions/tricks people have to somehow simulate nested tags, while avoiding a long flat list of tags. For better or worse, I use the Johnny Decimal system across all my tools and devices, and so I’m kind of wedded to it. But it relies on a nested folder/tag system.

Just to be clear, in Agenda I currently implement this by using Categories > Subcategories > Projects for my nested JD system. This works, except when it doesn’t! Using tags would absolutely solve the problems when they arise, but I don’t want a huge and unwieldy flat list of tags.

Thank you in advance for your thoughts and conversation.

Regards,
Antonio

Thanks Antonio, and you found the right thread. Nested tags still aren’t supported, and I have to be honest that they aren’t on the roadmap for the near term either. The complexity they add is real, and it touches the tag browser, autocompletion, search and the overviews all at once.

The workaround Alex suggested back then does still work though, and for Johnny Decimal I think it fits quite well. You write the tag with the path inside parentheses:

#(12.03 finance/invoices)
#(12.04 finance/receipts)

Two things about that which are worth knowing, because they aren’t obvious.

The parentheses are not optional. A tag name can contain letters, numbers, dashes and underscores, but not a slash, so if you type #finance/invoices without the parentheses you get a tag called just finance and the rest stays as ordinary text. Inside parentheses anything goes, including spaces and slashes, which is also what makes the numbered JD prefixes work.

Searching then behaves better than you might expect. Tag matching is a substring match rather than a prefix match, so searching #finance finds every tag with finance anywhere in the name, and typing #invoices in a note will autocomplete to your existing 12.03 finance/invoices tag. That last part is the bit that makes it liveable day to day, since you don’t have to type the whole path. If you want to match on the slash itself you need the parentheses there too, #(finance/), otherwise the slash gets dropped from the search term.

So you don’t get a real hierarchy, no collapsing in the tag browser and no rolling up of parent and child. But you do get one flat list that sorts into your JD order, and searches that behave close enough to nesting for most purposes.

I would be interested to hear how you get on with it, and whether the tag browser becomes the sticking point. That is usually where the flat list starts to hurt, and it would help us understand what nesting would need to do if we ever do tackle it.

Drew

2 Likes

This post piqued my curiosity. I’m not a huge user of tags, I prefer linking. In a circumstance I often have, an existing note is tweaked a bit and re-used elsewhere, for a few, multiple times. I want to try formatting a combination of the two, perhaps finding the version I wish to use or start with and use the link to it and modify where needed and saved. Just an idea! I found the article and thought it might be useful for the topic.

Thanks for the reply @drewmccormack. I think I will continue with my current set up of using Categories > Subcategories > Projects for my notes as it is neater and fits with my workflow. The reason that I would prefer to use tags is that sometimes notes belong in more than one place (and I think that’s a very common reason?), and tags is an easy way to represent that. I’d rather not copy and duplicate a note between two different projects, say, as that duplication can kill you in the mid to long term. Especially when you have to change something in a note; the two become immediately out of sync and (if you remember) you have to do something about it.

I have evolved to using the same JD system to manage all my different use-cases (at work and at home) such as email (and I wish that Apple Mail had tags!!), folders on three different platforms (OneDrive, DropBox, Google Drive - aargh!! but that’s what we’re provided with at work), and my notes across two different tools. And (almost) none of these have tags properly !

So my desire for tags does not outweigh my enjoyment and love of using Agenda for my meeting notes. I do also use UpNote for other notes (other projects and thinking) and it does use tags and has the approach that Tags and Folders are essentially the same thing. So you can look at a hierarchy of nested folders, but in the background they’re the same as tags as you can assign more than one folder to any note without duplication of the note. That’s the best solution that I have seen. (maybe have a look at that tool if you haven’t already?!)

Thanks again for your response and for your feedback. I hope this hasn’t been a too much of a waste of time as I’ve enjoyed and valued the discussion.

Thanks Antonio, that is a really useful reply, and not a waste of time at all.

The point about a note belonging in more than one place is the strongest argument for tags, and you have put your finger on exactly why the Categories and Projects route only takes you so far. Duplicating a note to get it into two places is not a workaround, it is a future problem, and I would not recommend it either.

The UpNote model you describe, where folders and tags are the same thing under the hood so a note can sit in several without being copied, is an interesting one. I will have a look. It does not fit neatly onto what we have today, because our projects carry a lot of meaning beyond grouping, but the underlying idea of one note living in several places without duplication is the right thing to be aiming at.

I will take your JD experience along with the nested tags request. Knowing what people actually do when the feature is missing tells us more than the request on its own.

Drew

1 Like