<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">&lt;<a href="mailto:supittma@redhat.com" target="_blank">supittma@redhat.com</a>&gt;</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">&lt;<a href="mailto:supittma@redhat.com" target="_blank">supittma@redhat.com</a>&gt;</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&#39;t use any authentication or ownership
              tracking.<br>
            </blockquote>
            <div><br>
            </div>
            <div>that&#39;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&#39;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 &quot;sync-server&quot; 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&#39;s hobbies)<br>
            </blockquote>
            <div><br>
            </div>
            <div>Let&#39;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>
              &quot;solid&quot;.  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&#39;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&#39;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&#39;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&#39;s<br>
              username and the documents they &quot;own&quot;.  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 &#39;plugged&#39; 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&#39;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&#39;t supply connection/disconnection information like<br>
              WebSockets will.  Instead we just know that some messages
              we sent a<br>
              while ago weren&#39;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&#39;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 -&gt; 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>
              &gt;&gt;Phone:404 941 4698<br>
              &gt;&gt;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&#39;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
&gt;&gt;Phone:404 941 4698
&gt;&gt;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>