So, I'm messing with some TW5 extension stuff.  I have written a macro that 
I call "cond" because it's patterned after Lisp's construct bearing that 
name, and what it does is provide some flow-control in a generic way such 
that it's not necessary to write custom macros as often.

I've also modified the view template to give each tiddler a "subtitle" in 
small text after the main title, based on a separate field of course.  (I 
used the cond macro to make the subtitle only appear if it is nonempty.)

I'm trying now to modify the edit template similarly, and I'm running into 
a problem: There's no way to manually control the order of the parts which 
are combined to make the template.

For everyone's convenience, here is the code of $:/core/ui/EditTemplate. 
 Similar code appears in a few places, and I can't help but think that 
there must be some nice way to reduce this duplication...

\define frame-classes()
tw-tiddler-frame tw-tiddler-edit-frame $(missingTiddlerClass)$ 
$(shadowTiddlerClass)$ $(systemTiddlerClass)$
\end
<$set name="storyTiddler" value=<<currentTiddler>>><div 
class=<<frame-classes>>><$list 
filter="[is[shadow]!has[draft.of]tag[$:/tags/EditTemplate]] 
[!is[shadow]!has[draft.of]tag[$:/tags/EditTemplate]] 
+[tag[$:/tags/EditTemplate]]" variable="listItem"><$transclude 
tiddler=<<listItem>>/></$list></div></$set>


As you can see, this is leaving the order unspecified and relying on the 
default behavior.  I think the result is to use the creation-timestamp 
order, which is a bit bizarre if true, and not at all extensible, since 
there's no mechanism through the UI to change that value!  (Nor should 
there be.)  It also seems to place tiddlers that exist in shadow form (even 
if they're overridden so that the shadow is not the one in effect) prior to 
ones that don't.  All a bit weird.

So, I'm looking for design suggestions.  Obviously, I could change the code 
that gathers the template's parts to use a list instead of tags, since a 
list is an ordered collection, but that doesn't really seem right...  It 
means that users customizing this template need to go into the template 
itself and modify the list, rather than just applying a tag to the new part 
they're adding.  Of course, in some sense that can't be avoided since it's 
necessary to check what the ordering presently is, for any mechanism that 
allows it to be specified...  So, I'm thinking now in terms of changes that 
would affect both the code and the UI, perhaps making it more convenient to 
manipulate where a tiddler is listed, from the tiddler itself.

Since any solution is going to be reasonably deep, though, I'd be trying to 
get it rolled in upstream, and it would be great if I could get Jeremy's 
thoughts.  Is changing template tiddlers to use lists the right approach? 
 What sort of UI might fit well with the existing design while making it 
possible to manipulate where a tiddler is listed, from that tiddler itself?

I also had a less-involved solution in mind, which would simply add a 
"priority" field to each tagged tiddler.  This runs into a few problems: 
 What if if a tiddler needs to be ordered with respect to multiple tags? 
 And, there's no easy way to view the priorities of the other items in the 
notional "ordered tag" that this would produce, and thus no easy way to 
determine what any given tiddler's priority should be.  It would at the 
very least require UI changes also, to make it usable, and the end result 
would be uglier than using a real list.

Okay, I'm not sure how to wrap this up, so I'm just going to end there. 
 Hopefully people can make sense of what I'm asking. :)

-- Irene

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to