in what timeframe? :-)On Jul 9, 2014, at 11:03 AM, Matthias Wessendorf <matzew@apache.org> wrote:Hi,we had a meeting on this 'server side' sync topic. In terms of delivering a 'quick solution' around JavaEE (JAX-RS/JPA):Erik's sent a PR to forge (see [1]) and Erik started a branch on adding the minimal/quick solution to our Quickstarts (atm: Cordova and Server):==> It basically is "optimistic locking" and returning 409 to the client, telling there is a conflict; NOTE: there is NO merge.What we could do....
that could be interesting, but how much boilderplate code is it eliminating? 10 lines?* Provide an annotation for all of that work (outside of the quickstart, as a "library");
Seems like overkill to me* we could also integrate the push notification delivery on conflicts (not sure it really makes sense, for now...).
And try to get the Forge JAX-RS generation updatedNote that this is just an initial and very simple solution, not really something considered being called a 'sync server'. I liked Summers comment: "I think the EE stuff is a stop gap until the sync server is done IE the cheap 50% solution". I agree with that; Eventually it will go away in fav. of the 'sync-server' that Dan/Luke are working on.OK, in terms of timing,... we could include Erik's work (see [2]) into our 1.0.0 release (of the quickstarts).Just provide the template code - the Forge team will do the rest.Is this an update to just the quickstarts or to some framework/library code?That means we would need to bring the Cordova behavior to iOS and Android (Summers has a POC that does similar bits around @Version Entities and Optimistic Locking (and returning 409), see [3]).
_______________________________________________Or we do that after we released the AeroGear Mobile Push 1.0.0 to the community; So it could be bundled with an 1.0.1 in... let's say September.About the long-term solution:Dan and Luke will continue their research--> Server side POC https://github.com/danbev/aerogear-sync-server/tree/differential-synchronization--> Client side POC https://github.com/lholmquist/ag-js-ds-pocWe will be also reaching out to other groups, as we are not the only ones interested in 'sync'Any thoughts or questions ?-Matthias[3] Summers POC:* https://github.com/secondsun/SmogRideAndroid (client)* https://github.com/secondsun/SmogRide (Server)On Fri, Jul 4, 2014 at 9:46 AM, Erik Jan de Wit <edewit@redhat.com> wrote:
On 4 Jul,2014, at 9:28 , Matthias Wessendorf <matzew@apache.org> wrote:2) Initial quick and simple solution based on JAX-RS and JPA:- We have versioning in JPA (optimistic locking) - Use it (send 409 on server and send right data)-- Use JAX-RS ExceptionMapper for exceptions around the optimistic locking ?Added handling of OptimisticLockException to forge https://github.com/forge/core/pull/481 this will give clients a 409 so that they could show to the user that their copy was out of date. Now the client still need to react to this.- Client library will have helper methods for managing dataPOC of client handeling this https://github.com/edewit/aerogear-push-quickstarts/tree/conflict/client/cordova/angular/www this will just show the client version and the server version and the user can choose which version to take- Use push to send notifications that data changed?- JAX-RS Annotation to send notifications?
_______________________________________________
aerogear-dev mailing list
aerogear-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/aerogear-dev--
Matthias Wessendorf
blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf
aerogear-dev mailing list
aerogear-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/aerogear-dev
_______________________________________________
aerogear-dev mailing list
aerogear-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/aerogear-dev