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.

Reply via email to