<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Oct 8, 2014 at 10:23 PM, Bruno Oliveira <span dir="ltr">&lt;<a href="mailto:bruno@abstractj.com" target="_blank">bruno@abstractj.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 class="HOEnZb"><div class="h5">On 2014-10-08, Matthias Wessendorf wrote:<br>
&gt; On Wed, Oct 8, 2014 at 6:25 PM, Bruno Oliveira &lt;<a href="mailto:bruno@abstractj.org">bruno@abstractj.org</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; On 2014-10-08, Matthias Wessendorf wrote:<br>
&gt; &gt; &gt; On Wed, Oct 8, 2014 at 5:34 PM, Bruno Oliveira &lt;<a href="mailto:bruno@abstractj.org">bruno@abstractj.org</a>&gt;<br>
&gt; &gt; wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; If I understood correctly what we want to achieve tl;dr is:<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; - Include a JPA query on UPS to list all app/variants on UPS<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; yes<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; - Introduce fine grained permissions for this query. Into this way we<br>
&gt; &gt; &gt; &gt;   can differentiate admin from developers[1]<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; the &#39;how&#39; is tbd;<br>
&gt; &gt;<br>
&gt; &gt; I just want to check if my reading is correct and we can start to work<br>
&gt; &gt; on the &quot;how&quot; with Jiras. If you are fine with it.<br>
&gt; &gt;<br>
&gt; &gt; &gt; today we query for the user&#39;s own apps/variant:<br>
&gt; &gt; &gt;<br>
&gt; &gt; <a href="https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/jaxrs/src/main/java/org/jboss/aerogear/unifiedpush/rest/registry/applications/PushApplicationEndpoint.java#L88" target="_blank">https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/jaxrs/src/main/java/org/jboss/aerogear/unifiedpush/rest/registry/applications/PushApplicationEndpoint.java#L88</a><br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; One (simple) option is: the underlying service could do a &quot;select *<br>
&gt; &gt; &gt; from...&quot; if the role is &#39;admin&#39;<br>
&gt; &gt;<br>
&gt; &gt; Alright. But the query must display that some app &quot;golum&quot; belongs to<br>
&gt; &gt; &quot;abstractj&quot; and another app with the same name, belongs to matzew.<br>
&gt; &gt; Because is pretty likely to happen naming duplication.<br>
&gt; &gt;<br>
&gt;<br>
&gt; yeah, sure. That info is already present on the PushApplication - currently<br>
&gt; that is just not displayed.<br>
&gt;<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; - Create an interface on UPS to the admin, otherwise the whole<br>
&gt; &gt; &gt; &gt;   implementation is useless.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; what do you mean ?<br>
&gt; &gt;<br>
&gt; &gt; If you query the database for all apps created. How do you delete the<br>
&gt; &gt; application &quot;golum&quot; created by bruno if I have 10 apps named &quot;golum&quot; in<br>
&gt; &gt; my database?<br>
&gt; &gt;<br>
&gt;<br>
&gt; Ah, ok. I was wondering you wanted to define some completely new UI :)<br>
&gt;<br>
&gt; I had something like this in mind (yes, I am not a designer :))<br>
&gt; <a href="http://people.apache.org/~matzew/AdminViewOnApps.png" target="_blank">http://people.apache.org/~matzew/AdminViewOnApps.png</a><br>
<br>
</div></div>The interface design is not a big deal. Would be nice to add some<br>
filtering to the search:<br>
<br>
- search by owner<br>
- search by variant<br>
- search by app name<br></blockquote><div><br></div><div>regarding the search and filtering, I do see value in it, but - for timing reasons, let&#39;s please do that only once the other stuff is really in, and works.</div><div><br></div><div>I don&#39;t expect a gazillion of PushApps on one server instance, so pagination of a few pages, sorted by &quot;username&quot; should be good enough</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class=""><br>
<br>
&gt;<br>
&gt; That&#39;s just one initial thought. Once we agree on this overall feature, I<br>
&gt; think we will nail the details of the &#39;how&#39; in the relevant JIRA subtasks<br>
&gt; of AGPUSH-697.<br>
&gt; However I fully agree that we need to apply some tweaks to the existing UI,<br>
&gt; so that the owner name is visible when the &#39;admin&#39; is looking at the<br>
&gt; &quot;application overview&quot; page, like in the screenshot.<br>
<br>
</span>Subtasks already created: <a href="https://issues.jboss.org/browse/AGPUSH-697" target="_blank">https://issues.jboss.org/browse/AGPUSH-697</a><br>
<div class="HOEnZb"><div class="h5"><br>
<br>
&gt;<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; That&#39;s why I think the mininum for the UPS admin interface must be<br>
&gt; &gt; defined, right<br>
&gt; &gt; now, before start the whole implementation. What would you expect to see<br>
&gt; &gt; when you query the whole database?<br>
&gt; &gt;<br>
&gt;<br>
&gt; I thought about adding &#39;pagination&#39; on the &quot;application overview&quot; page,<br>
&gt; similar like we do on the installations.<br>
&gt;<br>
&gt; -Matthias<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;From my understanding, Keycloak will just manage these users and<br>
&gt; &gt; unless<br>
&gt; &gt; &gt; &gt; something has changed, we provide the fine grained authorization model<br>
&gt; &gt; on<br>
&gt; &gt; &gt; &gt; UPS. Like<br>
&gt; &gt; &gt; &gt; we did in the past.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; yeah, the users live in Keycloak - we somehow differentiate on the<br>
&gt; &gt; &gt; role/user if we do a &quot;select all&quot; or just those for the specific user<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Am I correct?<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; [1] -<br>
&gt; &gt; <a href="http://lists.jboss.org/pipermail/keycloak-dev/2014-May/001851.html" target="_blank">http://lists.jboss.org/pipermail/keycloak-dev/2014-May/001851.html</a><br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; On 2014-10-08, Matthias Wessendorf wrote:<br>
&gt; &gt; &gt; &gt; &gt; Hi,<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; as of today, we have a single user (admin), to revisit that we have<br>
&gt; &gt; &gt; &gt; &gt; AGPUSH-697 (see [1]).<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Based on changes over the months (e.g new UI and being based on<br>
&gt; &gt; &gt; &gt; Keycloak),<br>
&gt; &gt; &gt; &gt; &gt; I have updated our old spec/gist:<br>
&gt; &gt; &gt; &gt; &gt; <a href="https://gist.github.com/matzew/ed0055000a8347488a37" target="_blank">https://gist.github.com/matzew/ed0055000a8347488a37</a><br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Greetings,<br>
&gt; &gt; &gt; &gt; &gt; Matthias<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; [1] <a href="https://issues.jboss.org/browse/AGPUSH-697" target="_blank">https://issues.jboss.org/browse/AGPUSH-697</a><br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; --<br>
&gt; &gt; &gt; &gt; &gt; Matthias Wessendorf<br>
&gt; &gt; &gt; &gt; &gt;<br>
&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; sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
&gt; &gt; &gt; &gt; &gt; twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a><br>
&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">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;<br>
&gt; &gt; &gt; &gt; abstractj<br>
&gt; &gt; &gt; &gt; PGP: 0x84DC9914<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">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;<br>
&gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; aerogear-dev mailing list<br>
&gt; &gt; &gt; <a href="mailto:aerogear-dev@lists.jboss.org">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;<br>
&gt; &gt; abstractj<br>
&gt; &gt; PGP: 0x84DC9914<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; aerogear-dev mailing list<br>
&gt; &gt; <a href="mailto:aerogear-dev@lists.jboss.org">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>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Matthias Wessendorf<br>
&gt;<br>
&gt; blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
&gt; sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
&gt; twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a><br>
<br>
&gt; _______________________________________________<br>
&gt; aerogear-dev mailing list<br>
&gt; <a href="mailto:aerogear-dev@lists.jboss.org">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>
abstractj<br>
PGP: 0x84DC9914<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>
</div></div></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>