Does editing a shadow tiddler hurt the system?

357 views
Skip to first unread message

j3d1H

unread,
Apr 25, 2017, 9:51:17 PM4/25/17
to TiddlyWiki
This isn't quite a problem, and I'm sorry if this is spam, but I don't know what the ominous warning is for if it doesn't. So, does it do anything major if you make a seemingly safe change to, say, a sidebar shadow tiddler?

Mark S.

unread,
Apr 25, 2017, 11:34:07 PM4/25/17
to TiddlyWiki
It's kind of like a public service announcement, along the lines of "don't cross the streams". If it seems to work then its probably OK for the current version. BUT, when you upgrade, the tiddler you made by making the change will still be in effect, so if there was something new and important in the new tiddler or tiddlers that depend on it, then something might break. In this case, some changes are planned for the sidebar 2 revisions from now so ... who knows.

The thing to do would be to keep track of your changes and save them to a non-system tiddler. Then, just before an upgrade, undo your change -- just delete the former shadow tiddler and it will revert to its shadow self. Then do your upgrade. Then compare your backup tiddler against the (possibly) revised tiddler and make the changes by hand if necessary.

Oh, and of course have backups of everything before and after changes. Rule #1. Sometimes.

I guess that was as clear as coffee (espresso latte ultra dense).

Good luck,
Mark

Mat

unread,
Apr 26, 2017, 4:13:23 AM4/26/17
to TiddlyWiki
Hi j3d1H



The first thing to know is that is that one reason why there are shadow tiddlers is so that you safely CAN change them! You can undo the change by simply deleting it as this will restore the original automatically. (Actually the original was there all along, but when you made a modification to it, a new tid was created that takes precedence).

Now, of course, if you modify, say, the "delete tiddler" button into something that accidentally deletes all tiddlers... or if you make some other programmatic mistake, then that would of course hurt the system. But per se, modifying a shadow tiddler is no problem.

The reason why updates can be problematic is that your modified version still has precedence after the update. The underlying shadow tid HAS been updated - but if it contains, say, some bug fixes or new features that other tiddlers rely on, these cannot kick in.

<:-)

@TiddlyTweeter

unread,
Apr 26, 2017, 6:24:47 AM4/26/17
to TiddlyWiki
Ciao Mat & all


Mat wrote:
The first thing to know is that is that one reason why there are shadow tiddlers is so that you safely CAN change them!
 
The reason why updates can be problematic is that your modified version still has precedence after the update.

IMO this is part of a larger issue of growing importance: Long Term Management.

When you have only a few altered shadows its not so difficult.

I don't know how many people are running what, have modified what, either directly themselves or via plugins. Its possible to have problems from prior changes you made on upgrade, though Jeremy & other developers are careful not to change anything so radically it would break the majority of the Shadow overrides.

The "Shadow" mechanism is BRILLIANT software design.

But tracking what you did when I think is getting complicated and is becoming an issue in a way it perhaps was not in the past? That's because of the richness of innovation & understanding of TW. But I don't see a congruent attention to MODIFICATION TRACKING so you can backtrack knowing what you are doing.

I got, myself, into the habit of making manual notes when I modify shadows, add a plugin, add a big macro.

I'd rather have an easier way to know what I did when. 

Just thoughts
Best wishes
Josiah

Ton Gerner

unread,
Apr 26, 2017, 6:36:20 AM4/26/17
to TiddlyWiki
Hi,

I did create a stylesheet tiddler containing:

.tc-sidebar-lists a.tc-tiddlylink-shadow.tc-tiddlylink-resolves {
     font
-weight: bold;
     color
: #884411;
}

which shows overwritten shadow tiddlers in bold brown.

Cheers,

Ton



@TiddlyTweeter

unread,
Apr 26, 2017, 6:45:53 AM4/26/17
to TiddlyWiki
Ciao Ton

Wow. Excellent.

I never realised before that a different class is applied to over-ridden shadows.

The people behind this system must be geniuses! :-)

Best wishes
Josiah

Ton Gerner ...

j3d1H

unread,
Apr 26, 2017, 7:37:52 AM4/26/17
to TiddlyWiki
Thanks everyone! I really did not expect this to get this many answers, but that makes a lot of sense. :)

Mat

unread,
Apr 26, 2017, 7:40:00 AM4/26/17
to TiddlyWiki
Ton, good idea.

There is also the listing of overwritten shadows found in Ctrlpanel > Info > Basics at bottom.

What would be more useful is an alert mechanism that IF you overwrite a shadow, then during updates you are informed IF the shadow deviates from the original. "The shadowtiddler for which you have an overwrite, has been modified since you overwrote it.".

One idea for this is to, when you overwrite a shadow, the shadows created/modified date is stored somewhere.
If there is a discrepancey between the current shadow tids date and that stored date AND there is (still) an overwrite, then there is an alert.
If the overwrite is deleted, the stored date is also deleted.

Unfortunately, it seems core and core shadows tids don't have created/modified dates. Is there any other way to tell the difference between an old shadow and an updated version of it, other than looking at the content? (btw, an actual text comparison would of course be the optimal so you could see exactly what you've edited). I would think most community-made plugins, at least from mortals like myself, come with the creaed/modified dates so it would be a partial solution.

BTW, a neater thing would be if shadow tids had version numbers showing the plugin version in which they were last modified in.

Possibly relevant: Similar to how the @ttention plugin works, it may be possible to have a custom viewtemplate in the shadow tid that can be manipulated without cusing overwrite. (@ttention features this.) ... but, still, if there is no way to tell if the update actually changed the shadow tid, then I don't know what to look for....

Maybe there could be a last-modified-at-github plugin?

...?

<:-)

PMario

unread,
Apr 26, 2017, 11:17:10 AM4/26/17
to TiddlyWiki
On Wednesday, April 26, 2017 at 12:24:47 PM UTC+2, @TiddlyTweeter wrote:
I got, myself, into the habit of making manual notes when I modify shadows, add a plugiin, add a big macro.

I'd rather have an easier way to know what I did when. 

If you open the ControlPanel: Info: Basic, at the end of the table you get "Number of overridden shadow tiddlers:", with a button to liste them.
It gives you an easy way to check them after a core update.

-m

PMario

unread,
Apr 26, 2017, 11:17:39 AM4/26/17
to TiddlyWiki
Hi Ton,

IMO would be worth a pull request to the core!

-m

PMario

unread,
Apr 26, 2017, 11:22:36 AM4/26/17
to tiddl...@googlegroups.com


On Wednesday, April 26, 2017 at 5:17:39 PM UTC+2, PMario wrote:
Hi Ton,

IMO would be worth a pull request to the core!

Testing it. ... I'd like to use:

a.tc-tiddlylink-shadow.tc-tiddlylink-resolves {
     font
-weight: bold;
     color
: #884411;
}



to indicate it globally.

-m

Ton Gerner

unread,
Apr 26, 2017, 11:42:57 AM4/26/17
to TiddlyWiki
Hi Mario,



IMO would be worth a pull request to the core!

I f you can do that. I can only make pull request for documentation.
 
Testing it. ... I'd like to use:

a.tc-tiddlylink-shadow.tc-tiddlylink-resolves {
     font
-weight: bold;
     color
: #884411;
}

to indicate it globally.

 I just restricted it to the sidebar tabs but if you think it's wise to do it globally ...

Cheers,

Ton
 
 
Reply all
Reply to author
Forward
0 new messages