<div dir="ltr">Jaja , sorry ! I should read answers before answering :)</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 24, 2015 at 7:34 PM, Lucas Holmquist <span dir="ltr">&lt;<a href="mailto:lholmqui@redhat.com" target="_blank">lholmqui@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 style="word-wrap:break-word">not sure if it came through, yet,  but my after thinking about the separate repo thing,  <div><br></div><div>“Thinking a little bit more,  we don’t need separte repo’s for each feature.  Thats what we can use AeroGear-Components thingy to distribute via bower.   We can script that shizzell,  to create custom feature builds”</div><div><div class="h5"><div><br></div><div><br></div><div><div><blockquote type="cite"><div>On Feb 24, 2015, at 1:31 PM, Sebastien Blanc &lt;<a href="mailto:scm.blanc@gmail.com" target="_blank">scm.blanc@gmail.com</a>&gt; wrote:</div><br><div><div dir="ltr" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Feb 24, 2015 at 6:26 PM, Lucas Holmquist<span> </span><span dir="ltr">&lt;<a href="mailto:lholmqui@redhat.com" target="_blank">lholmqui@redhat.com</a>&gt;</span><span> </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"><div style="word-wrap:break-word"><p style="margin:1.2em 0px 1.6em;color:rgb(36,38,40);font-family:&#39;Open Sans&#39;,sans-serif;font-size:18.1887989044189px;line-height:27.2831993103027px;background-color:rgb(255,255,255)"><span style="font-size:18.1887989044189px;line-height:27.2831993103027px">While i was getting things together for the 2.1.0 release, I started to think about the structure of AeroGear.js.</span></p><p style="margin:1.2em 0px 1.6em;color:rgb(36,38,40);font-family:&#39;Open Sans&#39;,sans-serif;font-size:18.1887989044189px;line-height:27.2831993103027px;background-color:rgb(255,255,255)">Lets take DataManager as an example.</p><pre style="font-family:Inconsolata,monospace;font-size:0.9em;margin-top:1.6em;margin-bottom:1.6em;border:1px solid rgb(221,219,204);width:671.34375px;padding:10px;overflow:auto;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;color:rgb(36,38,40);line-height:27.2831993103027px;background-color:rgb(241,240,234)"><code style="font-family:Inconsolata,monospace;font-size:inherit;white-space:pre-wrap;border:none;border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px;padding:0px;background-color:transparent;background-repeat:initial initial">var dataManager = new AeroGear.DataManager();
</code></pre><p style="margin:1.2em 0px 1.6em;color:rgb(36,38,40);font-family:&#39;Open Sans&#39;,sans-serif;font-size:18.1887989044189px;line-height:27.2831993103027px;background-color:rgb(255,255,255)">Basically, the resulting <code style="font-family:Inconsolata,monospace;font-size:0.85em;white-space:pre-wrap;border:1px solid rgb(221,219,204);border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px;padding:1px 3px;background-color:rgb(241,240,234);background-repeat:initial initial">datamanger</code> object is a fancy array. We can add new <code style="font-family:Inconsolata,monospace;font-size:0.85em;white-space:pre-wrap;border:1px solid rgb(221,219,204);border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px;padding:1px 3px;background-color:rgb(241,240,234);background-repeat:initial initial">stores</code> to it:</p><pre style="font-family:Inconsolata,monospace;font-size:0.9em;margin-top:1.6em;margin-bottom:1.6em;border:1px solid rgb(221,219,204);width:671.34375px;padding:10px;overflow:auto;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;color:rgb(36,38,40);line-height:27.2831993103027px;background-color:rgb(241,240,234)"><code style="font-family:Inconsolata,monospace;font-size:inherit;white-space:pre-wrap;border:none;border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px;padding:0px;background-color:transparent;background-repeat:initial initial">dataManager.add(&#39;memoryStoreThing&#39;);

dataManager.add({{
    name: &quot;indexDBStore&quot;,
    type: &quot;IndexedDB&quot;
}});
</code></pre><p style="margin:1.2em 0px 1.6em;color:rgb(36,38,40);font-family:&#39;Open Sans&#39;,sans-serif;font-size:18.1887989044189px;line-height:27.2831993103027px;background-color:rgb(255,255,255)">I&#39;m not sure what the reason for this was historically. I think this concept was initally created when we were doing Pipeline.</p><p style="margin:1.2em 0px 1.6em;color:rgb(36,38,40);font-family:&#39;Open Sans&#39;,sans-serif;font-size:18.1887989044189px;line-height:27.2831993103027px;background-color:rgb(255,255,255)">But sticking to this example, i&#39;m wondering if it adds any value though. would someone create a Datamanager that has more than one store in it? It&#39;s possible i guess if someone wanted to store the same info in a IndexedDB and WebSQL database at the same, for example, but there is currently no way to sync data between the two</p><p style="margin:1.2em 0px 1.6em;color:rgb(36,38,40);font-family:&#39;Open Sans&#39;,sans-serif;font-size:18.1887989044189px;line-height:27.2831993103027px;background-color:rgb(255,255,255)">With the next release, 2.1.0, we will be deprecating Notifier, which uses this pattern.</p><p style="margin:1.2em 0px 1.6em;color:rgb(36,38,40);font-family:&#39;Open Sans&#39;,sans-serif;font-size:18.1887989044189px;line-height:27.2831993103027px;background-color:rgb(255,255,255)">So Datamanager and Sync would be the only things using this pattern. Which i&#39;m not sure makes sense anymore.</p><p style="margin:1.2em 0px 1.6em;color:rgb(36,38,40);font-family:&#39;Open Sans&#39;,sans-serif;font-size:18.1887989044189px;line-height:27.2831993103027px;background-color:rgb(255,255,255)">The remaining parts of the Library, Crypto, UnifiedPush, and to some extent SimplePush(currenlty coupled with Notifier) don&#39;t do this.</p><p style="margin:1.2em 0px 1.6em;color:rgb(36,38,40);font-family:&#39;Open Sans&#39;,sans-serif;font-size:18.1887989044189px;line-height:27.2831993103027px;background-color:rgb(255,255,255)">I am leaning toward proposing we get rid of this pattern and just make a DataManager object hold 1 store/adapter( sync woud follow suit )</p><p style="margin:1.2em 0px 1.6em;color:rgb(36,38,40);font-family:&#39;Open Sans&#39;,sans-serif;font-size:18.1887989044189px;line-height:27.2831993103027px;background-color:rgb(255,255,255)">This change though would be a 3.0 thing since it would be changing the way the API works.</p><p style="margin:1.2em 0px 1.6em;color:rgb(36,38,40);font-family:&#39;Open Sans&#39;,sans-serif;font-size:18.1887989044189px;line-height:27.2831993103027px;background-color:rgb(255,255,255)">I&#39;m also wondering if it would make sense to separate the differnt parts of the library into different repo&#39;s.</p></div></blockquote><div>That would make Bower distribution easier right  ?  </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"><div style="word-wrap:break-word"><p style="margin:1.2em 0px 1.6em;color:rgb(36,38,40);font-family:&#39;Open Sans&#39;,sans-serif;font-size:18.1887989044189px;line-height:27.2831993103027px;background-color:rgb(255,255,255)">I think one of the main reasons this wasn&#39;t done in the past was because <code style="font-family:Inconsolata,monospace;font-size:0.85em;white-space:pre-wrap;border:1px solid rgb(221,219,204);border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:2px;padding:1px 3px;background-color:rgb(241,240,234);background-repeat:initial initial">AeroGear.Core</code> was shared across many pieces of the library and it would be a lot of code duplication.</p><p style="margin:1.2em 0px 1.6em;color:rgb(36,38,40);font-family:&#39;Open Sans&#39;,sans-serif;font-size:18.1887989044189px;line-height:27.2831993103027px;background-color:rgb(255,255,255)">But something like the UnifiedPush Client SDK, might make sense in a separate repo.</p><p style="margin:1.2em 0px 1.6em;color:rgb(36,38,40);font-family:&#39;Open Sans&#39;,sans-serif;font-size:18.1887989044189px;line-height:27.2831993103027px;background-color:rgb(255,255,255)">For distribution, i&#39;ve actually created a AeroGear Component GH organization, that has pieces of the library, <a href="https://github.com/orgs/AeroGear-Components/dashboard" style="color:rgb(91,164,229)" target="_blank">https://github.com/orgs/AeroGear-Components/dashboard</a></p><p style="margin:1.2em 0px 1.6em;color:rgb(36,38,40);font-family:&#39;Open Sans&#39;,sans-serif;font-size:18.1887989044189px;line-height:27.2831993103027px;background-color:rgb(255,255,255)">I think i&#39;ve started to ramble, so i&#39;ll stop here and look for comments</p></div><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><br></blockquote></div><br></div></div><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">_______________________________________________</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">aerogear-dev mailing list</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><a href="mailto:aerogear-dev@lists.jboss.org" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank">aerogear-dev@lists.jboss.org</a><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a></div></blockquote></div><br></div></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></div>