<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, May 11, 2015 at 6:08 PM, Sebastien Blanc <span dir="ltr">&lt;<a href="mailto:scm.blanc@gmail.com" target="_blank">scm.blanc@gmail.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 dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Mon, May 11, 2015 at 10:56 PM, Bruno Oliveira <span dir="ltr">&lt;<a href="mailto:bruno@abstractj.org" target="_blank">bruno@abstractj.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On 2015-05-11, Sebastien Blanc wrote:<br>
&gt; Let&#39;s start with the &quot;semi-automatic&quot; approach ;)<br>
<br>
</span>I think by &quot;semi-automatic&quot; you mean &quot;it&#39;s up to the developer&quot;, right?<br></blockquote></span><div>right :) </div><span class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
If yes, +1.<br>
<br>
Another question is: Is another HTTP request required only<br>
to feed metrics? I&#39;m thinking about people with very limited data plans.<br>
If yes, that&#39;s definitely must be optional.<br></blockquote></span><div>Yes since we have to collect when a specific action occurs (open an app or bring to foreground) the only way is do a http request  </div></div></div></div></blockquote><div>What about making this thing async? Storing statistics locally and flushing them out once a given threshold is crossed...</div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Also, do we have documented in some place what we are collecting?<br></blockquote></span><div>We are not collecting anything with this advanced metrics, we are just &quot;counting&quot; anonymously.  </div><span class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
&gt;From our guide I have:<br>
<br>
&quot;For analytic purposes on our Dashboard we store the content of the<br>
alert key sent to the UnifiedPush Server. The content of the alert key<br>
belongs to the metadata, which is deleted after 30 days, using a nightly<br>
job within the UnifiedPush Server.&quot;<br>
<br>
If we reach an agreement on it, test the endpoint against DDoS might be<br>
required.<br></blockquote></span><div>Agreed. </div><div>we should even test DDoS against all our &quot;open&quot; endpoints (registration, import, sender) </div><div><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div><br>
&gt; @passos : maybe you can use the same method&#39;s name to keep it unified ? (we<br>
&gt; can always change the names later)<br>
&gt;<br>
&gt;<br>
&gt; On Mon, May 11, 2015 at 3:48 PM, Corinne Krych &lt;<a href="mailto:corinnekrych@gmail.com" target="_blank">corinnekrych@gmail.com</a>&gt;<br>
&gt; wrote:<br>
&gt;<br>
&gt; &gt; Yeap all is in &quot;semi&quot;.<br>
&gt; &gt; for iOs we&#39;ll have 2 public static methods:<br>
&gt; &gt;<br>
&gt; &gt; AGPushAnalytics.sendMetricWhenAppLaunched(serverURL: NSURL,<br>
&gt; &gt; launchOptions: [NSObject:AnyObject]?)<br>
&gt; &gt; AGPushAnalytics.sendMetricsWhenAppAwoken(serverURL: NSURL,<br>
&gt; &gt; applicationState: UIApplicationState, userInfo: [NSObject:AnyObject])<br>
&gt; &gt;<br>
&gt; &gt; If we want all automation we have to provide more wrapping around native<br>
&gt; &gt; life cycle, which can be quite intrusive.<br>
&gt; &gt;<br>
&gt; &gt; ++<br>
&gt; &gt; Corinne<br>
&gt; &gt;<br>
&gt; &gt; On 11 May 2015 at 15:44, Matthias Wessendorf &lt;<a href="mailto:matzew@apache.org" target="_blank">matzew@apache.org</a>&gt; wrote:<br>
&gt; &gt;<br>
&gt; &gt;&gt; iOS is also semi automatic ;-)<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; On Mon, May 11, 2015 at 3:41 PM, Daniel Passos &lt;<a href="mailto:dpassos@redhat.com" target="_blank">dpassos@redhat.com</a>&gt;<br>
&gt; &gt;&gt; wrote:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;&gt; Of course. My point was just to be clear we can&#39;t do it &quot;automatic&quot; :)<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; On Mon, May 11, 2015 at 10:39 AM, Erik Jan de Wit &lt;<a href="mailto:edewit@redhat.com" target="_blank">edewit@redhat.com</a>&gt;<br>
&gt; &gt;&gt;&gt; wrote:<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; but the android sdk could have a method for uploading the metrics, so<br>
&gt; &gt;&gt;&gt;&gt; that a developer can opt for having that displayed on the dashboard.<br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; This method can then also be used for cordova ;)<br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; On Mon, May 11, 2015 at 3:30 PM, Daniel Passos &lt;<a href="mailto:dpassos@redhat.com" target="_blank">dpassos@redhat.com</a>&gt;<br>
&gt; &gt;&gt;&gt;&gt; wrote:<br>
&gt; &gt;&gt;&gt;&gt; &gt; On Fri, May 8, 2015 at 2:10 AM, Matthias Wessendorf &lt;<br>
&gt; &gt;&gt;&gt;&gt; <a href="mailto:matzew@apache.org" target="_blank">matzew@apache.org</a>&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt; wrote:<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt; On Thu, May 7, 2015 at 11:58 PM, Daniel Passos &lt;<a href="mailto:dpassos@redhat.com" target="_blank">dpassos@redhat.com</a>&gt;<br>
&gt; &gt;&gt;&gt;&gt; wrote:<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt; Just to be clear, we are talking about metrics for messages<br>
&gt; &gt;&gt;&gt;&gt; delivered<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt; (received on device) or about really read/open?<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt; Because in Android land is not possible know when message was<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt; read/opened. We delegate how the message will be delivered/showed<br>
&gt; &gt;&gt;&gt;&gt; to the<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt; MessageHandler[1] and we don&#39;t have access to it.<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt; when the user clicks on the message, the app opens. That&#39;s what we<br>
&gt; &gt;&gt;&gt;&gt; track<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt; w/ this PR, not the actual: I read the message - more &quot;App was<br>
&gt; &gt;&gt;&gt;&gt; opened due to<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt; push&quot;, see:<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt; <a href="https://issues.jboss.org/browse/AGPUSH-971" target="_blank">https://issues.jboss.org/browse/AGPUSH-971</a><br>
&gt; &gt;&gt;&gt;&gt; &gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt; I can&#39;t do that. I can&#39;t do an action when app was opened. To do that<br>
&gt; &gt;&gt;&gt;&gt; we<br>
&gt; &gt;&gt;&gt;&gt; &gt; would need to create our own application[1] class, and all projects<br>
&gt; &gt;&gt;&gt;&gt; would<br>
&gt; &gt;&gt;&gt;&gt; &gt; need to extend it. As I have told in my previous email, for now I<br>
&gt; &gt;&gt;&gt;&gt; only can<br>
&gt; &gt;&gt;&gt;&gt; &gt; do something when the message is delivered to the device.<br>
&gt; &gt;&gt;&gt;&gt; &gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt; [1]<br>
&gt; &gt;&gt;&gt;&gt; <a href="http://developer.android.com/reference/android/app/Application.html" target="_blank">http://developer.android.com/reference/android/app/Application.html</a><br>
&gt; &gt;&gt;&gt;&gt; &gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt; Today we only have access when the message is delivered. Basically<br>
&gt; &gt;&gt;&gt;&gt; we<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt; receive the message in a AeroGearGCMMessageReceiver[2] do some<br>
&gt; &gt;&gt;&gt;&gt; checks and<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt; push the message for all Handles registered[3][4]<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt; [1]<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; <a href="https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/MessageHandler.java" target="_blank">https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/MessageHandler.java</a><br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt; [2]<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; <a href="https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/gcm/AeroGearGCMMessageReceiver.java" target="_blank">https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/gcm/AeroGearGCMMessageReceiver.java</a><br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt; [3]<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; <a href="https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/RegistrarManager.java#L118" target="_blank">https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/RegistrarManager.java#L118</a><br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt; [4]<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; <a href="https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/RegistrarManager.java#L130" target="_blank">https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/RegistrarManager.java#L130</a><br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt; -- Passos<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt; On Wed, May 6, 2015 at 6:38 AM, Matthias Wessendorf &lt;<br>
&gt; &gt;&gt;&gt;&gt; <a href="mailto:matzew@apache.org" target="_blank">matzew@apache.org</a>&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt; wrote:<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; Hi,<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; as discussed on the previous thread, there will be a new endpoint<br>
&gt; &gt;&gt;&gt;&gt; to<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; &#39;track&#39; the &quot;App opened/launched due to received push<br>
&gt; &gt;&gt;&gt;&gt; notification&quot;.<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; Internally, on the UPS, the Push Message has an ID, which get&#39;s<br>
&gt; &gt;&gt;&gt;&gt; append<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; to the payload of the notification, like here:<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; <a href="https://github.com/matzew/aerogear-unifiedpush-server/blob/analytics/push/sender/src/main/java/org/jboss/aerogear/unifiedpush/message/sender/APNsPushNotificationSender.java#L107-L108" target="_blank">https://github.com/matzew/aerogear-unifiedpush-server/blob/analytics/push/sender/src/main/java/org/jboss/aerogear/unifiedpush/message/sender/APNsPushNotificationSender.java#L107-L108</a><br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; On the client SDKs this will be read and a HTTP call made to the<br>
&gt; &gt;&gt;&gt;&gt; soon<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; introduced MetricsEndpoint. Currently this info is send to the<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; RegistrationEndpoint, including the deviceToken/registrationId.<br>
&gt; &gt;&gt;&gt;&gt; However, I<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; think that the deviceToken/registrationId is currently not needed<br>
&gt; &gt;&gt;&gt;&gt; for<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; metrics, since we are just interested in anonymous &quot;app<br>
&gt; &gt;&gt;&gt;&gt; launched/opened due<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; to push&quot;, and not a specific &quot;DEVICE X did open, while DEVICE Y<br>
&gt; &gt;&gt;&gt;&gt; did not yet<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; open&quot;.<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; So all we really need is the ID of the push notification, to be<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; processed by our Metrics Service<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; <a href="https://github.com/matzew/aerogear-unifiedpush-server/blob/analytics/jaxrs/src/main/java/org/jboss/aerogear/unifiedpush/rest/registry/installations/InstallationRegistrationEndpoint.java#L128-L133" target="_blank">https://github.com/matzew/aerogear-unifiedpush-server/blob/analytics/jaxrs/src/main/java/org/jboss/aerogear/unifiedpush/rest/registry/installations/InstallationRegistrationEndpoint.java#L128-L133</a><br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; Therefore my proposal is have an endpoint:<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; PUT /metrics/pushmessage/{pushMessageID}<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; I think PUT is good/best, because there is nothing really created<br>
&gt; &gt;&gt;&gt;&gt; on the<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; server, it&#39;s more updating the &#39;counter&#39; on the existing<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; PushMessageInformation object.<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; Thoughts?<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;&gt; -Matthias<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt; _______________________________________________<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt; aerogear-dev mailing list<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt; <a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a><br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt; --<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt; Matthias Wessendorf<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt; blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt; sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt; twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a><br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt; _______________________________________________<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt; aerogear-dev mailing list<br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt; <a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a><br>
&gt; &gt;&gt;&gt;&gt; &gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
&gt; &gt;&gt;&gt;&gt; &gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt; --<br>
&gt; &gt;&gt;&gt;&gt; &gt; -- Passos<br>
&gt; &gt;&gt;&gt;&gt; &gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt; _______________________________________________<br>
&gt; &gt;&gt;&gt;&gt; &gt; aerogear-dev mailing list<br>
&gt; &gt;&gt;&gt;&gt; &gt; <a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a><br>
&gt; &gt;&gt;&gt;&gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; --<br>
&gt; &gt;&gt;&gt;&gt; Cheers,<br>
&gt; &gt;&gt;&gt;&gt;        Erik Jan<br>
&gt; &gt;&gt;&gt;&gt; _______________________________________________<br>
&gt; &gt;&gt;&gt;&gt; aerogear-dev mailing list<br>
&gt; &gt;&gt;&gt;&gt; <a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a><br>
&gt; &gt;&gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; --<br>
&gt; &gt;&gt;&gt; -- Passos<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; _______________________________________________<br>
&gt; &gt;&gt;&gt; aerogear-dev mailing list<br>
&gt; &gt;&gt;&gt; <a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a><br>
&gt; &gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; --<br>
&gt; &gt;&gt; Matthias Wessendorf<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
&gt; &gt;&gt; sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
&gt; &gt;&gt; twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a><br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; _______________________________________________<br>
&gt; &gt;&gt; aerogear-dev mailing list<br>
&gt; &gt;&gt; <a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a><br>
&gt; &gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
&gt; &gt;&gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; aerogear-dev mailing list<br>
&gt; &gt; <a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a><br>
&gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
&gt; &gt;<br>
<br>
&gt; _______________________________________________<br>
&gt; aerogear-dev mailing list<br>
&gt; <a href="mailto:aerogear-dev@lists.jboss.org" target="_blank">aerogear-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
<br>
<br>
--<br>
<br>
</div></div>abstractj<br>
PGP: 0x84DC9914<br>
<div><div>_______________________________________________<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>
</div></div></blockquote></div></div></div><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></div></div>