Re: [uportal-user] Requirements for next implementation of MyUW's app directory

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [uportal-user] Requirements for next implementation of MyUW's app directory

Pascal Rigaux
On 22/02/2019 16:24, 'Andrew Petro' via uPortal Community wrote:
> I wonder, how do the requirements suggested by this exercise relate to those for your portals? What are we overlooking? Would an app directory product along these lines be of interest to you, of potential use in your portal implementations?

Hi,

For information in France, two universities are using *EsupUserApps* which is similar though simpler than what you propose.
Cf
https://github.com/EsupPortail/EsupUserApps
https://github.com/EsupPortail/ProlongationENT#introduction
https://github.com/EsupPortail/EsupUserApps/blob/master/src/main/webapp/WEB-INF/config-apps-example.json#L23-L28

- it is _simple_ (2K lines of Java code)
- it provides a /layout endpoint, somewhat similar to uPortal's layout.json (pre 4.3)
- no server-side search/sort, it is only done client-side (on /layout)
- we have tags (used for searching)
- we have a simple plain conf file. So no editing for now (though we have a simple project to add it)
- we generate a simple log that we use for analytics in elasticsearch
- we added an elasticsearch query to query users by affiliation (student/teacher/...) and main affectation (faculty/departments/...) to display most used apps first.
- no icons in EsupUserApps, we have icons by fname in ProlongationENT
- we only do one level of ACLs. Users can access apps if they know the url. Hard ACL is done by applications.
- we recently added scheduling ( https://github.com/EsupPortail/EsupUserApps/commit/0aa5020c978055e3661a257806d50b3e74e03eeb ),
   we use it for "alerts" which are a special form of applications

We migrated from uPortal's layout.json to EsupUserApps a few years ago. It really fulfill our needs :)
Then we built on it one pseudo Web Component (https://github.com/EsupPortail/ProlongationENT, which also works with uportal's layout.json)
and a few simple apps (https://github.com/EsupPortail/ProlongationENT-home, https://github.com/EsupPortail/ProlongationENT-alerts)

cu

--
You received this message because you are subscribed to the Google Groups "uPortal Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
Visit this group at https://groups.google.com/a/apereo.org/group/uportal-user/.
Reply | Threaded
Open this post in threaded view
|

Re: [uportal-user] Requirements for next implementation of MyUW's app directory

Andrew Petro-3
Pascal,

Interesting, thanks for this.

Is this running somewhere I can try out?

Interesting use of elasticsearch to order search results by most-used-by-peers apps. That seems like it might be adding a lot of value to the experience, prioritizing good enough guesses at what's relevant to the user, what they need.

-Andrew



On Friday, February 22, 2019 at 3:59:12 PM UTC-6, pascal.rigaux wrote:
On 22/02/2019 16:24, 'Andrew Petro' via uPortal Community wrote:
> I wonder, how do the requirements suggested by this exercise relate to those for your portals? What are we overlooking? Would an app directory product along these lines be of interest to you, of potential use in your portal implementations?

Hi,

For information in France, two universities are using *EsupUserApps* which is similar though simpler than what you propose.
Cf
<a href="https://github.com/EsupPortail/EsupUserApps" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2FEsupPortail%2FEsupUserApps\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHVx41CDt21WckKjhB3__XV4dKJeg&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2FEsupPortail%2FEsupUserApps\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHVx41CDt21WckKjhB3__XV4dKJeg&#39;;return true;">https://github.com/EsupPortail/EsupUserApps
<a href="https://github.com/EsupPortail/ProlongationENT#introduction" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2FEsupPortail%2FProlongationENT%23introduction\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFaFGwi5UOdSRddHAkdnBFp5qPExg&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2FEsupPortail%2FProlongationENT%23introduction\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFaFGwi5UOdSRddHAkdnBFp5qPExg&#39;;return true;">https://github.com/EsupPortail/ProlongationENT#introduction
<a href="https://github.com/EsupPortail/EsupUserApps/blob/master/src/main/webapp/WEB-INF/config-apps-example.json#L23-L28" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2FEsupPortail%2FEsupUserApps%2Fblob%2Fmaster%2Fsrc%2Fmain%2Fwebapp%2FWEB-INF%2Fconfig-apps-example.json%23L23-L28\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGZ6kMl5pB_-HYqb1GRbbYyMMJ0hw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2FEsupPortail%2FEsupUserApps%2Fblob%2Fmaster%2Fsrc%2Fmain%2Fwebapp%2FWEB-INF%2Fconfig-apps-example.json%23L23-L28\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGZ6kMl5pB_-HYqb1GRbbYyMMJ0hw&#39;;return true;">https://github.com/EsupPortail/EsupUserApps/blob/master/src/main/webapp/WEB-INF/config-apps-example.json#L23-L28

- it is _simple_ (2K lines of Java code)
- it provides a /layout endpoint, somewhat similar to uPortal's layout.json (pre 4.3)
- no server-side search/sort, it is only done client-side (on /layout)
- we have tags (used for searching)
- we have a simple plain conf file. So no editing for now (though we have a simple project to add it)
- we generate a simple log that we use for analytics in elasticsearch
- we added an elasticsearch query to query users by affiliation (student/teacher/...) and main affectation (faculty/departments/...) to display most used apps first.
- no icons in EsupUserApps, we have icons by fname in ProlongationENT
- we only do one level of ACLs. Users can access apps if they know the url. Hard ACL is done by applications.
- we recently added scheduling ( <a href="https://github.com/EsupPortail/EsupUserApps/commit/0aa5020c978055e3661a257806d50b3e74e03eeb" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2FEsupPortail%2FEsupUserApps%2Fcommit%2F0aa5020c978055e3661a257806d50b3e74e03eeb\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNECtibfzc7v8Kq9QARrF-vVqxXnxg&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2FEsupPortail%2FEsupUserApps%2Fcommit%2F0aa5020c978055e3661a257806d50b3e74e03eeb\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNECtibfzc7v8Kq9QARrF-vVqxXnxg&#39;;return true;">https://github.com/EsupPortail/EsupUserApps/commit/0aa5020c978055e3661a257806d50b3e74e03eeb ),
   we use it for "alerts" which are a special form of applications

We migrated from uPortal's layout.json to EsupUserApps a few years ago. It really fulfill our needs :)
Then we built on it one pseudo Web Component (<a href="https://github.com/EsupPortail/ProlongationENT" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2FEsupPortail%2FProlongationENT\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNEy9Mqx0e3XcUg0zMB1xc-P5hJswg&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2FEsupPortail%2FProlongationENT\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNEy9Mqx0e3XcUg0zMB1xc-P5hJswg&#39;;return true;">https://github.com/EsupPortail/ProlongationENT, which also works with uportal's layout.json)
and a few simple apps (<a href="https://github.com/EsupPortail/ProlongationENT-home" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2FEsupPortail%2FProlongationENT-home\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNG3n1kU4mH5W16nncFPi-Gw0wl9Zw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2FEsupPortail%2FProlongationENT-home\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNG3n1kU4mH5W16nncFPi-Gw0wl9Zw&#39;;return true;">https://github.com/EsupPortail/ProlongationENT-home, <a href="https://github.com/EsupPortail/ProlongationENT-alerts" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2FEsupPortail%2FProlongationENT-alerts\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGlbfJniZ1IGNuLmXJkBXSM51v_Tg&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgithub.com%2FEsupPortail%2FProlongationENT-alerts\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGlbfJniZ1IGNuLmXJkBXSM51v_Tg&#39;;return true;">https://github.com/EsupPortail/ProlongationENT-alerts)

cu

--
You received this message because you are subscribed to the Google Groups "uPortal Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
Visit this group at https://groups.google.com/a/apereo.org/group/uportal-user/.
Reply | Threaded
Open this post in threaded view
|

Re: [uportal-user] Requirements for next implementation of MyUW's app directory

Andrew Petro-3
Thanks, I tried it out.

The structure of the response from /layout is interesting. It's got some succinct elegance to it.

The snappiness of the performance is impressive. It feels very fast, crisp.

How many apps are in the directory in total? One consideration that seems to keep coming up here in MyUW is how to scale to better reflect the large number of diverse resources available to any given university constituent, without making the user experience usable and effective rather than overwhelming and burying all the good stuff where it'll seldom be found and used.

On Thursday, February 28, 2019 at 2:30:51 AM UTC-6, pascal.rigaux wrote:
Hi,

We have a few shib apps that allow the "CRU" IDP. Anyone can create an  
account on this IDP.
So can you try it:
- first create an account here:  
<a href="https://cru.renater.fr/sac/faces/casRedirect.jsp" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fcru.renater.fr%2Fsac%2Ffaces%2FcasRedirect.jsp\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGyoRhcEmNHbOdSx3fvrmWgqzbRuA&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fcru.renater.fr%2Fsac%2Ffaces%2FcasRedirect.jsp\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGyoRhcEmNHbOdSx3fvrmWgqzbRuA&#39;;return true;">https://cru.renater.fr/sac/faces/casRedirect.jsp
- then go to  
<a href="https://ent.univ-paris1.fr/accueil/?federation&amp;idpId=urn:mace:cru.fr:federation:sac" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fent.univ-paris1.fr%2Faccueil%2F%3Ffederation%26idpId%3Durn%3Amace%3Acru.fr%3Afederation%3Asac\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFy-kwPOAI6l-53EwU3fa0oDWsS0g&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fent.univ-paris1.fr%2Faccueil%2F%3Ffederation%26idpId%3Durn%3Amace%3Acru.fr%3Afederation%3Asac\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFy-kwPOAI6l-53EwU3fa0oDWsS0g&#39;;return true;">https://ent.univ-paris1.fr/accueil/?federation&idpId=urn:mace:cru.fr:federation:sac

=> the first 3 apps are shib apps with "ProlongationENT". The other  
apps are "app launchers".


NB: EsupUserApps is able to compute urls that bypass the WAYF by  
forcing the user's entityID.
- either using Shibboleth SP initiator urls. eg:  
<a href="https://evento.univ-paris1.fr/Shibboleth.sso/Login?entityID=%7BidpId%7D" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fevento.univ-paris1.fr%2FShibboleth.sso%2FLogin%3FentityID%3D%257BidpId%257D\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGy1Hup1Ug8g9iXdorjmxrz5RDtfg&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fevento.univ-paris1.fr%2FShibboleth.sso%2FLogin%3FentityID%3D%257BidpId%257D\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGy1Hup1Ug8g9iXdorjmxrz5RDtfg&#39;;return true;">https://evento.univ-paris1.fr/Shibboleth.sso/Login?entityID={idpId}  
(simple variable in url)
- or using idp first urls using SAMLv1. eg:  
<a href="https://cru.renater.fr/idp/profile/Shibboleth/SSO?shire=https://ecm.univ-paris1.fr/Shibboleth.sso/SAML/POST&amp;target=https%3A%2F%2Fecm.univ-paris1.fr%2Fnuxeo%2Fnxpath%2Fdefault%2Fdefault-domain%2Fworkspaces%40view_documents&amp;providerId=https://ecm.univ-paris1.fr" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fcru.renater.fr%2Fidp%2Fprofile%2FShibboleth%2FSSO%3Fshire%3Dhttps%3A%2F%2Fecm.univ-paris1.fr%2FShibboleth.sso%2FSAML%2FPOST%26target%3Dhttps%253A%252F%252Fecm.univ-paris1.fr%252Fnuxeo%252Fnxpath%252Fdefault%252Fdefault-domain%252Fworkspaces%2540view_documents%26providerId%3Dhttps%3A%2F%2Fecm.univ-paris1.fr\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNF242YcFaNdDihx2J8P3j6kREyKbQ&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fcru.renater.fr%2Fidp%2Fprofile%2FShibboleth%2FSSO%3Fshire%3Dhttps%3A%2F%2Fecm.univ-paris1.fr%2FShibboleth.sso%2FSAML%2FPOST%26target%3Dhttps%253A%252F%252Fecm.univ-paris1.fr%252Fnuxeo%252Fnxpath%252Fdefault%252Fdefault-domain%252Fworkspaces%2540view_documents%26providerId%3Dhttps%3A%2F%2Fecm.univ-paris1.fr\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNF242YcFaNdDihx2J8P3j6kREyKbQ&#39;;return true;">https://cru.renater.fr/idp/profile/Shibboleth/SSO?shire=https://ecm.univ-paris1.fr/Shibboleth.sso/SAML/POST&target=https%3A%2F%2Fecm.univ-paris1.fr%2Fnuxeo%2Fnxpath%2Fdefault%2Fdefault-domain%2Fworkspaces%40view_documents&providerId=https://ecm.univ-paris1.fr . This url is computed by EsupUserApps if you specify "shibbolethSPPrefix". This solution is mostly deprecated but we still use  
it.

cu

--
You received this message because you are subscribed to the Google Groups "uPortal Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
Visit this group at https://groups.google.com/a/apereo.org/group/uportal-user/.
Reply | Threaded
Open this post in threaded view
|

Re: [uportal-user] Requirements for next implementation of MyUW's app directory

Andrew Petro-3
> without making the user experience usable and effective rather than overwhelming and burying all the good stuff where it'll seldom be found and used.

I had a double negative in there somewhere from half-rewording that sentence halfway through re-writing it, but presumably you can take my meaning.

On Thursday, February 28, 2019 at 7:15:49 AM UTC-6, Andrew Petro wrote:
Thanks, I tried it out.

The structure of the response from /layout is interesting. It's got some succinct elegance to it.

The snappiness of the performance is impressive. It feels very fast, crisp.

How many apps are in the directory in total? One consideration that seems to keep coming up here in MyUW is how to scale to better reflect the large number of diverse resources available to any given university constituent, without making the user experience usable and effective rather than overwhelming and burying all the good stuff where it'll seldom be found and used.


--
You received this message because you are subscribed to the Google Groups "uPortal Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
Visit this group at https://groups.google.com/a/apereo.org/group/uportal-user/.