Folks,

Through various issues and discussions I have developed a few solutions I 
would like us to implement ASAP in tiddlywiki. I have working prototypes, 
but would appreciate if someone could help mentor me towards a plugin or a 
core solution. 
They have desirable dependencies between each, so its hard to propose them 
separately.

I only propose these because I believe they could provide profound 
improvements to Tiddlywiki

   1. Ability to freely add actions to any button
   2. Unique Tiddler Serial Number TSN
   3. Wiki registration system

*Ability to freely add actions to any button*

I have a nice mechanism where all the core button tiddlers would include 
the following  (naming to be considered)
actions={{shortname||$:/actions}}
eg; the edit button
actions={{edit||$:/actions}}
In this case any tiddler tagged $:/tags/actions/edit would have actions 
contained within it that occur on click of the edit button.

Why?

   - TiddlyWikis nature demands actions and a trigger to achieve a number 
   of things, by providing a mechanism to use the existing triggers "buttons" 
   we provide substantial utility.
   - Providing a simple way to add actions to core buttons, and any that 
   one builds a button going forward, would facilitate a number of great 
   solutions including;
      - Unique Tiddler Serial Number TSN below
      - Use button presses to trigger a related feature, eg save wiki could 
      record some stats
      - All or selected button actions could be logged to a data tiddler
   - Using the tag mechanism to implement this would allow multiple 
   additions to use the same method without clash
   - Within the action tiddlers so defined by the designer, further 
   conditional statements can be used
   - Yes this will not deal with the subtleties of action order in all 
   parts of the "buttons" except with the acton tags list field order. But as 
   such actions can operate with available info and they can still do a lot.
   - Such button actions could be reused in different ways.

Issues;

   - This solution, whilst it could be a plugin needs to edit every exiting 
   button, thus If I can have support for the actions parameter to be set as 
   such it could have little impact but open up some futures. Increase 
   hackability.
   - The Existing "new tiddler, journal, image buttons have already being 
   changed (in an experiment?) by Jeremy, I would like to see them included in 
   this.
   - I am keen to also see Jeremys suggestion to *convert messages* into 
   hackable actions but I think this can be done separately and or 
   simultaneously.
   - It would be nice to see a corresponding action tag be made available 
   on open/navigate
      - With this we could even record last viewed date/time, or 
      launch/refresh a batch action in the tiddler on open.
   

*Unique Tiddler Serial Number TSN*
I also have a very simple mechanism that operates on non system tiddlers, 
to avoid editing shadows. 

   - if the TSN field does not exist on a tiddler get the latest serial 
   number and increment it by 1 and set the TSN field to this value, save the 
   lates serial number
   - This would be set to trigger on a subset of buttons such as new 
   tiddler, Done etc... but will occur only once for each tiddler
   - Serial numbers can be prefixed with a wiki code to facilitate cross 
   wiki shares, or the import/export  process optionaly not include the TSN
   - TSN's could be applied selectively to only tiddlers that may require 
   it.

Why?

   - After assignment the TSN would never change, it can be a hidden field 
   in the Edit view
   - The Tiddler can thus change its name without a loss of relationship to 
   any other data or tiddler if the TSN is available and has being used for 
   this purpose
   - Name changes can be logged and you could find a tiddler by its older 
   name
   - A New form of Qualify could be created for state tiddlers
   - The could be used with the lookup operator to allow multiple tiddlers 
   to exist in different namespaces that are linked back to the same tiddler 
   regardless of its name
   - This would allow layered tiddlers (I can explain further)
   - System tiddlers could use their TSN and set it to a value so the 
   intermediate or transcluded tiddlers can provide their title to the code
   \define currentCodeTSN() hardcoded TSN

Issues

   - This could be selectable
   - Ideally a universal or core mechanism makes more sense since this is a 
   gap in the current use of tiddler titles that we want to freely change but 
   also unique keys.
   - The resulting serial number could be codified before application to a 
   tiddler, all we care is its unique. So a large number could be reduced to 
   number/upper and lower case to reduce its size substantially.
   - It makes sense to develop this on top of  *Ability to freely add 
   actions to any button*
   - Whilst the rename plugin overcomes some of these issues, it does not 
   in itself open the mechanisms to hackability
   - This would benefit from the *Wiki Registration System*
   - Since shadow and system tiddlers tend not to change name I have a way 
   to assign them a TSN without touching them
   - In future a suit of nice tools could make use of the TSN mechanism

*Wiki Registration System*
I would like to propose the addition of a $:/config/wiki-registration 
tiddler to contain a unique wiki identifier. This could be combined with 
the TSN for universal serial numbers

   - All I propose at this point is a standard config value be added to 
   tiddler wiki for this
   - However in the longer tun I propose the ability to request a unique 
   serial number for a wiki from a generator that issues them.
   - We may want to also allow registering a prefix eg $:/PSaT and 
   $:/plugins/PSaT for my name People, Systems and Things
   - If present this number would be optionally appended to the TSN

Issues

   - All I ask here is the ability to set a standard field that can be used 
   voluntarily, 
   - but later from an official registration list.Official ones can have a 
   special prefix.

Yours Sincerly
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 tiddlywikidev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/0009a5d3-8033-4790-87a9-e9c1e82e0613%40googlegroups.com.

Reply via email to