Multi User Alternative to TiddlyWiki

Hmm. Javascript has encryption abilities. So there could be a macro for encoding / decoding tiddler content. I know Danielo had a per-tiddler encryption tool, but don’t recall if it allowed more than one password for the entire page.

At the top a student would enter their password.
Students would see a list of topics and click on a button for each topic that would decode the text into a temporary tiddler and then either transclude it or link to it. This way you could share info without having to worry about students seeing other student info. Unless of course they hack the 54 bit security. In which they are in the wrong class.

1 Like

Looking at how this discussion is going:

First question: Is it true that TiddlyWiki is not multi user capable?

Look at a product’s DNA. If multi-user collaboration is the top requirement, multi-user is not in TiddlyWiki’s DNA.

So consider something that has multi-user collaboration in its DNA.

IF TiddlyWiki filtering and/or transclusion and/or some other TiddlyWiki feature is the top requirement (I have a hard time making do without TiddlyWiki features that are part of TiddlyWiki’s DNA), and if you are inclined to, and have the time for, fiddling/hacking/caring’n-feeding add-on’s for multiuser, then stick with TiddlyWiki.

Multi-user does not seem like a trivial affair. (If it is a trivial affair, it is pee-poorly documented. In this very thread of discussion, all suggestions for multi-user TiddlyWiki kind of make my argument for Notion, but only if you can live without TiddlyWiki features that don’t exist in Notion.)

Pick the solution that involves the least pain considering all things in your world.

Second question: If it’s true, what are your recommended (and also not-recommended) alternatives?

I stand by the recommendation of Notion if multi-user collaboration is the top requirement.

Even if only for temporay use to flesh out requirements. (You learn what you need by rolling up your sleeves and collaborating on real-world stuff.)

Seems to me there is a fee for more than just a handful of users involved in collaborating via Notion (you’ll have to look into that). That may be a huge negative. If so, then I’d suggest an ecosystem of intertwingled Google things (Docs, Sheets, Sites, Calendar, Keep, etc.) which can be really smooth as silk if properly setup.

1 Like

Thanks @Springer and @Mark_S! I much appreciate your practical ideas.

I’ll try & comment back later.

Tx, TT

@Charlie_Veniot remember Bob, although limited in some ways is a workable multi-user tiddlywiki and we are free to place a user layer on top.

I do remember Bob. It ain’t for me. (I would neither recommend it nor dissuade use of it.)

But it is for some. I leave it to them to recommend it and how to use it.

You basically can have 1 PW per tiddler. …IMO the main problem he had, was managing the passwords and using the same PW for several tiddlers.

TiddlyWiki absolutely can be used for multiuser deployments.

I’m involved in a project that has several hundred individual wikis with over a thousand users:

https://manuals.annafreud.org/

That implementation uses Amazon serverless primitives, and is not completely open source.

I know of at least one company that runs an off-the-shelf TiddlyWiki Node.js server behind a proxy as their intranet knowledge management system.

There’s no doubt getting TiddlyWiki up and running will be much more involved than getting started with commercial products like Notion and Roam, but it doesn’t require much maintenance once you’ve found an approach that fits with your existing infrastructure.

9 Likes

The annafreud project is amazing!

What would it take for us all, as a grassroots open-source community, to beg, borrow, steal, or honestly develop a solution structured more or less like that one? (I don’t have deep pockets, but I’d pitch in my share!)

I’d also be interested in an intranet multi-user solution if the connection to SSO were simple enough to hand a clear package of installables over to my university IT folks without myself being an IT folk. Still, the most amazing goal would be a system that works easily over the web.

-Springer

Here’s another suggestion for live collaboration : visual studio code. You can use the plugin Visual Studio Live Share to enable realtime collaboration, and use another plugin to add wiki-like features to visual studio ( WikiLens seems promising). You dont even need to install visual studio code, you can use it online : https://vscode.dev

Other interesting solutions :

  • Features - CodiMD : real-time, multi-platform collaborative markdown note editor
  • https://etherpad.org/ : open source alternative to google doc
  • mattermost : open source platform for developer collaboration (apparently the CERN used this)
  • Microsoft Teams : ideal for students

However if anyone can provide a tutorial on how to setup a real-time multi user wiki (with or without Bob), I’d be really interested.

4 Likes

Yes, yes. Very. I looked at it about a year ago. I think it is an amazing meld of developer (@jeremyruston) input + clients who are very good at their jobs.

https://manuals.annafreud.org/guide/

TT

2 Likes

Thank you!

One literal barrier is that right now, the backend used for Anna Freud is not open source. I did intend to make Xememex open source but didn’t do it at the beginning and so it has become a big job to get everything into shape so that others can use it. But it something that I have always intended to do.

The actual AWS running costs for Anna Freud is a few hundred dollars per month, which is relatively high. I architected the system for flexibility rather than the lowest possible cost profile, and I’m pretty sure the costs could be much lower if required.

I’m not sure how far a community run hosting service could get. It’s not something that I have seen done by other open source communities. The key issue is that providing free hosting for material created by other people can be a hazardous business: hosting services have to deal with legal and regulatory issues like spam, malware, and DMCA takedowns. Making a service subscription only mitigates the problem because paying customers are not incentivised to do the bad stuff. Then once one has paying customers they have a right to expect a commercial level of service, which I suspect pushes the centre of gravity towards running it as a commercial operation.

But the fact remains that the technical components are in place. It’s kind of a business problem to figure out how to effectively deploy that capability in a way that is sustainable and meets the needs of the community.

8 Likes

All,

As a Tiddlywiki super user (not a coder) and an IT professional with some professional security expirence I have spent sometime looking into Tiddlywiki for teams. Bob is already appropriate for fully trusted teams if it continued recieving updates at least. More people should fund Jeds efforts to support bob as I do myself a little.

Bob is Suitable on the LAN or via VPN, I would leave it to others to comment on internet facing security.

Although a user managment layer would be good, this can be built using existing tiddlywiki features as long as you trust your users to some extent. I have researched this extencivly and done a proof of concept for most of the needed components.

I also have a proof of concept for multiuser single file wikis using serial editing. Ie check in and check out.

Some limited private content on a shared wiki is possible, although larger volumes of private content may be better retained outside the core wiki. There are some smart ways to do this which I will not detail here.

Like all solutions we always need to start with realistic business requirements even more so with security needs. There is quite a big range between a simple user selection and a very secure environment and the needs drive the solution. It is my informed view, that especialy with already trusted teams, we already have the capacity to address a large percentage of the possible senarios. If you start undertaking a review of requirements for a team solution you quickly discover there is a vast range of details and circumstances, degrees of risk and comfort with different requirements.

There is already a large number of internet facing secure solutions depending on the requirements, but not multiuser high security.

I am confident we can already address a large number of the multiuser and security issues to deliver practical solutions. For me however I do not want to work on this on my own and I must find an income.

If you have a genuine interest in collaboration or the capacity to fund such an activity please contact me privatly.

1 Like

Mark, Good point. My solution is a “lazy” one, in that I could make a single announcement: Your url hashtag is your initials (except for a pair of students who needed a disambiguating middle initial), and tossing initials into a list field was easy to remember and easy to troubleshoot. Assigning passwords and setting up encryption for each student was more administrative overhead than what I wanted for a large class. But, as your note, tiddlywiki does indeed have great encryption tools, so a multi-audience tiddlywiki could serve up grading info along with other student-specific tips.

Hello @joshuafontany ,
sorry for loosing your job. We should have a sort of Patreon-system in TW for such cases because the work you intended to do with y.js sounds really inspiring. Realtime-cooperation is really something that TW lacks.

Hi all, newcomer to TiddlyWiki. Love this discussion so far! What if we relax the requirements for a multi-user system based on TiddlyWiki? I am looking for this limited setup:

  1. Open Access to the wiki, no support for private posts.
  2. <20 total “users”.
  3. No need for the concept of a user but rather a creator, ie have a special tag for who created a post but all can edit/access all posts.
  4. Ability for read-only access simultaneous from several machines but a single post can be edited only by one author at the same time (some locking mechanism maybe?).

Can this be achieved by storing the wiki on a shared database in the cloud and have some sort of locking when a post is edited or maybe use optimistic concurrency?

@OMyCaml this does sound like Bob and Bob.exe all you need to do is add a user selection step.

1 Like

Using github actions, I can think of another way, that doesn’t involve “next generation” or non-available tools. It’s similar to twederation, but depends on generic technologies.

There is one central github page. Everyone in the group loads that page. But they use their own repository to save back to. The action script periodically grabs each user’s page, and extracts the tiddlers. Each person in the group has a designated tiddler prefix. So “John” might title his tiddlers “John/Discussion re multi-user alternative”, and “Susan” would title hers “Susan/Discussion re multi-user alternative” The script would only pull “Susan” tiddlers from Susan, and “John/” tiddlers from John. So no one could write over anyone else’s work or pretend to be someone else. Then the script would compile a new master.

From the user’s standpoint, once it is set up, all they do is take notes and save them (remember, you can save to a repository that may be different from that of the page you are viewing). Periodically they will reload to get the latest changes from others. Only their notes prefixed by their names (e.g. John, Susan) will get picked up. Threads could be created by stripping off the prefix and using the following portions as thread titles sorted by modification times.

2 Likes

@Mark_S interesting idea! I’m new to TW - does this mean that github is already a supported backend for TW?

Mark. I was thinking somthing very similar but giving the owner of the shared wiki the option to review “shared tiddlers” at import. As long as we provide nice guidence or workflow to the consolidation process even like editorial control I think it has some interesting possibilities.

I have also thought about

  • not importing some tiddlers for the user to have private tiddlers.
  • allowing an edit request for a shared or user tiddler
  • provide an interuser messaging path.

We do!

We’re trying a couple of things:

Fundraising like this has worked well for other projects and people, and I’m interested to see how it goes for us.

1 Like