<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 27, 2015 at 8:43 PM, Summers Pittman <span dir="ltr"><<a href="mailto:supittma@redhat.com" target="_blank">supittma@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"><span class="">
<div>On 01/27/2015 01:32 PM, Matthias
Wessendorf wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr"><br>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Mon, Jan 26, 2015 at 4:38 PM,
Summers Pittman <span dir="ltr"><<a 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"><br>
Summary (From my POV on Android):<br>
<br>
Sync Server doesn't use any authentication or ownership
tracking.<br>
</blockquote>
<div><br>
</div>
<div>that's fine, for alpha.1. Can you create a ticket to
track this on AGSYNC for later alpha releases? Or do we
have already such an issue</div>
</div>
</div>
</div>
</blockquote>
<br></span>
I'll figure this out with danbev. He mentioned better integration
for J2EE flavored things is a thing to investigate. It may be that
the sync-server is better served as a database styled thing and the
app server is responsible for role based data security.</div></blockquote><div><br></div><div>e.g. like JAX-RS extensions/adapters that can community with the "sync-server" resource?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"><span class=""><br>
<br>
<blockquote 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">
GCM-XMPP bridge needs a lot of love<br>
We need to define a different connection lifecycle for
GCM.<br>
</blockquote>
<div><br>
</div>
<div>Similar to above, I think for initial alpha the current
connection bridge may be OK. We have JIRAs for that ? <br>
</div>
</div>
</div>
</div>
</blockquote>
<br></span>
* <a href="https://issues.jboss.org/browse/AGSYNC-28" target="_blank">https://issues.jboss.org/browse/AGSYNC-28</a><br>
<br>
I schedule it for beta.1. Really this should be something that
should be put together at the same time as persistent data.<div><div class="h5"><br>
<br>
<blockquote 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">
The in memory data store is problematic because clients
and servers<br>
must be stopped and started atomically<br>
</blockquote>
<div><br>
</div>
<div>Dan created this for one of the later (alpha) releases:</div>
<div><a href="https://issues.jboss.org/browse/AGSYNC-23" target="_blank">https://issues.jboss.org/browse/AGSYNC-23</a><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">
We might want to show off syncing different types of
documents (i.e.<br>
a todo list in addition to Luke's hobbies)<br>
</blockquote>
<div><br>
</div>
<div>Let's make sure the epics for the demos are covering
that. Perhaps worth to open a new thread,</div>
<div>if we really need a new demo or so for the alpha.1</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">
Fixing the GCM bridge is probably a couple weeks of work
to get it<br>
"solid". That will be a good alpha.1/preview to show off.<br>
</blockquote>
<div><br>
</div>
<div>ok, but I think if the only the current bridge makes
it, it would not be the end of the world.</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>
So Last week I put together a demo to try and stretch the
legs of the<br>
Android Sync Client APIs.<br>
<br>
It crashes, a lot. Which is a bit to be expected as the
code hasn't<br>
really be used for, well, anything until now. We will get
to that though.<br>
<br>
Here is the alpha.1 workflow. You log in and you see your
docs. You can<br>
edit your docs or you can create new ones. In the future
I would like<br>
to add sharing and collaboration but that's the future.</blockquote>
<div><br>
</div>
<div>+1 like the idea</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">
Here's a flow<br>
chart for the visual thinkers out there (with real screen
caps from the<br>
real working app)<br>
<br>
*<br>
<a href="https://docs.google.com/drawings/d/145XuutxR1yY0k81w2nIIy980itDIwxzH_gcDE3jLrvc/edit?usp=sharing" target="_blank">https://docs.google.com/drawings/d/145XuutxR1yY0k81w2nIIy980itDIwxzH_gcDE3jLrvc/edit?usp=sharing</a></blockquote>
<div><br>
</div>
<div>nice diagram - looks like a solid flow </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>
To make all of this work I use a RESTful server which
tracks a user's<br>
username and the documents they "own". The sync server
just syncs and<br>
serves the document you ask for. It has no authentication
and any doc<br>
you ask for you get to be an editor on.<br>
</blockquote>
<div><br>
</div>
<div><br>
</div>
<div>your restful server would be the backend, that
should/clould be 'plugged' into the sync? (in a later
release)</div>
</div>
</div>
</div>
</blockquote></div></div>
I talked to lolquist about it yesterday. The final evolution of
this idea is the only thing in the REST server is a secured endpoint
which points you to a document on the sync server. This means all
of your information will be hosted directly from the sync server.</div></blockquote><div><br></div><div>ok</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"><span class=""><br>
<blockquote 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>
The client uses the GCM XMPP¹ bridge I wrote while drunk
on the side of<br>
a mountain and it shows. </blockquote>
<div><br>
</div>
<div>:-) Ok, perhaps we should get it improved before we
ship alpha.1</div>
</div>
</div>
</div>
</blockquote>
<br></span>
Already on it. I have a few JIRAs and have brainstormed a set of
fixes with passos. Stay tuned.</div></blockquote><div><br></div><div>nice</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"><span class=""><br>
<br>
<blockquote 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">
The biggest issue is that shadows for<br>
documents aren't getting created right sometimes because
either 1) the<br>
client or server bounced and the data stores are no long
synced or 2)<br>
the server thinks there are more clients than actually are
connected.<br>
</blockquote>
<div><br>
</div>
<div>sounds like a bug</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">GCM-XMPP
doesn't supply connection/disconnection information like<br>
WebSockets will. Instead we just know that some messages
we sent a<br>
while ago weren't delivered. We need to figure out how to
turn this<br>
into connection and disconnection information in a way
that lets the<br>
shadows exist correctly.<br>
</blockquote>
<div><br>
</div>
<div>the messages that are arrving via GCM could be used to
query for the version from the sync server. Eg. via a REST
API? </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>
Another issue that needs to be addressed is using
something other than<br>
the Luke Skywalker hobbies document. (Or maybe showing
off multiple<br>
document types in the demo). I'm up for suggestions.<br>
<br>
Anyway, the principles (diff sync with a restful
documentId broker for<br>
security) are sound. I think we can buff out some
implementation<br>
details and have a good alpha/preview/poc release in the
few weeks -> 1<br>
month time frame for Android and the sync server.<br>
</blockquote>
<div><br>
</div>
<div>I think ideally the release would be ready around 20th
of Feb, perhaps slightly later</div>
</div>
</div>
</div>
</blockquote></span>
Sounds like we agree :)</div></blockquote><div><br></div><div>perfect :-)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"><div><div class="h5"><br>
<blockquote 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>
--<br>
Summers Pittman<br>
>>Phone:404 941 4698<br>
>>Java is my crack.<br>
<br>
<br>
<br>
Foot Notes:<br>
1. The sync server has two client connection technologies
: WebSockets<br>
and GCM-XMPP. Android uses the GCM-XMPP because it takes
all of the<br>
nasty connection handling code and gives let's Android
deal with it.<br>
More info here : <a href="https://developer.android.com/google/gcm/ccs.html" target="_blank">https://developer.android.com/google/gcm/ccs.html</a><br>
<br>
_______________________________________________<br>
aerogear-dev mailing list<br>
<a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a></blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div>Matthias Wessendorf <br>
<br>
blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a></div>
</div>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
aerogear-dev mailing list
<a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a>
<a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a></pre>
</blockquote>
<br>
<br>
<pre cols="72">--
Summers Pittman
>>Phone:404 941 4698
>>Java is my crack.
</pre>
</div></div></div>
<br>_______________________________________________<br>
aerogear-dev mailing list<br>
<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
<a 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><div class="gmail_signature">Matthias Wessendorf <br><br>blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a></div>
</div></div>