Recent discussion about hierarchical tags got me thinking: what if #tags just aren’t the right tool for this job? I actually think we might already have them; It’s just that they’re not actually #tags.
@LauraH @Jorge @ghuth , I’m looking at y’all.
#Tags are – like every other “property” in Legend – one-dimensional. Using segmented names, as some of us do (#parent.child), you can approximate a truly 2D scheme such as an Outline…but it’s not quite the same. Call it 1.5D.
If your items truly need to be organized under two completely independent 2D schemes though, the only real answer is to use two Outlines, via mirrors. Mirroring an item into another Outline creates a wormhole connection making both Outlines ‘touch’ at that point. So, for those of you with aspirations of complex #tag hierarchies: What if you built that hierarchy as an Outline? You would use two ‘documents’:
Primary Outline – your current item structure
Secondary Outline – your hierarchical tag structure
Then, instead of appending #parent.child.grandchildtag
to items in the Primary Outline, you would ((Mirror them as a child of the appropriate “tag” node in the Secondary Outline.
Currently that is easiest via drag/drop. Doing it with keyboard requires Alt+M which is a bit sloppy…but the plus is you only have to type the final tag name, not the whole parent.child.grandchild string. With a better entry method, that would actually be much faster. Currently, trying to “append” a mirror to an existing item by typing ((
replaces that item with a mirror – I think that’s a wrong behavior (verging on a bug, since it deletes the existing text without confirmation) and it should instead place a mirror of that item as a child under the chosen item. Which is exactly what you would need for this wormholing technique.
I’ve toyed with this a little in my sandbox and it definitely works, but I’m not running it in “prime time” yet. I’m a little burned out on structure changes right now.
Now, humor me for just one more step: If you build that secondary outline out of items that are all, themselves, #tags – you’d basically have your “hierarchial tag manager” right there. You would have built the tag manager in Legend itself!
😲
The only reason this doesn’t work today is that the #tags in the secondary outline don’t get ‘inherited through the mirror’. So if you filter for those #tags in your primary outline, nothing shows up. That is potentially a straightforward change, though. Just one change…and it opens up a whole lot of possibilities.
What do y’all think? I know this is a wall of text – I should post some screenshot examples. But I just wanted to get the conversation started after reading that other discussion about hierarchical tags.