Replication/synchronization
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?
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.
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...
@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 can't w8 )
@sgrove Have you stopped work on that for the moment?
@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 is there any progress on this, or way to get at this outside of Dato?
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.