<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 01/30/2014 11:03 AM, Matthias
Wessendorf wrote:<br>
</div>
<blockquote
cite="mid:CAAg5f2T=z1kSSRHOu7cDjWhSKMybGJ7-OJs23z8+191zsnj29w@mail.gmail.com"
type="cite">
<div dir="ltr"><br>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Thu, Jan 30, 2014 at 4:23 PM,
Summers Pittman <span dir="ltr"><<a
moz-do-not-send="true" href="mailto:supittma@redhat.com"
target="_blank">supittma@redhat.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">I
rolled up the feedback to the email I sent yesterday.<br>
<br>
One quick note, this is not a 0.1.0 plan nor a 1.0.0 plan.
It is<br>
probably closer to a 1.5 or 2.0 plan in terms of scope. </blockquote>
<div><br>
</div>
<div>ahm... thinking about 2.0.0 before we have a 1.0.0 ?
Not sure I understand that</div>
</div>
</div>
</div>
</blockquote>
The point I was trying to make is that I'm not expecting everything
on here to get done quickly from top to bottom and slap 1.0 on it
sometime in May. Also that I am expecting to have several releases
made during the production of points on this list. <br>
<blockquote
cite="mid:CAAg5f2T=z1kSSRHOu7cDjWhSKMybGJ7-OJs23z8+191zsnj29w@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"> I
tried to<br>
order things and break out big "chunks" which will need to
be done and<br>
the approximate order they should be done in while also
drawing a line<br>
around what features we have. This is why I have not
placed ANY<br>
versions YET. By the end of today/tomorrow morning I hope
that we will<br>
be in a good place to do that.<br>
</blockquote>
<div><br>
</div>
<div><br>
</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br>
Big changes from yesterday, User mgmt moved to M4. M6
(Sync Listener<br>
Upgrading)was merged into M3(Push Listeners) so that we
can have<br>
optional push sooner.<br>
<br>
# M1 - Basic revision Control, Data Model, Change
Management, Server <-><br>
Client Contract<br>
<br>
* We seem to be in agreement on a basic set of metadata
to be kept for<br>
each object. [objectId, revision, object].<br>
* We should have a basic server definition which
supports CRUD and<br>
keeps our revision numbers in check. This may not be a
server product<br>
but just a spec that can be implemented by anything at
this point.<br>
* We should have basic client code which keeps up with
revisions, can<br>
check the server for new revisions, and alert the user if
there is a<br>
sync conflict.<br>
</blockquote>
<div><br>
</div>
<div>+1</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br>
<br>
M2 - Sync Listener w/ Polling based sync listener,
conflict management,<br>
<br>
* We define on the client how callbacks will work for
alerts when<br>
remote data changes<br>
* We implement a listener which polls a data source and
delivers<br>
changes to the user.<br>
* We define how conflicts are managed<br>
</blockquote>
<div><br>
</div>
<div><br>
</div>
<div>+1</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br>
<br>
M3 - Push based Sync Listener, Sync Listener Strategy
Management<br>
* The client and server will negotiate when it is
appropriate to<br>
switch between polling, push, and realtime sync
strategies.<br>
* We will build on our previous Listener work from M2
to include a<br>
Push listener that the server can speak to.<br>
* We will support ways of automagically managing sync
listeners based<br>
on the availability of Push.<br>
</blockquote>
<div><br>
</div>
<div><br>
</div>
<div>overall, yes - the nasty details can be discussed at a
later point, hence</div>
<div>+1</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br>
M4 - Server user management, Network Management, Server
side session<br>
management<br>
* We will define in the client how network state and
sync state<br>
interact. IE how to handle errors in fetching new data
when the<br>
Listener is alerted. (Exponential back off, retry, etc)<br>
* The server will need to have some mechanism for
managing user<br>
"sessions". This is what users are actively being synced.<br>
* The server should have a basic authentication and
authorization plan<br>
for controlling how data is synced<br>
</blockquote>
<div><br>
</div>
<div><br>
</div>
<div>this assume we do have a server w/ pluggable adapters,
no ? </div>
<div>E.g. JPA/JavaEE/Hibernate adapters verus
YetAnotherDatabaseThingy adapter</div>
</div>
</div>
</div>
</blockquote>
Yeah, that is something we are lacking in this list is what the
abilities of our server "are".<br>
<br>
For the most part I assumed that each step a server technology or
spec was built up and kept up.<br>
<br>
<blockquote
cite="mid:CAAg5f2T=z1kSSRHOu7cDjWhSKMybGJ7-OJs23z8+191zsnj29w@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br>
M5 - "Real Time" Sync Listener. Bidirectional automatic
sync<br>
* Instead of using push, Realtime Sync uses something
like web<br>
sockects. to automatically sync local and remote data.<br>
* Previous Sync listeners may have to be upgraded to
include "upload"<br>
abilities.<br>
* We will also include the ability to switch between
Realtime sync<br>
listeners, polling listeners, and push listeners<br>
* The server will need to support this as well.<br>
</blockquote>
<div><br>
</div>
<div>Didn't M3 already include 'realtime' ? <br>
</div>
</div>
</div>
</div>
</blockquote>
For me real time means there is a persistent connection. If the
client is offline the message fails and there is an error. Also
realtime means that changes made to the client's data are
automatically uploaded and propagated. M3 was only concerning
itself with detecting changes of remote data and notifying the user
and possible doing some merging if there wasn't a conflict.<br>
<br>
Also in this step is the ability for the server to send the changes
themselves instead of sending a notification that something changed.<br>
<br>
I think of push technologies like a message queue. Deliveries are
eventually made and trusted to get made at some random point in the
future.<br>
<br>
<blockquote
cite="mid:CAAg5f2T=z1kSSRHOu7cDjWhSKMybGJ7-OJs23z8+191zsnj29w@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br>
M6 - Conflict resolution, Error detection and support<br>
* Provide a more comprehensive strategy for managing
conflicts.<br>
* Provide some automated conflict resolvers<br>
* The server could get a larger set of conflict and
errors messages<br>
<br>
M8 - Party<br>
* We have a sync party.<br>
</blockquote>
<div><br>
</div>
<div>what about M7? :)<br>
</div>
</div>
</div>
</div>
</blockquote>
<br>
M7 was scared of 8 so it is hiding.<br>
<br>
<blockquote
cite="mid:CAAg5f2T=z1kSSRHOu7cDjWhSKMybGJ7-OJs23z8+191zsnj29w@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">_______________________________________________<br>
aerogear-dev mailing list<br>
<a moz-do-not-send="true"
href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
<a moz-do-not-send="true"
href="https://lists.jboss.org/mailman/listinfo/aerogear-dev"
target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
Matthias Wessendorf <br>
<br>
blog: <a moz-do-not-send="true"
href="http://matthiaswessendorf.wordpress.com/"
target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
sessions: <a moz-do-not-send="true"
href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
twitter: <a moz-do-not-send="true"
href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
aerogear-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/aerogear-dev">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a></pre>
</blockquote>
<br>
</body>
</html>