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.