Mat, Hopefully this is not classed as a rant, some thoughts.
I am inclined to keep the fieldname and value separate. Like in a standard database, a field is really just a column title, and the instances of it are the values associated with a key. Tiddlers are addressable by there unique name (a key), even if a field-name is used once, to access its its instance we needs to identify the tiddler title to which it belongs. To me this makes the tiddler remain the "atom" of tiddlywiki, fields are the sub-atomic particles. If there is a field anywhere (and everywhere) in the wiki called "fieldname" then it is fine to have a single tiddler that describes it. If someone chooses to use fieldname in one set of tiddlers to mean X and in another to mean Y then they are free to do so. They could even note in the fieldname tiddler that fieldname has two or more uses. Extending the Info page to tell you in which tiddlers the field is used and or has a value will help. In keeping with the field concept I think data tiddlers can be considered external fields, they define a field, its instances(index name is the key not the tiddler name) and values all in a single tiddler, they are more like a global field not to be confused with others such as Text/Title/Tags so by thinking of them as external fields (for want of a better name) could help. Actually it could be helpful if we (users) could define a global field like text and Tags in a tiddlywiki that exists in every tiddler like changecount (from TWC). However there is a good argument that maintaining a SINGLE tiddler for each fieldname, and each field name for a documented purpose, is a way of supporting a good naming standard, avoid unexpected results, support self documentation practices and more. Never the less a Tiddler can be a tiddler with content, including containing text/code (macro) or references to other tiddlers, be a tag and a Field definition all at once. And as in the discussion you linked to, also a variable or container for a variable. It is with this possibility in mind that perhaps a state tiddler should not populate the "text" field but a "value" field in the state tiddler. Although using text should remain valid. Of course if we extend the "every field is also a tiddler" idea and for example provide in a field tiddlers a "list field" the "possible values" for that field or some input value tests eg a number between 1 and 100 then users would be more inclined to use a field name more consistently (but are not forced to). The same can be said for variables, if a tiddler exists with the name of a variable we can choose to look in its "value" field, then its "text" field, and look in a "list" field for possible values and the "allowed" field for valid values or a validation script, even if the currentValue exists within the widget tree. Thanks for the reference to the variables discussion. What you and Jeremy says has great value as well. Personally I do not yet grasp the whole widget tree model, but understand its importance. It seems to me that there are things that vary such as field values and state tiddlers and variables that are contextual within multiple transclusions and the widget tree. If we are to simplify the syntax I think we may need to start differentiating here because there are constants that can change, things that vary and things that vary within the tree. In someways "currentTiddler" causes a problem because there is a current tiddler "Displayed" and a changing "currentTiddler" as a result of a filter/list. Sometimes the current tiddler is not even a tiddler, or only a potential tiddler. Because I am keen for tiddlywiki to undergo reform not revolution if we keep currenttiddler and introduce a value "displayTiddler" for the parent that is static in the tree below, a templateTiddler when specified for the displayTiddler it would have helped me learn and do things sooner. Perhaps the whole widget tree idea needs to be made clearer, perhaps by providing tools to navigate it, not through understanding the code but tools provided that help people visualise and tap into it, perhaps even a debug mode so we can see its value changing, Inheritance is is a good example. It is all fine having a many to many quine but a lot in tiddlywiki and the real world uses hierarchies and these should be more available, visible, understandable and reusable. My 2cents (or more) again. Tony On Saturday, 9 September 2017 20:14:29 UTC+10, Mat wrote: > > I would also like for this (actually, I've even made this suggestion > myself, but I fail to find where). > > IMO tiddlers, as they're currently manifested, are not general enough to > be "the smallest semantically meaningful unit > <http://tiddlywiki.com/#Philosophy%20of%20Tiddlers>". IMO, what is "the > smallest" *depends on context *- but at the very atomic level it must be > the *field*. > > But this does present a (solvable) problem; A field is a <name>:<value> > ...but that would mean we can only use one instance of each fieldname. Or > we'd need some other identification to differentiate between foo:bar and > foo:frotz.... so then the minimum entity would not be <name>:<value> but > instead: > > <id>:[<name>:<value>] > > I would very much like to see this as a first class citizen. Of course, > the typical 'end-user use' may then be to deal with a complex unit of these > that is identical to the current tiddler manifestation. But not always! > Especially not for when you just want a single value container. > > ...which is related to a recent thread > <https://groups.google.com/forum/#!topic/tiddlywikidev/hHjo_COnmis> here > where the concept of tiddlers as variables was discussed. > > This should make for very streamlined wikis. > > <:-) > -- 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 https://groups.google.com/group/tiddlywikidev. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywikidev/7970b6bb-0d66-4799-90f1-9a730ccec7d3%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
