Tiddlywiki5: Links do not update when tiddler titles change

Created on 6 Aug 2019  路  11Comments  路  Source: Jermolene/TiddlyWiki5

Using TiddlyDesktop to work with TiddlyWiki, when I update a tiddler title, it offers "update old-title to new-title in the tags and list fields of other tiddlers" (checked by default).

Underneath, it says: "The following references to this tiddler will not be automatically updated:" and lists every tiddler that links to the to-be-renamed tiddler (except those that are referenced in <>, which don't get noticed at all).

What do I need to change/configure to get this title updating to work properly?

(The same issue applies when using a browser; tried Chrome and Firefox.)

Most helpful comment

Also, the Relink plugin now exists which should provide a more comprehensive solution for renaming. It handles inline links, transclusions, widgets, fields, and filters.

The only thing it doesn't support is inline macrocalls, such as <<macroname TiddlerTitle NotATiddlerTitle>>. This support may come shortly though.

All 11 comments

Hi @think-info

What do I need to change/configure to get this title updating to work properly?

I'm afraid TiddlyWiki 5 doesn't currently support relinking "inline" links (ie links within the body text of a tiddler).

Thanks @Jermolene. Is it on a roadmap, or am I asking too much?

Hi @think-info it's an old request (see #196) but it's still something I hope to add -- #3288 outlines the planned approach.

Underneath, it says: "The following references to this tiddler will not be automatically updated:" and lists every tiddler that links to the to-be-renamed tiddler (except those that are referenced in <>, which don't get noticed at all).

At the moment TW only contains a "backlink" index, that is based on the <$link to= widget. eg:
[[Tiddler Title]], [[Displayed Link Title|Tiddler Title]] and <$link to="Tiddler Title">..

So if you reference a tiddler title in a filter eg: filter ="[tag{Tiddler Title}]" or similar we don't know about it.

OK, now I am more confused.

The links that are failing to update are of the [[Tiddler Title]] and [[Display Link Title|Tiddler Title]] types. (Which, based on @Jermolene's comment, I understood are that one's that aren't updated because they are "inline."

As per this image:
2019-08-06 171005

I'm sorry. I wasn't clear. ... We use the backlink index to show the list as shown in your second image. ... BUT we don't do a search and replace atm. We show the list, so users can manually review the content.

in the google group I posted simple macros to replace text in tiddlers with the possibility to show the diff. We could use them to show a button and the diff

@BurningTreeC ... That's a nice approach, but I think we should go with the "input-tiddler" workflow mentioned at: "Add support for search and replace #3288"

A global search and replace can be a very "destructive" operation. eg: ViewTempate -> ViewTemplates
does no harm, as long as you didn't mess with your templates, since they are "shadow" tiddlers.

But if a user did convert one of them into a "system" tiddler it may corrupt the whole UI. ... So we really need to include some protection into the whole workflow.

in the google group I posted simple macros to replace text in tiddlers with the possibility to show the diff. We could use them to show a button and the diff

Also Tiddler Commander can do this job!

Also, the Relink plugin now exists which should provide a more comprehensive solution for renaming. It handles inline links, transclusions, widgets, fields, and filters.

The only thing it doesn't support is inline macrocalls, such as <<macroname TiddlerTitle NotATiddlerTitle>>. This support may come shortly though.

@flibbles that looks real cool. Will play around with it. I had wanted to try solving this issue too but have never had time to focus on it. Glad you have come up with a good solution.

Was this page helpful?
0 / 5 - 0 ratings