Export Import All Control Panel Settings

I just searched here for this and didn’t see any topics.
I’m using the Bundles plugin to allow me to quickly stand up new wikis with all my favorite plugins, palettes etc.

However each time I have to go through all my custom settings in the control panel. Surely there’s a way to export all your control panel settings and import them to another wiki - and I’m just not seeing it?

Or maybe a plugin I haven’t encountered yet that does this?

Or is it just not possible.

Thanks in advance!

$:/ControlPanel settings are stored in a variety of different tiddlers. Many of these (but not all) start with the $:/config/ prefix. However, this largely depends upon when those settings were first implemented, and how the TWCore system expects to interact with them.

For example:

In the $:/ControlPanel > Info > Basics tab, the label for each setting is a link to where that setting is stored, and some exceptions to the $:/config/ prefix include:

  • $:/SiteTitle
  • $:/SiteSubtitle
  • $:/status/UserName
  • $:/DefaultTiddlers
  • $:/language/DefaultNewTiddlerTitle

In contrast, the location of the various cascade filters defined in the $:/ControlPanel > Info > Advanced > Cascades tab
are actually determined by the use of tags, such as $:/tags/EditTemplateBodyFilter, $:/tags/FieldEditorFilter, etc.

The currently selected palette is set in the $:/ControlPanel > Appearance > Palette tab, and is stored in $:/palette, but the actual color palettes are stored in tiddlers starting with the $:/palettes/ prefix

The $:/ControlPanel > Appearance > Theme Tweaks settings are stored in tiddlers starting with
$:/themes/tiddlywiki/vanilla/options/, $:/themes/tiddlywiki/vanilla/settings/, or $:/themes/tiddlywiki/vanilla/metrics/,

In addition to this variety of locations used by the TWCore $:/ControlPanel settings, plugins can also add their own control panel tabs, and those settings can be stored wherever the plugin author has chosen to store them.

Thus, for your purposes (exporting your commonly used settings), you will first need to define a filter that lists all the relevant tiddlers. For example, the tiddler “MySettings” could contain a filter definition like:

[prefix[$:/config]]
[[$:/palette]]
[prefix[$:/palettes/]]
[prefix[$:/themes/tiddlywiki/vanilla/]]
[tag[$:/tags/EditTemplateBodyFilter]]
[tag[$:/tags/FieldEditorFilter]]
...etc

and then you would use that filter as the exportFilter parameter in a tm-download-file message. Something like this:

<$action-sendmessage $message="tm-download-file"
   $param="$:/core/templates/exporters/JsonFile"
   exportFilter={{MySettings}} filename="settings.json" />

-e

4 Likes

I just updated the HackSearch plugin to feature “dragpills” for overwrites. So, if you have it installed, you go to AdvancedSearch > Hack > Overwrites. The pill captures all overwrites of a plugin.

Now, I think most settings become “overwrites of core tids”, so if you use this I’m very curious to see if it captured everything. Please reply here.

[EDIT] …Erics reply above makes me unsure though… but if theyre not overwritten core tids then what are they? Hypothetically I guess a setting could create a new tid…

1 Like

Wow - thank you for this information! I had an inkling this was the case from poking around, but wasn’t aware of all the locations you called out. Very helpful!

Oh! I’ll give that a try this week - and see how many of my config changes it captures! Thank you!

1 Like

I don’t see the paths that EricS called out.

I think I’ll try looking at the paths he mentioned, and build a ‘Settings’ bundle. See if I can create a bundle json that does what I need.

As has being raised, there is not specific set off control panel settings. Please indicate the kind of settings you wish to capture.

If you open a wiki then change each of the settings to what you want, or change them to another value and back, each changed tiddler will now be recently changed and can be found in advanced search > filter >[haschanged[]], you can then export them to a JSON file and apply this JSON file (import the tiddlers) to the wiki, to reset all the configurations to the desired settings.

  • I then use a method to save these as a bookmarklet in my browser favorites, and I click that bookmarklet to apply the settings.
  • I can possibly give you more help, but I need to revisit my online tools, and understand what you are really asking.
3 Likes

Oh that’s a brilliant idea!
I have just gone through manually hunting down where everything is - and adding them to a bundle.
Let me try your suggestion, because there are still a few settings I haven’t been able to track down so far.

Thank you!

That worked AMAZINGLY well!

I started with a blank TW. I imported my MainBundle (All my plugins, macros, default tiddlers etc).
Then I made all the configuration changes I wanted.
Used commander to select the recently changed (Including system).
Added a ‘configbundle’ tag to them.
Then I created a filtered bundle on that tag and exported it.

Now if I take a blank TW - import my main bundle, then my config bundle BOOM! everything is set up as I like it.

Thank you thank you.

You can go further and use bookmarkelts.

1 Like

I’m doing something similar but with nodejs version of tiddlywiki for each new change I will se a new tiddler created