[aerogear-dev] Big picture questions around the PipeManager and the DatastoreManager

Corinne Krych corinnekrych at gmail.com
Mon Oct 29 05:17:47 EDT 2012


Hello Guys

I jumped into the discussion because I'm working on similar topic for
3musket33rs html-grails-plugin. And I would like to share my thoughts with
you.

See code for Grails plugin here
https://github.com/3musket33rs/html5-mobile-scaffolding
or an example of implementation (if you just wan tto se the js)
https://github.com/corinnekrych/tagmyfriends/tree/master/web-app/js

My design is similar I called Feed what you have named Pipeline.Feed can be
online or offline and I've implemented a first draft of synchronization.
Model is more or less equivalent to your StoreManager.

Main differences I see is:

1. I'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
https://github.com/corinnekrych/tagmyfriends/tree/master/web-app/js/tagmyfriends
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.
Looking at your TODO app I think it would be nice to decouple the view

2. Not sure how you're thinking on introducing Sync in your code, is it
going to be another adapters of DataManager?

3. Are you going to provide multi-user synch?

Tell me your views...
++
Corinne.

On 26 October 2012 16:03, Sebastien Blanc <scm.blanc at gmail.com> wrote:

> Very clear ;-)
> The question is how much flexibility/facilities/abstraction do we give to
> the app dev ? But some very interesting challenges to come ...
> Seb
>
>
> On Fri, Oct 26, 2012 at 3:21 PM, Kris Borchers <kris at redhat.com> wrote:
>
>> 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't see the benefit
>> of duplicating functionality of DataManager in Pipeline or vice versa.
>>
>> On Oct 26, 2012, at 8:13 AM, Sebastien Blanc <scm.blanc at gmail.com> wrote:
>>
>> Hi,
>> I agree the "localPipe" seems like a bit strange weird, and it's
>> implementation will be very simple and "dumb" 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'm clear on
>> this point but it is the idea of consistency ...
>> Seb
>>
>>
>> On Fri, Oct 26, 2012 at 3:03 PM, Kris Borchers <kris at redhat.com> wrote:
>>
>>> We are on the same page for the most part. :)  Not sure what you mean by
>>> a "local pipe" 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
>>> https://github.com/aerogear/aerogear-js/tree/SyncManager. There is
>>> still a lot to do and I have more code locally but it's a start.
>>>
>>> On Oct 26, 2012, at 7:56 AM, Sebastien Blanc <scm.blanc at gmail.com>
>>> wrote:
>>>
>>> Hi all !
>>> I was looking at the all different documentation pages and FAQ,  and
>>> some questions and ideas araise :
>>>
>>> 1)  A PipeManager can contains 'n' pipes, is there any plan to be able
>>> to chain pipes together (i.e : "localPipe -> restPipe") ? Even nicer, would
>>> it be possible to make conditional the pipe "route" (i.e ; "no connection
>>> then use the localPipe" etc …)
>>>
>>>
>>> 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 ?
>>>
>>>
>>> 3)  One idea should be that a pipe produce events ("entering
>>> pipe","exiting pipe", with some useful callback  data) and then any other
>>> component should be able to register to the pipe's events, same could be
>>> implemented for the other components (datastore events , security events)
>>> ...
>>>
>>> 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.
>>>
>>> I'm just throwing some ideas after a brainstorming with myself ;-) but
>>> please share your comments on this !
>>>
>>> Best Regards,
>>> Seb
>>>
>>> _______________________________________________
>>> aerogear-dev mailing list
>>> aerogear-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>
>>>
>>>
>>> _______________________________________________
>>> aerogear-dev mailing list
>>> aerogear-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>
>>>
>> _______________________________________________
>> aerogear-dev mailing list
>> aerogear-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>
>>
>>
>> _______________________________________________
>> aerogear-dev mailing list
>> aerogear-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>
>>
>
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-dev/attachments/20121029/80569d37/attachment.html 


More information about the aerogear-dev mailing list