Edit Semaphore - Quick and dirty "multi-user editing/warning" for single-file wikis (and maybe others)

I just wanted to share something that I came up with to scratch my own itch.

I have a few wikis at work that I share over Sharepoint for others reference and possibly infrequent contributions. Due to the possibility two people concurrently saving over top of each others work, I wanted a very simple means of letting others know that a particular wiki was being accessed by someone else with the intent of writing to it.

I am aware of Bob and other multiuser solutions but none of those can be run in the access-limited corporate environment I am working within.

So here is a simple solution that leverages the Menu Bar plugin (so you need that installed first) as a means to warn via colour and text, who has “checked out” the wiki for editing and easily allow someone to download their edits as a JSON file for future re-integration.

It works best when you have some sort of solution that allows you to save the file in place like WebDAV but It may be usable in other deployments.

It consists of a single tiddler to provide a Menu Bar menu and a shadow tiddler to tie into the colour setting of the Menu Bar plugin into the various warnings.

So install https://tiddlywiki.com/#%24%3A%2Fplugins%2Ftiddlywiki%2Fmenubar first and then install the following JSON file.

Edit Semaphore (2023-04-13).json (2.9 KB)

Enjoy,
/Mike

4 Likes

Known issues:

  • I just realized that the Menu Bar and multicolumn plugin don’t play along together.
    I welcome suggestion on how to tweak one or the other to make them compatible.

  • Setting the Username automatically would be great.
    I am looking into Eric’s cookie utilities to see if that would be a good way of making Username persistent to the user across wikis and even after saved/over-written by someone else.
    Right now, I just give visibility to who the current Username is assumed to be.

Thanks,
/Mike

I added a few extra tweaks to make it more useful:

  • added startup action to clear $:/status/UserName
  • added Username Sidebar to add to list of potential usernames and a dropdown to fill from list … (todo: option to delete items from list and maybe search filter)
  • added the “download JSON archive to changes since wiki load” option to menu for when username matches semaphore username also … was previously just the option for when there was a mismatch.

Edit Semaphore (2023-04-14-2300).json (5.2 KB)

/Mike