<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Dec 11, 2013 at 4:33 PM, Lucas Holmquist <span dir="ltr"><<a href="mailto:lholmqui@redhat.com" target="_blank">lholmqui@redhat.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>wanted to dump some thoughts i was having</div><div><h3 style="margin-top:0px!important;margin-right:0px;margin-bottom:15px;margin-left:0px;padding:0px;line-height:1.7;font-size:1.5em;color:rgb(51,51,51);font-family:Helvetica,arial,freesans,clean,sans-serif">
Client Side Perspective</h3><p style="border:0px;margin:15px 0px;padding:0px;color:rgb(51,51,51);font-family:Helvetica,arial,freesans,clean,sans-serif;font-size:15px;line-height:25px">let me try to dump some of the client side thoughts i have, which will probably be more javascript centric</p>
<ul style="border:0px;margin-top:15px;margin-right:0px;margin-bottom:0px!important;margin-left:0px;padding:0px 0px 0px 30px;color:rgb(51,51,51);font-family:Helvetica,arial,freesans,clean,sans-serif;font-size:15px;line-height:25px">
<li><p style="border:0px;margin:15px 0px;padding:0px">i see data sync as keeping DataManager stores in sync with the server side</p></li><li><p style="border:0px;margin:15px 0px;padding:0px">not sure if it makes sense without it?</p>
</li><li><p style="border:0px;margin:15px 0px;padding:0px">I can see using Notifier using sockJS connecting to a netty server(?) to do the "real-time" updates</p></li><li><p style="border:0px;margin:15px 0px;padding:0px">
Sync should be plugable, so an existing REST application using DataManager can just add it in or turn it off easily</p></li><li><p style="border:0px;margin:15px 0px;padding:0px">the sync should have some events that the user can "listen" for, to deal with conflict/changes and such</p>
</li><li><p style="border:0px;margin:15px 0px;padding:0px">there is another type of sync that i'm also thinking off.</p><p style="border:0px;margin:15px 0px;padding:0px">Since Pipeline and Datamanager are not tied to each other, do we want to think about the possiblity of "syncing" them. that is when i do a read currently on a pipe, i have to manually store the data, should that be automatic, this used to happen in the way begining of pipeline, but we removed it since we wanted to keep it modular</p>
</li></ul></div></div></blockquote><div>Yes, I think that makes totally sense. If you it should be automatic, well, we could configure it to be or not. In the same spirit, I was thinking of some kind of storeFallback option we can pass to a pipe. If we call a read on a pipe and there is no connection, we fallback automatically on the local store to retrieve the data (with some metadata/flag saying it's local data). </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><div><br></div></div><div><div class="h5"><br><div><div>On Dec 11, 2013, at 10:26 AM, Apostolos Emmanouilidis <<a href="mailto:aemmanou@redhat.com" target="_blank">aemmanou@redhat.com</a>> wrote:</div>
<br><blockquote type="cite">apologies, just a correction. The security concern is that the database<br>might contain data which should be NOT visible/accessible to all the<br>clients.<br><br>On Wed, 2013-12-11 at 16:22 +0100, Apostolos Emmanouilidis wrote:<br>
<blockquote type="cite">+1 for starting with an implementation similar to CouchDB. This looks<br>like the Offline Lock pattern where there are version stamps and a<br>client cannot fulfill a transaction if he has an old current version<br>
stamp.<br><br>Regarding the concepts that Summers sent<br><a href="https://neil.fraser.name/writing/sync/" target="_blank">https://neil.fraser.name/writing/sync/</a> I feel that are some Open Source<br>implementations of these concepts out there. <br>
e.g google-diff-match-patch[1]<br><br>And something more, there is a security parameter in the data sync<br>concept. The database might contain data which should be<br>visible/accessible to all the clients. <br><br>[1]: <a href="https://code.google.com/p/google-diff-match-patch/" target="_blank">https://code.google.com/p/google-diff-match-patch/</a> <br>
<br><br>On Wed, 2013-12-11 at 10:37 +0100, Daniel Bevenius wrote:<br><br><br><blockquote type="cite">This conflict would the have to be handled by the client. Could we<br>start out with something similar and as simple as this and evolve it? <br>
</blockquote><br><br><br>_______________________________________________<br>aerogear-dev mailing list<br><a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a><br><a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
</blockquote><br><br>_______________________________________________<br>aerogear-dev mailing list<br><a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a><br><a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
</blockquote></div><br></div></div></div><br>_______________________________________________<br>
aerogear-dev mailing list<br>
<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br></blockquote></div><br></div></div>