[aerogear-dev] DataSync or SyncPipe API proposal

Summers Pittman supittma at redhat.com
Mon Feb 10 09:46:17 EST 2014


On 02/10/2014 06:38 AM, Corinne Krych wrote:
> Hello Guys,
>
> Following discussion on ML thread [1], and JIRA discussion [2] (sorry guys I catched up the discussion late, I wasn’t watching the JIRa ticket so i didn’t get notifications) here is the 2 gists we have:
> 1. DataSync (JS naming) [3]
> 2. SyncPipe(ios naming) [4]
>
> I guess we should call them the same and agree on a name. I like to use ‘pipe’ in the naming just to recall it’s async and going through network.
Not necessarily.  Managing revisions and checking two documents for 
conflicts Shouldn't require network usage.
> I found DataSync a too generic term which may lead to confusion. This is not the same object that will save data offline and trigger sync.
Right.  This is basically an inspection into the state of sync offering 
two items of information
1) Is there a new document on the server
2) Does replacing the synced document with a revised document generate a 
conflict

and it offers a convenience function
a) Update this documents revision.  If there is a conflict tell me.

Managing the client<-> Server connection is outside of the object (and 
can be delegated to a Pipe)

>
> Main differences are: in iOS one I defined a readAll method. Also for save/update I define a third callbacks ‘conflict’ which take 3 arguments .
>
> @summers do you have a gist for java API?
I took a completely different approach a long time ago to this.  My idea 
was there is an object which does the thing I just described and you 
register listeners on it for it to callback to.

https://github.com/aerogear/aerogear-android/blob/sync_strawman/src/org/jboss/aerogear/android/sync/Synchronizer.java
and
https://github.com/aerogear/aerogear-android/blob/sync_strawman/src/org/jboss/aerogear/android/sync/SynchronizeEventListener.java

Obviously this is slightly out of date, but I havn't really been 
satisfied with the proposals so far.  They feel too imperative and 
developer driven.  I'm not really sure how they will fit when we expand 
them into something which can be automated by the underlying system.
> thoughts?
>
> ++
> Corinne
> [1] http://aerogear-dev.1069024.n5.nabble.com/aerogear-dev-sync-To-pipe-or-not-to-pipe-td6135.html
> [2] https://issues.jboss.org/browse/AEROGEAR-1408
> [3] https://gist.github.com/lholmquist/81de9737b5c91367aa3c
> [4] https://gist.github.com/corinnekrych/8914290
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/aerogear-dev



More information about the aerogear-dev mailing list