[aerogear-dev] Concerns on JS Conflict Resolution lib
Lukáš Fryč
lukas.fryc at gmail.com
Tue Dec 16 04:22:39 EST 2014
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 :-)
On Mon, Dec 15, 2014 at 5:31 PM, Lucas Holmquist <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/
>
> 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
> 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/f72f2906/attachment-0001.html
More information about the aerogear-dev
mailing list