datascript icon indicating copy to clipboard operation
datascript copied to clipboard

Replication/synchronization

Open lexfrl opened this issue 10 years ago • 8 comments

First of all thanks for a great tool! Are there any plans to support replication/sync DS over wire? It's hard to overestimate the usefulness of such feature for collaborative apps. And also I didn't find a way/practice how to sync DS to the server operational database. Or such topics are out of scope of DS?

lexfrl avatar Jul 12 '15 17:07 lexfrl

They are out of scope for DS, but I believe it’s a good opportunity for a library.

About good practices, consider this http://tonsky.me/blog/the-web-after-tomorrow/

On Sun, Jul 12, 2015 at 11:15 PM Alexey [email protected] wrote:

First of all thanks for a great tool! Is there any plans to support replication/sync DS over wire? It's hard to overestimate the usefulness of such feature for collaborative apps. And also I didn't found a way/practice how to sync DS to the server operational database. Or such topics is out of scope of DS?

— Reply to this email directly or view it on GitHub https://github.com/tonsky/datascript/issues/100.

tonsky avatar Jul 12 '15 18:07 tonsky

I'm very interested in this too. I also agree it's out of scope, though :) I wonder if anyone else is working on something like this already? It seems like ferrying txns to the client shouldn't be terribly difficult with tools like sente...

lvh avatar Jul 17 '15 00:07 lvh

@dwwoelfel and I have been working on this pretty hard recently, and hopefully should have something to show soon, perhaps an OSS demo today or tomorrow + blog post shortly thereafter.

Here's a video of what it's like https://www.dropbox.com/s/20fms9czpoacg14/dato_todomvc.mp4?dl=0 and the code that's powering it (missing ~10 lines for the datomic schema though) https://gist.github.com/sgrove/8af86d66075639c431be

sgrove avatar Jul 27 '15 18:07 sgrove

@sgrove can't w8 )

lexfrl avatar Jul 28 '15 07:07 lexfrl

@sgrove Have you stopped work on that for the moment?

saulshanabrook avatar Oct 08 '15 14:10 saulshanabrook

@saulshanabrook No, work is happening on Dato, with a big Datomic/DS "webpeer" change PR opened opened by @dwwoelfel. I need to update our internal app to use it, and DatodoMVC (I think Daniel's done this already though), and then merge it into master.

sgrove avatar Oct 09 '15 16:10 sgrove

@sgrove is there any progress on this, or way to get at this outside of Dato?

thedavidmeister avatar Feb 12 '16 09:02 thedavidmeister

I've been working on the basis of a solution for this: https://github.com/metasoarous/datsync. I noted Dato before starting this, and was excited. But 1) I wanted to use Reagent (Dato seems bound to Om), and 2) I saw there hadn't been much work on Dato for some months. So I built a very simple basis on which I hope we can build. Right now, out of the box (explored?) functionality is limited to entire-db replication, with Datomic serving the role of "central/canonical" source of truth (all transactions go through it). Soon, we'll start working on problems like windowing/scoping (al a @tonsky's Web After Tomorrow) and optimistic updates as well. I've got some ideas and sketches along these lines, but haven't needed it in my work-work yet. I'll be talking about all this at Clojure/West if anyone interested is attending.

metasoarous avatar Mar 21 '16 16:03 metasoarous