<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jan 30, 2014 at 5:13 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"><div class="im">
    <div>On 01/30/2014 11:03 AM, Matthias
      Wessendorf wrote:<br>
    </div>
    <blockquote 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">&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">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></div>
    The point I was trying to make is that I&#39;m not expecting everything
    on here to get done quickly from top to bottom and slap 1.0 on it
    sometime in May. </div></blockquote><div><br></div><div>Oh, ok - yeah, I totally agree that we should _not_ say: 1.0 is in May and it contains all the bits from your M1 -&gt; M8;</div><div><br></div><div><br></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"> Also that I am expecting to have several releases
    made during the production of points on this list.  <br></div></blockquote><div><br></div><div>yep!</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">
    <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"> I
              tried to<br>
              order things and break out big &quot;chunks&quot; 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 &lt;-&gt;<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>
              &quot;sessions&quot;.  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></div></div>
    Yeah, that is something we are lacking in this list is what the
    abilities of our server &quot;are&quot;.<br></div></blockquote><div><br></div><div>that was my thought as well</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">
    <br>
    For the most part I assumed that each step a server technology or
    spec was built up and kept up.</div></blockquote><div><br></div><div>I think a &#39;real&#39; server (w/ adapters) might be needed at some point :-)</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 class="im"><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"><br>
              M5 - &quot;Real Time&quot; 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 &quot;upload&quot;<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&#39;t M3 already include &#39;realtime&#39; ? <br>
            </div>
          </div>
        </div>
      </div>
    </blockquote></div>
    For me real time means there is a persistent connection.  </div></blockquote><div><br></div><div>same here - but that&#39;s listed (real-time) in M3 as well, right ? </div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">If the
    client is offline the message fails and there is an error.  Also
    realtime means that changes made to the client&#39;s data are
    automatically uploaded and propagated.</div></blockquote><div>+1 </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000">  M3 was only concerning
    itself with detecting changes of remote data and notifying the user
    and possible doing some merging if there wasn&#39;t a conflict.<br></div></blockquote><div><br></div><div>Ah!! ok, did not get that from reading the list </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
    <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></div></blockquote><div><br></div><div>agreed  </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
    <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.</div></blockquote><div><br></div><div>well, I have some thoughts on that, when we get there :)</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 class="im"><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"><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></div>
    M7 was scared of 8 so it is hiding.</div></blockquote><div><br></div><div>I hope it was not: buy all the booze for M8 :-)</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 class="im"><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">_______________________________________________<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><br>
            </blockquote>
          </div>
          <br>
          <br clear="all">
          <div><br>
          </div>
          -- <br>
          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>
      <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>
  </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>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>