Behaviour when disabling a plugin containing a modified tiddler

It seems like when modifying a tiddler which is part of a plugin said tiddler will be active regardless of whether the plugin is active or not. If plugin X contains tiddler Y then tiddler Y will be active if it has been modified regardless of whether plugin X is disabled or enabled. This may also lead to broken behaviour if plugin X contains other tiddlers which is enabled/disabled when not modified.

Is this the intended behaviour? It was not the behaviour I expected. I think it makes modifying plugins difficult if you like to have the option to disable the plugin afterwards. Is there a better way to modify a plugin?

Hi @emil once a shadow tiddler has been modified it becomes an ordinary tiddler, and there is no longer a connection back to the originating plugin.

2 Likes

I see. Is this the desired behaviour?

I find that I would like to be able to modify a tiddler which is part of a plugin and retain the ability to disable the plugin with all of its tiddlers. Is this possible in another way?

It’s not obvious that there is a reasonable alternative, given the way that plugins and shadow tiddlers work.

For example, there is not, in general, a way to “disable” tiddlers short of deleting them. It depends on the type of tiddler.

I think that to get the behaviour you want would require inventing a few new things:

  • A mechanism for connecting edited shadow tiddlers back to their originating plugin
  • A generic mechanism for disabling tiddlers

Those are substantial changes, and would result in the core being more complex, with more magic.

2 Likes

Thank you for the clarifying response @jeremyruston.

I guess I’ll work around it with the magic already in place. As a relatively novice user I haven’t yet internalised how TiddlyWiki works with plugins etc. into how I expect it to work.

Emil
Keep in mind it all depends on what you refer to as an active plugin. Is it the presence of a tiddler, or is it that a tiddler is tagged as a macro or view template to appear somewhere. I think when designing a plugin it is possible to build a method in its settings to turn its functionality on and off and this will operate whether or not a tiddler or shadow tiddler. This is often the case with config tiddlers that can remain until a plugin is reenabled or reinstalled.

Typicaly an enabled plugin determins if javascript modules are loaded as the wiki is loaded.

If you open the ControlPanel : Info : Basics tab

Then scroll down, you will see: Number of overwritten shadow tiddlers. … If you click the “search” icon it will show them in the Advanced search. … So it will be easier to see, what you did change.