I am going to try and write this up somewhere nicer with instructions that hopefully won't require much knowledge.
For those of you who are comfortable with node here is my setup:
I am using the node version of tiddlywiki and I have it installed globally, and I have TiddlyServer cloned from the GitHub repo.
For plugins I have a folder that holds all my plugins, in my case this is /home/inmysocks/TiddlyWiki/Plugins, this is set up the same as the normal plugin folders are, so each
plugin.info is in a sub-folder like 'OokTech/BookMarks' and the tiddlers are organised normally from there.
I have another folder that holds all my wikis, /home/inmysocks/TiddlyWiki/Wikis, then each wiki gets a sub folder there that holds the
tiddlywiki.info file and has the tiddlers subfolder like normal.
Making everything play together nicely comes from the setup files, settings.json for TiddlyServer and the various
tiddlywiki.info files for each wiki. I am hoping to make a utility that will help automate their creation but for now it is all manual.
For TiddlyServer I have the tree organised to point to all of the wiki folders like normal, there isn't anything special that I do in settings.json. To start TiddlyServer I have a bash script (I am not sure what you would use in windows, it has been a long time since I used windows, do .bat files still exist?). Here is the bash script I use:
#!/bin/bash
export TIDDLYWIKI_PLUGIN_PATH="/home/inmysocks/TiddlyWiki/Plugins"
cd ~/TiddlyServer
node server.js
pause
Then in each
tiddlywiki.info file for plugins I can just list the plugins like normal, like "/OokTech/Bookmarks" for my bookmarks plugin located at "/home/inmysocks/TiddlyWiki/Plugins/OokTech/Bookmarks", and this works for any of the wikis served by TiddlyServer regardless of where they are on my computer.
Sharing tiddlers between different wikis takes a bit more setup.
To make tiddlers from one wiki available in another wiki you edit the
tiddlywiki.info file for the wiki you want the tiddlers in. Add an includeWikis section to the
tiddlywiki.info file like the plugin section. Here is an example:
"includeWikis":[{
"path": "/home/inmysocks/TiddlyWiki/Wikis/WikiName",
"read-only": "true"
}]
I haven't found a way to selectively include tiddlers in another wiki, so I found it best to have a bunch of small single purpose wikis that pull in tiddlers from others instead of having a few big ones. TiddlyServer makes that easy.
One way to have wikis that are just specific bits of content is to create the tiddlers in one wiki and save them to another one using $:/config/FileSystemPaths, this is made simpler by having the different wikis grouped together like I do. Then in the $:/config/FileSystemPaths tiddler in one wiki you can put a filter like
[tag[Other Wiki]addprefix[../../Other Wiki/tiddlers/]]
which will have any tiddlers tagged with 'Other Wiki' and save them in the tiddlers folder for another wiki.
One example of how this can be useful is having a wiki that is used for entering and saving bookmarks and then each bookmark tiddler can be saved to another wiki folder which can then be included as read-only in multiple other wikis. This can be used to have something like multi-user wikis. The downside is that the server needs to be restarted in order to update with the new files. Luckly adding ?reload=true to the end of the url when using TiddlyServer.
This can address 1, 2, 3, 4 (with reloading) and 6
I think that 5 would require changes to the server side.