Seeking Advice: Migrating TiddlyWiki 5.3.5 → 5.3.8 (Node.js/Docker)

Hi everyone,

I’m a daily TiddlyWiki user and love its flexibility, but upgrading has always been a challenge for me. I’d appreciate your advice on a migration issue I’m facing.

Current Setup

  • Environment: Node.js on Raspbian (Linux 6.1.21)
  • Version: TiddlyWiki 5.3.5, hosting 1,093 data tiddlers.
  • Plugins: Installed via drag-and-drop (I know this isn’t ideal for Node.js):
    • ahanniga/find-in-page-plugin 0.3.0
    • danielo515/2click2edit 0.1
    • wikilabs/cheatsheet 1.1.2
    • kookma/favorites 4.9.0
    • tiddlywiki/markdown 5.3.6-prerelease
    • linonetwo/markdown-transformer 0.1.3
    • nico/notebook-mobile 1.0.0
    • flibbles/relink 2.4.5
    • kookma/shiraz (experimental 3.0.13) + shiraz-callout 0.9.0 + shiraz-formatter 0.6.2
    • Gk0Wk/sidebar-resizer 0.0.6
    • kookma/todolist 1.5.1
    • kookma/trashbin 1.3.6
  • Backups: I have several, so no data loss risk.

Migration Plan & Issue

To avoid downtime, I set up a new TW 5.3.8 instance in Docker (node:latest), mapping a local volume and installing TW via:

npm install -g tiddlywiki@5.3.8 && npx tiddlywiki --listen host=0.0.0.0 port=8080

I created a tiddlywiki.info file in the ./mywiki directory, and the container starts successfully.

Steps taken:

  1. Exported all data tiddlers ([!is[system]]) as JSON from the old wiki.
  2. Used the TW Upgrade Wizard (5.3.8) to create an upgrade.html file.
  3. Opened upgrade.html in Safari: some tiddlers open instantly, others show a moving blue line and remain empty.
  4. Moved upgrade.html to the new wiki and imported only data tiddlers. The import log confirms all tiddlers are present, but most are empty in the new environment.

Questions for the Community

  1. Plugin Timing: Should I install plugins before or after migration? I deferred it for now.
  2. Empty Tiddlers: Why are some tiddlers not rendering? Could this be related to plugin dependencies or the export/import process?
  3. Best Practices: Any recommendations for a smoother migration, especially with plugins installed via drag-and-drop?

Additional Context

  • I’m open to alternative migration methods if this approach is flawed.
  • Happy to share logs or screenshots if helpful.

Thanks in advance for your insights.

If you use Node.js you do not need update.html. update.html is only needed for a single file wiki.

If you install tiddlywiki globally, you only need to restart it with the same parameters as your old wiki. It should use the latest installed version. If the tiddlywiki.info is the same as before, it should all work as intended.

Since your plugins are installed with d&d they should be activated as usual.

1 Like

Works as a charm, thank you pmario!

The thing I don’t understand although is what is the risk / inconvenience of installing plugins with drag-and-drop, rather than the recommended way with node.js.

Thank you.

What makes you think, that there is a risk in installing plugins with drag & drop? The only difference is, that d&d plugins are also stored in the /tiddlers directory.

With 3rd party plugins, that’s not a problem at all. With TW core plugins, they behave like user tiddlers. So they stay as “old” versions even if you updated tiddlywiki.

I’m not a Docker user, but whenever a new TiddlyWiki release is announced, I simply update TiddlyWiki using a global switch like you did. That way, every TiddlyWiki instance I have automatically uses the new version.

The good news is that TiddlyWiki takes backward compatibility seriously, so in most cases, everything continues to work smoothly.

In summary, you don’t need to update your instances, you only need to update Tiddlywiki engine on your machine here you use docker.
The problematic part of your workflow is plugins install by drag and drop.

drag-and-drop is the de-facto recommended way with node.js

Lucky you are using nodejs wiki. Simply upgrade the npm package, and reuse all other things in your tiddlers folder (including drag-and-drop or plugin-library-installed plugins), upgrade is done, very clean and simple. And easy to rollback.

Can you still edit it and see the content? If so, maybe a plugin that provides macros you are using is outdated.

Thank you all, I didn’t know that the TW upgrade wizard applies to single file wikis only and shouldn’t be used with nodes. Upgrading the npm package is simple and works very well.

This leads me to the plugins update process: what is the best way to upgrade plugins, installed either by drag-and-drop or downloaded into the plugins folder? I noticed that deleting a plugin from the control panel doesn’t remove all the tiddlers that were added when it has been installed.

I think drag and drop is the recommend way for single file empty.html
The node js can read from a local plugin folder. For the case all your wikis use the same version of plugins it is recommended to use a global plugins folder. The latter is much better when you want to upgrade a lot of wikis at the same time.

For single file wiki upgrades running on field:// I have developed a quick and easy button, that copies the file and path name of the current wiki to the clipboard and opens the upgrade site, click upgrade and past in the file and path name, after upgrade save/download the upgraded wike using the same field and pathname in the save as dialogue, close the updrage tab, refersh the original wiki.

  • It is so easy I tend to just do it on demand rather than all my wikis in one go.
  • A key reason you may want to use node is to use the commend line to upgrade all wikis in one go, install plugins once etc… It has not being enough for me to use node much.

That cause a lot of trouble for new users. As a responsible tw recommender, I want to reduce trouble for new users that comes because of my recommendation of tw. If you know users feels a relief when they know it is not recommended to touch folder + config file, you will agree this.

图片

Translated

图片

See also Relink plugin installation on Node.js TW - #12 by linonetwo