Folks,

This question may be from a place of ignorance, however can you tell me why 
it appears fields can only be set from inside a triggering process such as 
a button?

No need to go into DOM trees and All that, I understand that at a high 
level.

I was wondering if there is a reason I can NOT set a value in a tiddlers 
field using a macro, list, set or other method if only when a tiddler is 
rendered. without user intervention such as a checkbox, button etc...

Or have I missed something?

If it is as I suspect, could we not have a trigger that occurs as a tiddler 
is rendered, such that it may evaluate some conditions and assign a value 
to a field, before continuing to render the rest of the tiddler, now using 
the new field value?

It would seem a little like StartupActions for a tiddler. However I have 
not worked through the amenity and practicality of this.

I imagine one could cause multiple actions to occur on the opening of a 
given tiddler. Such that the opening a tiddler is a button that will launch 
some actions.

Perhaps another way to think of it is a pre-processing step. I could 
imagine a block of wikitext could be evaluate (eg; Some variables 
determined and actions executed) before the rest of the wiki text is 
evaluated in a given tiddler) as a result this pre-processing will never be 
rendered only the result of its actions prior to rendering. Of course a 
timeout may be needed, set globally, overridden locally.

Use cases?

   - Evaluate various values or determine if other values match various 
   conditions before rendering
   - Allow tiddlers to respond to pre-conditions evaluated for them alone 
   with simple flags
      - eg; If tiddler expiration date has past set status field = expired
   - Allow tiddlers to carry with them some logic and processing normally 
   found in accompanying macros/plugins and user buttons. Increase 
   share-ability.
   - Allow the generation of a log entry on opening a tiddler (I have being 
   here), update a last read date.
   - Allow auto timing or start and end time logs (Would need a post 
   process)


I was taught not to raise a problem without suggesting a solution!

Perhaps we could provide a way to specify a special kind of macro that is 
pre-processed without output (unless in error) eg:

\defineaction onopen()
<$list
set field to result
</$list
\endaction

In closing I suppose what I am suggesting is not only considering tiddlers 
as the atomic storage unit but also allow them to be the the process or 
function atomic unit.

Regards
Tony

-- 
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/fd0aeca1-adde-4601-b927-df9fc8d691c0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to