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.

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.

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.