<div dir="ltr">yes, sounds like 2) is the way to go</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, May 6, 2014 at 9:10 AM, 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">Anyone else ?<div>If we all agree I can adapt the temporary backend I deployed including this new behaviour.</div>
<div><br></div><div>Sebi</div><div><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">
On Mon, May 5, 2014 at 9:34 AM, Christos Vasilakis <span dir="ltr">&lt;<a href="mailto:cvasilak@gmail.com" target="_blank">cvasilak@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">

Hi,<br>
<br>
answers inline<br>
<div><br>
On May 2, 2014, at 11:37 PM, Jay Balunas &lt;<a href="mailto:jbalunas@redhat.com" target="_blank">jbalunas@redhat.com</a>&gt; wrote:<br>
<br>
&gt; I wanted to chime in here on additional/related items around the contacts use-case and specifically around how to integrate push.  Some of these have already been discussed so just getting in one place for my own sanity :-)<br>


&gt;<br>
&gt; 1) I agree that users and &quot;contacts&quot; are separate things.  I think it is best to think about them as was mentioned below - users (employees) and contacts (customers, leads, etc...).  This is easier to grok imo and could be helped by some simple wording in the UI.<br>


<br>
</div>+1<br>
<div><br>
<br>
&gt; Cons:<br>
&gt; ** We then need a way to add &quot;users&quot; - otherwise we won&#39;t be sending many push messages.  Maybe users could be automatically created when an app first accesses the backend?<br>
<br>
</div>already the backend provides endpoints for creation of “users”, as well as a list of default users initialised once the app is first loaded. By default when a new user is created the security role assigned to it doesn’t allow the creation of new contacts,  you get back an “Unauthorised” error. It doesn’t effect push per se, since an “admin” user can create a contact and the notification can be send to all other users that are logged in, but we should document this behaviour.<br>


<div><br>
&gt;<br>
&gt; 2) Simplifying the push use-case:  If we change the use-case from saying hi to specific contacts to notifying all users when a new contact was created it could simplify not only the UI, but the server side processing for the push.  We could reserve the more specific push usage to the console, and/or AeroDoc.<br>


&gt;<br>
&gt; If we go with 2) we might be able to avoid the issues with 1) altogether because a broadcast would send to every app that has registered.<br>
&gt;<br>
&gt; Wdyt?<br>
<br>
</div>I am +1 on this behaviour.  IMHO its more clear for the end-user and the actual notification is used to “alert” for a change on the server part that the app can decided to respond (e.g. fetch the new contact list).<br>


<br>
Thanks,<br>
Christos<br>
<div><div><br>
<br>
&gt;<br>
&gt;<br>
&gt; On May 1, 2014, at 10:46 AM, Burr Sutter &lt;<a href="mailto:bsutter@redhat.com" target="_blank">bsutter@redhat.com</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt; Joshua owns the backend, let&#39;s see if he has a thought on this item.<br>
&gt;&gt;<br>
&gt;&gt; On May 1, 2014, at 7:25 AM, Christos Vasilakis &lt;<a href="mailto:cvasilak@gmail.com" target="_blank">cvasilak@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; Hi everyone,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; have started working on the iOS native client of the contacts quick start app. Based on edewit branch[1] (which creates a contact on signup of a user) have created an initial version of the iOS client and you can find it here [2], together with a screencast showcasing the app in action [3].<br>


&gt;&gt;&gt;<br>
&gt;&gt;&gt; Some comments observed during writing of the application which would like your feedback:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; a)  for PUT, DELETE operations noticed that the jax-rs backend expects the id of the Contact to be present in the body of the request. Not sure why this was chosen instead of @Path(“id”) resulting against /contacts/{id} ?<br>


&gt;&gt;&gt;<br>
&gt;&gt;&gt; b) currently roles are used to distinguish between who is able to create/update/delete contact. When a user signs up (and contact is created),  by default the user is _not_ able to apply any CRUD operations apart from viewing (any operation results in unauthorised error). If we agree on this behaviour, would like to know how can I determine the role of the user (in order to update the UI accordingly, eg. disabling add,edit UI elements). Looking at the json response upon login of the user, couldn’t determine a “key” that specifies the role (apart from an “admin” key which stayed the same regardless of the type of the user).<br>


&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Thanks,<br>
&gt;&gt;&gt; Christos<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; [1] <a href="https://github.com/edewit/jboss-wfk-quickstarts/tree/push_and_secured" target="_blank">https://github.com/edewit/jboss-wfk-quickstarts/tree/push_and_secured</a><br>
&gt;&gt;&gt; [2] <a href="https://github.com/cvasilak/aerogear-push-quickstarts/tree/ios" target="_blank">https://github.com/cvasilak/aerogear-push-quickstarts/tree/ios</a><br>
&gt;&gt;&gt; [3] <a href="https://vimeo.com/93471554" target="_blank">https://vimeo.com/93471554</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Apr 23, 2014, at 5:43 PM, Erik Jan de Wit &lt;<a href="mailto:edewit@redhat.com" target="_blank">edewit@redhat.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Right, that makes sense, so let’s not join them. The alternate thing to do is to create a contact on sign up, because if you want to receive push notifications at least you should be in the list of contacts. We will still need to change the sign up page a little as we need a phone number and a birth date as well in order to create a contact.<br>


&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On 23 Apr,2014, at 16:26 , Burr Sutter &lt;<a href="mailto:bsutter@redhat.com" target="_blank">bsutter@redhat.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; These are not strongly held opinions<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; One reason to keep Users &amp; Contacts separate is...because that is normal for the average enterprise app - your have employees (users) and customers (contacts) - employees/users have different roles/privileges from customers.<br>


&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; The reason they are separated in the secured (PL) version of contacts-mobile-basic is because it simply evolved that way - contacts came first - users/roles added after the fact.   Ideally we would not modify the original too much as it allows a nice learning progression - start with the original contacts-mobile-basic, then upgrade to contacts-mobile-basic-secured, then upgrade to contacts-mobile-basic-secured-cordova (names just made up).<br>


&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; On Apr 23, 2014, at 10:16 AM, Sébastien Blanc &lt;<a href="mailto:scm.blanc@gmail.com" target="_blank">scm.blanc@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Sure !<br>
&gt;&gt;&gt;&gt;&gt;&gt; Be sure to check this with Joshua as he drives the backend bits<br>
&gt;&gt;&gt;&gt;&gt;&gt; Sébi<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Envoyé de mon iPhone<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Le 23 avr. 2014 à 15:56, Erik Jan de Wit &lt;<a href="mailto:edewit@redhat.com" target="_blank">edewit@redhat.com</a>&gt; a écrit :<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Hi,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; How about merging the User model and the Contact into one entity? Seems like they have a lot in common, do we really need 2?<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Cheers,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; Erik Jan<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; On 23 Apr,2014, at 14:34 , Sébastien Blanc &lt;<a href="mailto:scm.blanc@gmail.com" target="_blank">scm.blanc@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; We should be using the email as alias and the email should also be used as login when registering in the secured part. A registration should also trigger the creation of that user / contact in the application.<br>


&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Author can be left empty By the client and filled by the backend . <a href="https://github.com/sebastienblanc/jboss-wfk-quickstarts/tree/push_and_securedAuthor" target="_blank">https://github.com/sebastienblanc/jboss-wfk-quickstarts/tree/push_and_securedAuthor</a> must stay because the receiver must know who sends the message.<br>


&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Envoyé de mon iPhone<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Le 23 avr. 2014 à 13:35, Erik Jan de Wit &lt;<a href="mailto:edewit@redhat.com" target="_blank">edewit@redhat.com</a>&gt; a écrit :<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; I was working on the aerogear-push-quickstarts for Cordova and was wondering what to put for the alias on registration. The version that is there now has users that logs in and contacts that are fetched. What seems to be missing is that everybody gets all contacts instead of just mine (maybe that is fine), but users that sign up for the app are not contacts. So when I want to send a message to a specific mobile user they are not in my list and there is no way to have to define an alias to send to.<br>


&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Also the interface for sending push notifications includes a author. I think it would be better if we remove this and let the service put in the logged in user. That way you can’t pretend to send a message like someone else.<br>


&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; What do you think?<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Cheers,<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Erik Jan<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; aerogear-dev mailing list<br>
&gt;&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;&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;&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; 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; 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; 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;<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;<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;<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;<br>
&gt;<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>
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><br></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>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>