Multiple Users Editing a Server Mounted TW - just a thought

Hi All,

If you follow my queries, you will be aware that I have been looking for a way to have a persistent TW that allows multiple user simultaneous editing of tiddlers.

Now I know such a thing doesn’t exist right now.

However, I have been thinking about how we might create such a beast using manual procedures. I thought I would share my idea and see the reaction from this group (all my requests for advice have resulted in great ideas in the past).

Consider a single file TW mounted on a file server and four people involved with its maintenance, PA, PB, PC and PD. PA is the webmaster who has control over uploading files to the server location.

Policy 1: Any tiddler being edited by a person is tagged with that LOCKED tag and other people know not to edit that tiddler until the name is cleared.

PB opens the TW navigates to a tiddler they want to edit. They contact PA asking for approval to edit. PA OK’s and tags that tiddler with LOCKED tag uploading the amended copy of the TW. At this point we could check of a ‘locked’ tag and hide editing icons from other users.

We might use a Person_Name (ie. PB tag rather than a single LOCKED tag - just an afterthought.

PC wants to also edit that tiddler but sees the LOCKED tag (or can not see the editing icons) and thus knows to wait. He can however, navigate to any other tiddler and, if not LOCKED, request editing rights from PA and go ahead on approval.

PB edits as appropriate, his copy of the TW (which now does not have the LOCKED tag. On completion, he exports the tiddler edited as a JSON file making sure the LOCKED tag is not present on this tiddler. He emails that JSON file to PA who then imports it into the master copy of the TW and uploads it onto the server.

Policy 2: Any new tiddler can be created by anyone who then exports a JSON copy of the new tiddler(s) to PA who just imports the file and uploads the amended TW.

Policy 3; Any requirement to delete tiddlers can only be actioned on the master copy of the TW (ie. by PA in this example)

I realise this may sound onerous and probably would be too much an issue for a constantly edited TW. But for a TW edited occasionally, I feel this is workable. It’s a bit like the old fashioned single train line being shared by multiple trains who collect a right to advance token. In this case, the token covers a specific set of tiddlers.

Think of this as asynchronous editing.

Any thoughts anyone?

bobj

Why not use github, which stores the nodejs version of tiddlers. the administrator accepts the commit and generates a single-file tiddlywiki with the local nodejs version of the tiddlywiki, which is then uploaded to the site.

Another solution. Go to any site with real-time collaborative editing. Go to collaboratively edit a json file. Then periodically import that json file into tiddlywiki.

Bob,

At present I am experimenting with MWS and it is a node server version. This should permit what you are after, but it is still in development as is my understanding of it is only developing.

However what if, to keep it simple, a single file or server wiki is readonly to everyone but the owner.

Read only users can still have local storage to capture thier changes, and rather than save back to file or server, when they are ready, they export a json file of relevant new and changes tiddlers to a file and email this to the owner (this could be a one click method)

  • The JSON file will then be imported using a custom or enhanced import process that allows changes to be observed and accepted into the master wiki by the owner. Perhaps here we can allow bulk acceptance of changes, or tiddler by tiddler difference check and review.
    • We may even be able to allow the owner to accept changes one at a time within a tiddler (Like a word document review). This would allow multiple inputs to one tiddler by multiple users because it is ony the changes that are applied, not replacing the tiddler.
  • We could then provide a mechanisium for the contributor to compare there local storage tiddlers with the changes applied to the underlying read only wiki and provide a mechanisium to clear them from local storage.

This method, if well refined could allow a user visiting any wiki to make and export suggested changes and email these changes to the owner, in effect allowing a review and changes to be compiled and sent to the owner for import, with or without the enhanced import mechanisium.