jimpick / dat-tiddlywiki

Multiwriter Dat + TiddlyWiki
MIT License
49 stars 3 forks source link

Public release? #15

Open tgirod opened 5 years ago

tgirod commented 5 years ago

Hi. Being unsure about the visibility of a comment on HN, I will repeat myself here.

I would love to see a public release of that. I've been thinking about using TiddlyWiki for collaborative work for ages, but so far I did not find the right tool. This might be it! Also it would make a great showcase app for dat-multiwriter. Much more impressive than the good old TodoMVC.

I know I'm not helping much saying that - I just wanted to express my interest in this.

ts-toh commented 5 years ago

Seconded. I'm willing to contribute. I find this fascinating.

I have been working on my own distributed wiki that uses git-annex, and has more of an emphasis on sharing of files. I think that wikis could be the killer app of the p2p web.

jimpick commented 5 years ago

Thanks for the interest!

I definitely want to work on it some more.

I took a major shortcut and I bolted tiddlywiki on to the bones of my dat-shopping-list demo, which means that the UI for authorizing new writers is external to the TiddlyWiki, which is just horribly confusing to somebody that doesn't know what's going on. The first thing to fix would probably be that -- write a TiddlyWiki plugin to show the authorization/sync status, and to allow authorizing of new writers.

unqueued commented 5 years ago

@jimpick do you have any experience with the tw5 api? I can think of a few ways to go about making a plugin for dat.

Forgive my ignorance, but is there a mechanism for resolving differences if multiple users want to make changes?

I have experimented with git backed wikis, including git plugins for tw5 based wikis, and I think that that would be ideal.

jimpick commented 5 years ago

Here is my plugin:

https://github.com/jimpick/dat-tiddlywiki/tree/master/tiddlywiki/plugins/hyperdrive

If multiple users make changes, it will merge the changes using automerge.

In the situation where two users go offline, make conflicting edits, and then go back online and sync, automerge will pick a winner. There is no UI to do merge conflicts.

Also, there’s no concept of identity... I’m just using writers, but they could be multiple people or the same person on multiple devices. It would be nice to track who the actual people are that make edits.

tgirod commented 5 years ago

@jimpick not sure I have this right, sorry for the silly question: is your plugin fully standalone, or does it need either beaker browser or node running somewhere?

jimpick commented 5 years ago

The plugin syncs with the node.js server in the same repo, so it's not fully standalone, unfortunately.

Right now, there's not really a standard for public Dat protocol gateways, so it's going to be hard to avoid deploying a gateway somewhere.

tgirod commented 5 years ago

Damn. Reading the doc about HyperDB, I thought it was possible to write a single page app that could join a swarm and access the shared database. Did I miss something ?