Query: What is a Shadow Tiddler? #confusion #101

89 views
Skip to first unread message

TiddlyTweeter

unread,
Nov 29, 2019, 10:00:30 AM11/29/19
to TiddlyWiki
"What is a shadow?" ... that is one thing I found VERY confusing for a long time. And maybe still I am confused?

As far as I understand it now, a "shadow" Tiddler is always a Tiddler in a plugin? (ref)

But I then get further confused because all "$:/core/ ..." Tiddlers show up on filter ...

<$list filter="[all[shadows]sort[title]]"/>

So the "core" is a plugin? Yes? I thought a plugin was something you added beyond the basic system (i.e. added to core)? 
My naive beginner idea was that you download a system then ADD plugins---not that the system itself is a plugin!

And when I filter like this ...

<$list filter="[is[shadow]]"/>

... a "shadow" here means that it is an overwritten shadow. It does not mean it is a shadow. That makes it's use here a "contronym" --- a term that is used as the opposite of itself. Very confusing! The subtle difference between "shadowS" in the ALL and the "shadow" in the IS blurs the issue a lot.

Also, in ordinary language, the idea a person's "shadow" is more real than them is wrong. Their "shadow" is derivative, not primary. 
In TW it is the other way around. 

The "shadow" in TW IS the original; not the modification of it. Right? That seems the wrong way around.

I do NOT want to moan for the sake of it. But I think "shadow talk" can really get VERY confusing!

Best wishes
TT

TiddlyTweeter

unread,
Nov 29, 2019, 10:03:06 AM11/29/19
to TiddlyWiki
Email repeat ...

Eric Shulman

unread,
Nov 29, 2019, 10:54:30 AM11/29/19
to TiddlyWiki
On Friday, November 29, 2019 at 7:00:30 AM UTC-8, TiddlyTweeter wrote:
"What is a shadow?" ... that is one thing I found VERY confusing for a long time. And maybe still I am confused?
 
As far as I understand it now, a "shadow" Tiddler is always a Tiddler in a plugin? (ref)

Generally yes... shadows are usually created by extracting them from plugins 

But I then get further confused because all "$:/core/ ..." Tiddlers show up on filter ...
<$list filter="[all[shadows]sort[title]]"/>
So the "core" is a plugin? Yes? I thought a plugin was something you added beyond the basic system (i.e. added to core)? 
My naive beginner idea was that you download a system then ADD plugins---not that the system itself is a plugin!

In TiddlyWiki, the only thing that isn't a plugin is the initial loading code which might be thought of as a "microkernel".  Once loaded, the $:/core *plugin* is unpacked to create the initial system and interface that you get by default.
 
And when I filter like this ...
<$list filter="[is[shadow]]"/>
... a "shadow" here means that it is an overwritten shadow. It does not mean it is a shadow. That makes it's use here a "contronym" --- a term that is used as the opposite of itself. Very confusing! The subtle difference between "shadowS" in the ALL and the "shadow" in the IS blurs the issue a lot

Anytime you modify a shadow tiddler, a "real" tiddler is created.  The real tiddler supersedes the original shadow tiddler that was loaded from a plugin.  However, the original tiddler is still "lurking in the shadows", ready to be re-applied if you delete the modified tiddler, so that you aren't left with a hole in the system.

The filter terminology for referring to overridden shadows *is* somewhat confusing, linguistically.  Perhaps it might better be interpreted as meaning "[is[shadowed]]".  Also, note the difference between "overwritten" and "overridden"... the first term implies a direct replacement, while the second term implies a prioritization of use.

I hope this explanation doesn't confuse things even more...

-e


TiddlyTweeter

unread,
Nov 29, 2019, 1:19:32 PM11/29/19
to TiddlyWiki
Ciao Eric

Thanks for ....

The filter terminology for referring to overridden shadows *is* somewhat confusing, linguistically.  Perhaps it might better be interpreted as meaning "[is[shadowed]]".  Also, note the difference between "overwritten" and "overridden"... the first term implies a direct replacement, while the second term implies a prioritization of use.

Useful!

The point of my post was, since I had confusion in the past,  others will be too now. 

It is not so much TW need change anything, rather that supplemental notes on what "Shadows" are would be helpful. They are confusing to grasp, I think.

Best wishes
TT

TonyM

unread,
Nov 29, 2019, 6:21:11 PM11/29/19
to TiddlyWiki
TT,

I think erics use of "Shadowed" is a good one. I am working on a config tiddler solution and needed to understand this well. So here is an answer in my own words.
By the way with config tiddlers shadows in effect provide a default value, you can override but you can also restore. 
You can also interrogate the shadows content without restoring it.
  • A Tiddler within a plugin or given a plugin-type is automatically a shadow tiddler and can't be deleted without deleting the plugin in which it arrived in the wiki, perhaps even already in empty.html 
  • When filtering shadow tiddlers you may use the [all[shadows] or [is[shadow]] operators.
  • When edited, a copy of that shadow tiddler with the save name is created which replaces the underlying shadow tiddle,r for all intents and purposes, although the shadow tiddler still remains. These edited copies become "tiddlers" although are often using the prefix $:/ thus are also classified as system tiddlers
  • When filtering edited shadow tiddlers (and any other tiddler not a shadow) you may use the you may use the [all[tiddlers] or [is[tiddler]] operators
  • However it you want to confirm a given tiddler is ALSO a Shadow tiddler, therefor has being edited, you use the following operator [all[tiddlers+shadows]] to test if it is in both the shadow and tiddler category.
  • When a tiddler exists due to the editing of a shadow tiddler, deleting it "restores" the shadow tiddler.
  • Typically any tiddler that is part of the core or a plugin has a shadow form. Such tiddlers can be essential to the operation of tiddlywiki so it is fortunate they can be overridden but not deleted generally speaking. 
  • If edited we can say the shadow tiddler is now a shadow of its former self or alternatively its being shadowed by the edited version. That is there now exists two tiddlers by the same name but unless specifically referenced you only see the "tiddler" not the "shadow tiddler".
  • If you look for a shadow tiddler that was not edited you often find it as contained within a plugin or the $:/core
Regards
Tony
Reply all
Reply to author
Forward
0 new messages