Note: An alternative skin, TW4MW (work in progress), is available from the user preferences.
Can I use TiddlyWiki as a multi-user/collaborative/server based wiki?
TiddlyWiki Community Wiki
This question gets asked regularly on the mailing list. The answer is complicated. I'm going to attempt to write a definitive answer here.
Contents |
[edit] Standard TiddlyWiki
Imagine you have a local shared network drive with a TiddlyWiki file on it. Now suppose in the morning you open the TiddlyWiki file and make some changes then save them. Then in the afternoon someone else opens the file and makes some more changes and saves them. This all works fine. If you have set your user name cookies, it will even show who edited each tiddler.
But now suppose you both open the file at the same time. If you edit some tiddlers then save the other user won't know about those edits. Then when she saves her TiddlyWiki it will overwrite your edits. This is obviously a major limitation and means that multi-user with a standard TiddlyWiki is not very useful. (see TiddlyLock below for a simple solution to this problem)
[edit] Server-side adaptations of TiddlyWiki
There are a number of server side adaptations of TiddlyWiki. See here for more information. These server-side adaptations require that you setup and configure the appropriate web servers and databases to store tiddlers on the server, like a conventional wiki. Then as the adminstrator you can create users who must authenticate in order to edit tiddlers.
Depending on the version there might be additional features like access control settings and version history. The advantage of this type of setup is that you have a proper multi-user collaborative environment. The disadvantage is that there's quite a bit more work and technical skill required to setup, configure and administer the system, and you lose the ability to work offline, eg on a USB drive.
by DaveG
If I recall correctly in this situation you can use the export plugin (from Eric Shulman see http://www.TiddlyTools.com/#ExportTiddlersPlugin ) which can make a static html exported file for offline reading
The two most active server-side adaptations seem to be ZiddlyWiki, which runs on Zope, and ccTiddly, which runs on PHP and MySQL.
[edit] Standard TiddlyWiki via http, using UploadPlugin
BidiX has written a plugin that lets you upload your TiddlyWiki to a web server. You need to copy a single PHP file onto your web server, so there is less setup than a full serverside.
This situation is basically the same as a standard TiddlyWiki -- when there are multiple users editing, whoever saves last will overwrites any previous saves. Tiddlyspot uses the UploadPlugin, so this applies for Tiddlyspot sites as well as sites where you use UploadPlugin on your own web server.
[edit] Standard TiddlyWiki via http, using UploadPlugin and GroupAuthoringPlugin
BidiX, the creator of UploadPlugin, has also written a tool called GroupAuthoringPlugin that can be used for allowing multi-user editing on a standard TiddlyWiki via http using UploadPlugin. The way it works is that if you want to do some editing you first "lock" the TiddlyWiki file. This creates a lock file on the server which prevents anyone else from uploading until you release the lock. For more information see here. GroupAuthoringPlugin requires that you install some scripts on your web server (as does UploadPlugin) to handle the locking.
(Currently GroupAuthoringPlugin is not available on Tiddlyspot but there are plans to make it available some time in the future).
[edit] Other Solutions to Investigate
[edit] MiniTiddlyServer
MiniTiddlyServer (Project no longer available on this link) is a lightweight php based server side that is similar to UploadPlugin in that the TiddlyWiki on the server is a stock-standard TiddlyWiki, but includes some more advanced saving techniques, for example it can save only changed tiddlers. There is also some support for preventing overwritten data in a multi-user situation.
[edit] TiddlyHome
TiddlyHome from BidiX is based on UploadPlugin but allows easy creation of entire new sites and provides a way to provide update access to groups of users.
[edit] TiddlyLock
TiddlyLock, by Richard Hobbis, uses a simple lock file mechanism to allow a TiddlyWiki to be stored on a shared network drive and viewed & edited by multiple users without fear of overwriting other users' changes or losing their own!
It works by maintaining a simple lock file (by default, in the same location as the TiddlyWiki file) that identifies who locked the TiddlyWiki, and when. Whilst the TiddlyWiki is being edited, other users are automatically put into Read-Only mode. As soon as the editing user has saved the TiddlyWiki it becomes available to other users for editing again, although they do have to reload the TiddlyWiki in order to see the changes made.
[edit] Note
Multi-user collaboration is not really TiddlyWiki's strong point. Many of the solutions mentioned above are experimental. If you need a serious multi-user wiki then perhaps you should consider using something other than TiddlyWiki, eg MediaWiki.

