Multiple users editing TiddlyWiki at the same time, possible ?

117 views
Skip to first unread message

Juan Don

unread,
May 28, 2015, 3:26:32 AM5/28/15
to tiddl...@googlegroups.com
Hey guys,

I'm currently creating a Wiki for my small Company.

I don't have a webserver running or anything like that, i just have my html file located in a Network Partition.

Now i want several users to be able to make changes to the Wiki.

Is Tiddlywiki able to, to do something like an incremental update, where it just adds things and keeping everything which is wasn't altered ?


Greetz,

Felix Küppers

unread,
May 28, 2015, 5:08:09 AM5/28/15
to tiddl...@googlegroups.com
I was facing the same scenario (office; shared network drive; no server; ~15 people) and I am currently experimenting with the following implemented approach (not public though!) that seems to work fine:

  • When opening a wiki, users are asked whether to open it in read or write mode. The dialog also displays the information whether the wiki is currently used in write mode by anybody
      • In write mode, I ask for credentials (name) which can be also selected from an existing list
        • Non-existent users are newly added to the wiki (tagged "user").
        • The wiki is then immediately (automatically) saved so anybody opening the wiki is informed that it is in use (a red bar at the top).
        • All tiddlers created are signed with the user name as author
      • In read mode opened
        • all edit/config buttons are removed and I prevent that the wiki can be saved
        • You have the chance to switch into write mode
          • This will reload the wiki and display the dialog (see first point)

Of course this only allows 1 person at a time to write to the wiki! So it is not possible to give people "write access at the same time". And maybe it is not directly what you are after. But you do not have to fear "lost updates" or "dirty reads" because it is clearly communicated whether the wiki is in use or not and when in readmode a write is prevented (saving mechanism is programmatically disabled; also buttons removed).

Maybe I get the chance to publish this mechanism as plugin at some point. I'll report back in this case.

-Felix
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+...@googlegroups.com.
To post to this group, send email to tiddl...@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/a011f60a-0fad-4679-81bd-c6c3d45f6fce%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Danielo Rodríguez

unread,
May 28, 2015, 1:01:57 PM5/28/15
to tiddl...@googlegroups.com
Hello Felix,

How do you force the save of the wiki? Are all the users forced to use tiddlyfox?
How do you notify users that has the wiki opened already that a new user is editing? You have to reload the file to notice any change. Do you have any function (SetTimeout) scheduled for this?

How do you manage the different user names? Do you change the tiddler that determines the user or do you have your own mechanism?

Felix Küppers

unread,
May 28, 2015, 3:37:09 PM5/28/15
to tiddl...@googlegroups.com
Hola
> Hello Felix,
>
> How do you force the save of the wiki?

I wait till the dialog closes and issue a save wiki event right after that.

> Are all the users forced to use tiddlyfox?
Yes, good spot. This was the deal at the office to ensure it is always
saved into the file without having to ask the users.

> How do you notify users that has the wiki opened already that a new user is editing?

I do not! When a user X is in read mode, he/she does not receive any
updates or doesn't know that another user Y started to edit the wiki.
But when X clicks the "switch to edit mode" button (I created for this
mechanism), the wiki reloads and the user sees that Y is already editing.

> You have to reload the file to notice any change.
Correct

> Do you have any function (SetTimeout) scheduled for this?

No. in our case, the information does not need to be highly up to date,
but when the user hits the refresh button, he/she can load the new state
manually.

> How do you manage the different user names? Do you change the tiddler that determines the user or do you have your own mechanism?

The user that "logs in" will be set as the current user
($:/status/UserName). A list of existing users is maintained (tiddlers
tagged with "user") and are displayed during login.

---

When it all works fine (which it seems to do), I'll report back.

-Felix


Reply all
Reply to author
Forward
0 new messages