Tiddlywiki and Sandboxing

152 views
Skip to first unread message

Mohammad Rahmani

unread,
Sep 11, 2019, 8:35:18 AM9/11/19
to tiddl...@googlegroups.com
Tiddlywiki has a brilliant feature when it comes to plugins area!
You can simply overwrite any shadow tiddler and on delete it will restore!
TW take care of shadow tiddlers and you have always the original ones in a safe box!!

I am thinking when ones like to try a new plugin or do some operation not sure of final result or when there is some risk, it could be done trough a sandbox!


P.S: I know it possible to make a manual copy of a wiki and try anything in that! but this is not what I mean!



Best wishes
Mohammad

TonyM

unread,
Sep 11, 2019, 9:18:15 PM9/11/19
to TiddlyWiki
Mohammad,

I am doing something like this with a hack I discovered Using plugin type info

With a little more work or more hacking this could be very usable.

One reason I am keen to establish this process is it supports the development of a change and release process. You can install the first set of tiddlers as shadow tiddlers, make changes as needed and export the final result to release a new version. Always retaining the ability to fall back to the original tiddlers, and review which have changed (including differences?). This can occur across multiple wikis in time, not just in a single one.

My long term goal would be for example to install my design tools in each design project, enhancing those tools as I go, exporting the enhancements and using the enhanced package in the next project. Basically a process that supports continuous improvement each time I use the design tools in yet another project. Of importance here is they are enhanced as the result of real needs, identified in practical projects. However at the same time the design tools can be removed from the final product to reduce unnecessary bloat, and reduce complexity.

This workflow permits a cumulative design process. I have one project that is defining the functionality of fields and field-types and the ability to collect the "system or Generic" field definitions from each project, builds a library of field definitions over time. 

  • One observation already is shadow tiddlers are not necessarily seen as system tiddlers, so some list filters need to be improved to also look for the shadow tiddlers (inside the plugin bundle)
  • I find having a checkbox on such tiddlers useful to indicate if they are required for the current wiki, and should not be removed on deletion of the plugin. 
  • An extra step is required to delete overwritten shadow tiddlers when removing the plugin (A feature we could add to the plugin mechanism)

Regards
Tony

A Gloom

unread,
Sep 11, 2019, 9:20:19 PM9/11/19
to TiddlyWiki
Mohammad!

as always, you plant ideas in my head : )

Tiddlywiki has a brilliant feature when it comes to plugins area!
You can simply overwrite any shadow tiddler and on delete it will restore!
TW take care of shadow tiddlers and you have always the original ones in a safe box!!


could that mean a bit of code to delete recently modified shadows (time period determined by user) could act like a "wiki restore"?

TonyM

unread,
Sep 11, 2019, 9:37:13 PM9/11/19
to TiddlyWiki
Tony

On Wednesday, September 11, 2019 at 10:35:18 PM UTC+10, Mohammad wrote:

Mohammad

unread,
Sep 11, 2019, 10:36:58 PM9/11/19
to TiddlyWiki
Hi Tony

Many thanks for your detailed discussion! Yes, with the advent of dynamic loading of plugins, I think sandboxing will be implemented easier!

--Mohammad

Mohammad

unread,
Sep 11, 2019, 10:44:50 PM9/11/19
to TiddlyWiki
Hi A Gloom,
 Yes, it means you freely operations and then be able to back to initial state!
I am thinking the notebook idea from BTC could integrate with dynamic plugin loading mechanism  
* on create or load a notebook an isolated environment starts
* and when delete or close the notebook everything goes back to its initial state

This is similar with deleting a modified shadow tiddler which result in restoring the original shadow tiddler


--Mohammad

Atronoush

unread,
Aug 31, 2020, 12:31:02 PM8/31/20
to TiddlyWiki

This is a very cool topic! I am wondering if we disable autosave then any Tiddlywiki opened in a browser as a single wiki acts like a sandbox, but I think under Node.JS Tiddlywiki cannot act like a sandbox, is that true?

Atro

TW Tones

unread,
Aug 31, 2020, 8:21:53 PM8/31/20
to TiddlyWiki
Atronoush 
  • The innerwiki plugin allows for instant sandboxes.
  • The plugin process helps as Mohammad posted to apply changes on top of that in the plugin.
  • TW Files are so easy to generate and copy - I have a folder full of what I call sandboxes, standalone dev wikis.
Tones
Reply all
Reply to author
Forward
0 new messages