Here’s an idea that I’m not well-placed to implement now. But I wonder if anyone else recognizes this itch, brought to the surface in this recent thread:
This is a big deal! I did not fully realize this — that actual removal of fields happens, rather than simply the application of an ordered set of criteria for how any given tag’s children’s appear in sequence. (Does this even remove fields on shadow tiddlers? So I might actually be overwriting a shadow, without touching it, by dragging around within a tag pill where it’s listed, if the shadow had a list-before field?)
This fact (removal of special list-before / list-after fields upon tag-pill reordering) is explicit in the docs here. I had until now focused instead on where the hierarchy of ordering criteria within a tag is clearly spelled out.
more confessional details, feel free to ignore
- On reflection, I’m pretty sure that I’ve surely carelessly deleted
list-before
fields without even realizing it. Likely typical case: I want to reorder the tiddlers within an informally tagged “package” (for explanation order) and one of those tagged tiddlers is, say, a cascade tiddler that needs its list-before field because of its cascade-related tag. Or I’m tinkering with a view template in haste, and just want to make sure it shows up at the top for testing. - Honestly, am I the only one who uses drag-and-drop too often, when I should really be adding that list-before field, simply because opening the tiddler to create a
list-before
field would take me out of my workflow, while the tag-pill UI is convenient and ready at hand? … - I never understood that in choosing this convenience, I might be actually removing
list-before
fields from other tiddlers… meaning that even if I scrap my experimental view template (or whatever), I’m leaving my wiki in an unwittingly altered state. In retrospect, I now have a different account of occasions when I’ve muttered, “Gee, I really don’t know why that’s demoted again, I’m sure I had it rightly prioritized yesterday…”
All this makes me toss the following idea out to y’all…
In theory we could have a list-order-savvy tag pill drop-down interface. This intervention would add some recognizable visual clues as to the ordering factors at work. It would help users more easily register whether drag-drop reordering would have unexpected consequences; for example I’d readily see that, say, two tiddlers at top of a tag’s dropdown list both have a blank list-before field (in which case to override the effect of letting inverse [!] alpha-ordering break the tie, perhaps it’s better to open one of them and add more specificity to its list-before field, etc.).
Specifically, I envision tag pill dropdown elements could be subtly but legibly styled with:
- some default/plain (or transparent?) look throughout if there’s nothing more than default alpha-order at work (no list field in the tag tiddler, no list-before or list-after fields in the tag-child’s tiddlers). Drag-and-drop is “safe” to play with!
- tag pill’s title tiddler at top displays differently (with underline or greater opacity or something) once it already has a list field (and then the tiddlers actually listed are then also underlined (or whatever), so we can see easily recognize how the end of the list includes recently-added stragglers, which still have the plain/transparent default formatting)…
- any tiddler that’s at the top of dropdown because of a blank list-before is marked with a subtle up-arrow at left (or palette-tweaked background or something)
- any tiddler that’s at the bottom of dropdown because of a blank list-after is marked with a subtle down-arrow at left…
- some miniature/minor variant of that up/down icon marks list-before and list-after fields with contents serving to order a tiddler just above or just below its neighbor(s)…
Above-and-beyond features of a list-order-savvy tagpill:
- All of the above features are built-in, but remain visually hidden or dialed-down except on hover, to reduce visual noise.
- Add a small internal drop-zone at top (and bottom) of tag-pill drag-drop interface that does not change the list field for tag’s home tiddler but instead adds a blank “list-before” field to the tiddler in question. Or a control-click on a tag-pill-listed-tiddler could include an option to create blank
list-before
orlist-after
field, to promote or demote it without generating (or modifying) any list field. - When the tag pill list-field order is reordered with drag-and-drop in the familiar way (or when it is generated for the first time that way), a little “pop” effect animates as icons/styling is removed from any tiddlers whose list-before and list-after fields have just been erased. So you have one more reminder that the drag-and-drop has done something beyond create/change the list field of the tag-home tiddler.
I’m not the best person to try this, and have other work to do…
But surely — especially in interacting with cascades! — a stylesheet that does this (perhaps also needing at least one shadow overwrite for tag pill variables) could avoid some blunders and minimize time asking: “Why exactly do these tag-children show up in this order, again?” . If I’m tempted to reorder tag-children with drag-and-drop, how can I be quickly confident I’m not deleting some important tiddler’s list-before
field?
One final attempt to articulate the “problem to be solved” here: Reordering with the tag pill drop-down is convenient and intuitive, so people are drawn to using it to adjust ordering on the fly. However, relying on list-before
and list-after
fields, within the “child” tiddlers, is often the cleaner solution, especially when: (a) tiddlers might need to travel across wikis (b) lists can get super-long (c) there’s a reason for micro-ordering details that is not as simple as a rote list (such as Monday Tuesday Wednesday… ) (d) some tiddlers may have multiple tags where ordering matters, so we’d want a list-before field (with specific contents) to help anchor its place within one tag, without settling its position within a different tag. We need to help users recognize this tradeoff, and to make wise decisions about which ordering criteria to manipulate, and what’s lost if they do manipulate the tag’s list field with drag-and-drop.
Note, this proposal is in keeping with some other ways of adding dimension to the information available through interaction with the tag pill — such as rendering the tag-pill in italic if its “home” node doesn’t exist as a tiddler. Ideally, we do all this in a way that does not feel cluttered or distracting, but simply intuitive — there when you care to look closely, unobtrusive otherwise.