I am often a fan of relationship tiddlers!
In this case, let me pry a bit, though:
A genealogy wiki sets up a good rationale for relationship tiddlers: it’s ideal to avoid putting “sister of” or “cousin of” (etc.) at one end or the other of the relationship. This is largely because:
- not all relations are clearly hierarchical, so it’s especially hard to develop a clear rule-of-thumb for which tiddler is naturally “home” to the relation.
- we may want to include additional info about the relationship. So “spouse of” — rather than being a field — becomes a “marriage” tiddler that can have a date of marriage, other facts about the marriage, image of marriage certificate, date of dissolution (if needed), etc.
By contrast, TiddlyWiki (off-the-shelf) envisions tags as themselves simply dyadic relations: A has X, B has X, C has X. All stored in A, B, and C tiddlers.
Recently, both @TW_Tones and I have been pressing for “X has A,B,C” (“flags”/“favorites” model), and/or “A claims X but X disclaims A” models. Dyadic but potentially handled from either pole. (And since tag-pole, or flag-pole
tends to be a non-shadow user-controlled tiddler, it’s ideal to put any further notes or discussion there.)
I think relation-tiddlers are warranted only if we think the relationship might itself be the site of significant further detail. So, if you like to keep notes about why this tiddler has the view template tag, this would be the place. …
But here’s the bit of a gotcha (assuming we’re not designing from scratch but building something backward-compatible): With shadow tiddlers especially, my use-case is often to UNPLUG a relation that the shadow is claiming. I don’t see that a relationship tiddler could easily do that. Or rather, I suppose we could make a tiddler dedicated to stripping the $:/tags/ViewTemplate tag-effect from subtitle template (potentially adding a note-to-self reason for doing so). But would that be the same tiddler that could — with the same fields? — toggle the tag back into effect (not just by deleting that relation tiddler)? I think this would require quite a bit of thinking-through. And what happens if there is both a “this_HAS_that” relationship tiddler and a “this_NOT-HAS_that” relationship tiddler? (I don’t see this as a problem for a marriage-relation tiddler, because time is the factor. But in TW-system-function-land, we’re not tracking a narrative, but distilling into a flatter logical landscape.)
Last thought: Then-again, perhaps the idea of a relationship tiddler CAN do it all, if it can house a condition filter… The relation tiddler is between the template and the tag-like function (say) AND the relation is neither a “yes” nor a “no” (though it might be “yes” if it’s otherwise empty?) but the text field contents can articulate something to the effect of: “This template is to be engaged (as if $:/tags/ViewTemplate
) exactly when there’s only one tiddler in the story river AND sidebar is off… (but to be suppressed otherwise)” … and variations on this could be as convoluted as a person could imagine AND — vitally — one could keep breadcrumbs, troubleshooting notes, such as “because this template became redundant when I added XYZ plugin” or whatever.
I worry we’re distracting a bit from the flags model that @TW_Tones is proposing here. But discussing how these relations work is certainly the bigger-picture deliberation we all need to be having…