Hello Guys<br><br>I jumped into the discussion because I&#39;m working on similar topic for 3musket33rs html-grails-plugin. And I would like to share my thoughts with you.<br><br>See code for Grails plugin here<br><a href="https://github.com/3musket33rs/html5-mobile-scaffolding">https://github.com/3musket33rs/html5-mobile-scaffolding</a><br>
or an example of implementation (if you just wan tto se the js)<br><a href="https://github.com/corinnekrych/tagmyfriends/tree/master/web-app/js">https://github.com/corinnekrych/tagmyfriends/tree/master/web-app/js</a><br><br>
My design is similar I called Feed what you have named Pipeline.Feed can be online or offline and I&#39;ve implemented a first draft of synchronization. Model is more or less equivalent to your StoreManager.<br><br>Main differences I see is:<br>
<br>1. I&#39;ve chosen to decouple with MVC pattern as I needed to identify what need to be generated by Grails plugin. For ex, in my example app the generated part is<br><a href="https://github.com/corinnekrych/tagmyfriends/tree/master/web-app/js/tagmyfriends">https://github.com/corinnekrych/tagmyfriends/tree/master/web-app/js/tagmyfriends</a><br>
There is a bunch of js libraries (backbone, angular etc...) to do this and I might propose an easy way to plug the chosen fwk.<br>Looking at your TODO app I think it would be nice to decouple the view<br><br>2. Not sure how you&#39;re thinking on introducing Sync in your code, is it going to be another adapters of DataManager?<br>
<br>3. Are you going to provide multi-user synch?<br><br>Tell me your views...<br>++<br>Corinne.<br><br><div class="gmail_quote">On 26 October 2012 16:03, Sebastien Blanc <span dir="ltr">&lt;<a href="mailto:scm.blanc@gmail.com" target="_blank">scm.blanc@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Very clear ;-) <div>The question is how much flexibility/facilities/abstraction do we give to the app dev ? But some very interesting challenges to come ...</div>
<div>Seb</div><div class="HOEnZb"><div class="h5"><div><br><br><div class="gmail_quote">On Fri, Oct 26, 2012 at 3:21 PM, Kris Borchers <span dir="ltr">&lt;<a href="mailto:kris@redhat.com" target="_blank">kris@redhat.com</a>&gt;</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">But a pipe only deals with moving data between the client and server. A store handles client side data manipulation. We purposefully separated them. Then the app dev can either manage when and how they use each or they can use SyncManager to handle a lot of it for them. I don&#39;t see the benefit of duplicating functionality of DataManager in Pipeline or vice versa.<div>

<div><div><br><div><div>On Oct 26, 2012, at 8:13 AM, Sebastien Blanc &lt;<a href="mailto:scm.blanc@gmail.com" target="_blank">scm.blanc@gmail.com</a>&gt; wrote:</div><br><blockquote type="cite">Hi,<div>I agree the &quot;localPipe&quot; seems like a bit strange weird, and it&#39;s implementation will be very simple and &quot;dumb&quot; but there will be situation maybe where we want to stay on the Pipe API, rather than shortcut to the datamanager,  even if this Pipe just do a local loop, not sure I&#39;m clear on this point but it is the idea of consistency ... </div>


<div>Seb </div><div><br><br><div class="gmail_quote">On Fri, Oct 26, 2012 at 3:03 PM, Kris Borchers <span dir="ltr">&lt;<a href="mailto:kris@redhat.com" target="_blank">kris@redhat.com</a>&gt;</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">We are on the same page for the most part. :)  Not sure what you mean by a &quot;local pipe&quot; though. I think that is what DataManager does. As for the event driven model for connecting and syncing a pipe to a store, I am already working on that on the JS side. Check out SyncManager in <a href="https://github.com/aerogear/aerogear-js/tree/SyncManager" target="_blank">https://github.com/aerogear/aerogear-js/tree/SyncManager</a>. There is still a lot to do and I have more code locally but it&#39;s a start.<div>


<br><div><div><div>On Oct 26, 2012, at 7:56 AM, Sebastien Blanc &lt;<a href="mailto:scm.blanc@gmail.com" target="_blank">scm.blanc@gmail.com</a>&gt; wrote:</div><br></div><blockquote type="cite"><div>
Hi all ! <div>I was looking at the all different documentation pages and FAQ,  and some questions and ideas araise : </div><div><br></div></div><div>1)  A PipeManager can contains &#39;n&#39; pipes, is there any plan to be able to chain pipes together (i.e : &quot;localPipe -&gt; restPipe&quot;) ? Even nicer, would it be possible to make conditional the pipe &quot;route&quot; (i.e ; &quot;no connection then use the localPipe&quot; etc …)  </div>


</blockquote><div><blockquote type="cite">
<div><br></div><div>2)  The dataStore concept is clear but are there any plans to create some sort of association (one-to-one, one-to-many, etc ...) between a pipe and a datastore instance ?</div></blockquote></div><blockquote type="cite">


<div><div><br></div><div>3)  One idea should be that a pipe produce events (&quot;entering pipe&quot;,&quot;exiting pipe&quot;, with some useful callback  data) and then any other component should be able to register to the pipe&#39;s events, same could be implemented for the other components (datastore events , security events) ...</div>



<div><br></div><div>The main idea is how we will consolidate all this different components together (pipe and datamanager mainly) onces we will have to deal with data sync for example. </div><div><br></div><div>I&#39;m just throwing some ideas after a brainstorming with myself ;-) but please share your comments on this ! </div>



<div><br></div><div>Best Regards,</div><div>Seb</div><div><br></div></div>
_______________________________________________<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><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>
<br></blockquote></div><br></div>
_______________________________________________<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></div><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>
<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>
<br></blockquote></div><br>