[aerogear-dev] Concerns on JS Conflict Resolution lib

Lucas Holmquist lholmqui at redhat.com
Tue Dec 16 08:42:40 EST 2014


> On Dec 16, 2014, at 4:22 AM, Lukáš Fryč <lukas.fryc at gmail.com> wrote:
> 
> Hey Luke,
> 
> That seems sensible. I'm glad you are questioning this at the very beginning.
> 
> JS conflict resolution in my eyes makes sense if we build some kind of ORM or three-way binding solution (we'd obviously create just client-model-to-server-model binding part, the rest is up to the MVC framework).
> 
> I also believe that Conflict Resolution API shouldn't be much different from our Realtime sync from the API standpoint,
> the real difference is that Conflict Resolution can easily intergrate with existing concepts and backends because of its RESTful nature,
> while Realtime sync requires special backend handling (aka sync-server):
> 
>      Sync.save(objectInstance);
> 
> 
> Additionally, Conflict Resolution has points on the roadmap that goes far behind regular framework principles: Partial Updates, Batch Updates, Server Notifications...
> 
> As discussed on F2F, we should though always think about how this integrates into wider picture (existing frameworks).
> 
> For this moment, we could start just with examples, they could also demonstrate us what deficiencies existing solutions have.
> And if nothing, the only deliverable for conflict resolution at the end maybe a cookbook, a doc/guide and maybe some contributions to upstream :-)
this might be a good start


> 
> On Mon, Dec 15, 2014 at 5:31 PM, Lucas Holmquist <lholmqui at redhat.com <mailto:lholmqui at redhat.com>> wrote:
> So i have some concerns on the Current state of the conflit resolution POC that i created.
> 
> in it's current state, i had 3 methods in the api
> 
> * Read - just a GET
> * Save - PUT/POST with an added "conflict" callback to handle the conflict resolution
> * Remove - just a DELETE
> 
> This was all done before we wrote this spec
> 
> https://aerogear.org/docs/planning/roadmaps/AeroGearConflictResolution/ <https://aerogear.org/docs/planning/roadmaps/AeroGearConflictResolution/>
> 
> but even then,  from the JS client perspective, it felt a lot like a pipe.  In jQuery.ajax,  you can actually listen for a "409".
> 
> The other thing that concerns me is that on the client side, people are using frameworks such as Ember, Angular, Backbone,etc...   that have there own ways of doing server requests so i would hate to start re-inveting the wheel again.
> 
> while the read/remove don't really do anything different(they are just GET/DELETE's), the save method(PUT/POST) does.  This is were all the "conflict resolution happens”.  (what type on resolution algorithm, auto-merge, etc...)
> 
> I think it would be interesting to try to integrate this part into existing frameworks, rather than trying to create Pipeline again.
> 
> i think for node.js this might be interesting too, since we could create a piece of middleware that hooks into an express/connect request
> 
> 
> Again, this might only be a concern on the JS client side,  not sure what the other platforms are like in this regard
> 
> 
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org <mailto:aerogear-dev at lists.jboss.org>
> https://lists.jboss.org/mailman/listinfo/aerogear-dev <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/20141216/2d5b43f0/attachment-0001.html 


More information about the aerogear-dev mailing list