Microservice for banner messages, in Clojure

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

Microservice for banner messages, in Clojure

Andrew Petro-3
Sharing some code:

Designs for next evolution of notifications and announcements in MyUW call for banner messages on the MyUW home page that will at least initially be few, infrequently changing, and be entirely separate from the existing "bell notifications", not least since user testing suggests users don't think of the bell and the banners as related.

Seemed like a fine opportunity for a new microservice. https://git.doit.wisc.edu/myuw/myuw-banner-message-backend

You can exercise it at https://public.predev.my.wisc.edu/myuw-banner-msg-backend , but you'll just get an empty JSON array, since when not logged in Shibboleth won't be setting headers that the messages are conditioned on.

Anyone else excited about microservices written in Clojure to enhance institutional portals? Already doing something like this? Getting this tiny service working for this tiny problem is making me hopeful for applying this approach to other problems. Something like this as a next version of the app directory back-end, something like this for notifications other than the new banner messages, something like this for computing default content, ...

-Andrew

--
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: Microservice for banner messages, in Clojure

Benito J. Gonzalez-2
Hey Andrew,

I'm exciting to see Clojure in the uPortal space.

Sinclair added some 'alerts' to their uPortal-Home instance. It simply consumed a feed from the NotificationsPortlet.

How are you handling LICENSE and headers to source files? I found a few Leiningen plugins to help with LICENSE, NOTICE, and README.md copyright; however, there seemed no available solutions for adding license info to top of source. Is this even needed for Apereo projects?

Best,
--bjagg

----- Original Message -----
From: "'Andrew Petro' via uPortal Community" <[hidden email]>
To: "uPortal Community" <[hidden email]>
Sent: Monday, February 18, 2019 8:36:16 AM
Subject: [uportal-user] Microservice for banner messages, in Clojure

Sharing some code:

Designs for next evolution of notifications and announcements in MyUW call
for *banner messages on the MyUW home page* that will at least initially be
few, infrequently changing, and be entirely separate from the existing
"bell notifications", not least since user testing suggests users don't
think of the bell and the banners as related.

Seemed like a fine opportunity for a new microservice.
https://git.doit.wisc.edu/myuw/myuw-banner-message-backend

You can exercise it at
https://public.predev.my.wisc.edu/myuw-banner-msg-backend , but you'll just
get an empty JSON array, since when not logged in Shibboleth won't be
setting headers that the messages are conditioned on.

Anyone else excited about microservices written in Clojure to enhance
institutional portals? Already doing something like this? Getting this tiny
service working for this tiny problem is making me hopeful for applying
this approach to other problems. Something like this as a next version of
the app directory back-end, something like this for notifications other
than the new banner messages, something like this for computing default
content, ...

-Andrew

--
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/.

--
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: Microservice for banner messages, in Clojure

Benito J. Gonzalez-2
Okay, I will check once more for plugins to handle these needs. Will likely need to write one to meet our needs. While this and some projects I am considering have few source files, I would like to have some automation in this area. Fun project!

Best,
--bjagg

----- Original Message -----
From: "'Andrew Petro' via uPortal Community" <[hidden email]>
To: "uPortal Community" <[hidden email]>
Sent: Tuesday, February 19, 2019 8:00:38 AM
Subject: Re: [uportal-user] Microservice for banner messages, in Clojure

I'm not currently fastidious about adding license and headers to source
files in this specific project.

It has a LICENSE file
<https://git.doit.wisc.edu/myuw/myuw-banner-message-backend/blob/master/LICENSE>
and the README mentions the license
<https://git.doit.wisc.edu/myuw/myuw-banner-message-backend/blob/master/README.md#license>.
That's probably enough for good faith participants to understand the
licensing. That said, more thoroughly applying the licensing is still an
item in the TODO file
<https://git.doit.wisc.edu/myuw/myuw-banner-message-backend/blob/master/TODO#L7>.


There are two (2) source files. I suppose I could manually paste something
at the top of each. I'd anticipate that manual approach would scale just
fine. I don't have the general case of this problem <https://xkcd.com/974/>,
just maybe the specific case of getting it right for the files I have. Even
taking this supporting Clojure microservice approach to wild success, how
many files are we really talking about here? :)

My understanding is that, yes, Apereo's licensing practices would require
each source file to include licensing information in its header. That is,
after all, what the Apache2 license itself instructs
<https://git.doit.wisc.edu/myuw/myuw-banner-message-backend/blob/master/LICENSE#L178>.


-Andrew

On Monday, February 18, 2019 at 4:23:53 PM UTC-6, bgonzalez wrote:

>
> Hey Andrew,
>
> I'm exciting to see Clojure in the uPortal space.
>
> Sinclair added some 'alerts' to their uPortal-Home instance. It simply
> consumed a feed from the NotificationsPortlet.
>
> How are you handling LICENSE and headers to source files? I found a few
> Leiningen plugins to help with LICENSE, NOTICE, and README.md copyright;
> however, there seemed no available solutions for adding license info to top
> of source. Is this even needed for Apereo projects?
>
> Best,
> --bjagg
>
> ----- Original Message -----
> From: "'Andrew Petro' via uPortal Community" <[hidden email]>
> To: "uPortal Community" <[hidden email]>
> Sent: Monday, February 18, 2019 8:36:16 AM
> Subject: [uportal-user] Microservice for banner messages, in Clojure
>
> Sharing some code:
>
> Designs for next evolution of notifications and announcements in MyUW call
> for *banner messages on the MyUW home page* that will at least initially
> be
> few, infrequently changing, and be entirely separate from the existing
> "bell notifications", not least since user testing suggests users don't
> think of the bell and the banners as related.
>
> Seemed like a fine opportunity for a new microservice.
> https://git.doit.wisc.edu/myuw/myuw-banner-message-backend 
>
> You can exercise it at
> https://public.predev.my.wisc.edu/myuw-banner-msg-backend , but you'll
> just
> get an empty JSON array, since when not logged in Shibboleth won't be
> setting headers that the messages are conditioned on.
>
> Anyone else excited about microservices written in Clojure to enhance
> institutional portals? Already doing something like this? Getting this
> tiny
> service working for this tiny problem is making me hopeful for applying
> this approach to other problems. Something like this as a next version of
> the app directory back-end, something like this for notifications other
> than the new banner messages, something like this for computing default
> content, ...
>
> -Andrew
>
>
>

--
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/.

--
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: Microservice for banner messages, in Clojure

Andrew Petro-3
In reply to this post by Andrew Petro-3
Update:

Gave a brownbag talk on using Clojure in MyUW; there's a recording: https://www.youtube.com/watch?v=EJzmFzK5m1I

Besides the banner messages in a Clojure back end, there's now a Clojure back end for the bell notifications as well.

https://git.doit.wisc.edu/myuw/myuw-bell-notification-backend

(Neither are in production as of yet.)

-Andrew

On Monday, February 18, 2019 at 10:36:16 AM UTC-6, Andrew Petro wrote:
Sharing some code:

Designs for next evolution of notifications and announcements in MyUW call for banner messages on the MyUW home page that will at least initially be few, infrequently changing, and be entirely separate from the existing "bell notifications", not least since user testing suggests users don't think of the bell and the banners as related.

Seemed like a fine opportunity for a new microservice. <a href="https://git.doit.wisc.edu/myuw/myuw-banner-message-backend" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgit.doit.wisc.edu%2Fmyuw%2Fmyuw-banner-message-backend\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNF-bpkZciDdwgy9Iji1Ol6v9t9w6w&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fgit.doit.wisc.edu%2Fmyuw%2Fmyuw-banner-message-backend\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNF-bpkZciDdwgy9Iji1Ol6v9t9w6w&#39;;return true;">https://git.doit.wisc.edu/myuw/myuw-banner-message-backend

You can exercise it at <a href="https://public.predev.my.wisc.edu/myuw-banner-msg-backend" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fpublic.predev.my.wisc.edu%2Fmyuw-banner-msg-backend\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGtfIt8UAv-muTBB2EXIGt2vsoAFQ&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fpublic.predev.my.wisc.edu%2Fmyuw-banner-msg-backend\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGtfIt8UAv-muTBB2EXIGt2vsoAFQ&#39;;return true;">https://public.predev.my.wisc.edu/myuw-banner-msg-backend , but you'll just get an empty JSON array, since when not logged in Shibboleth won't be setting headers that the messages are conditioned on.

Anyone else excited about microservices written in Clojure to enhance institutional portals? Already doing something like this? Getting this tiny service working for this tiny problem is making me hopeful for applying this approach to other problems. Something like this as a next version of the app directory back-end, something like this for notifications other than the new banner messages, something like this for computing default content, ...

-Andrew

--
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: Microservice for banner messages, in Clojure

Benito J. Gonzalez-2
Awesome!!

Thank you for sharing,
--bjagg


From: "'Andrew Petro' via uPortal Community" <[hidden email]>
To: "uPortal Community" <[hidden email]>
Sent: Thursday, April 11, 2019 7:32:12 AM
Subject: [uportal-user] Re: Microservice for banner messages, in Clojure

Update:

Gave a brownbag talk on using Clojure in MyUW; there's a recording: https://www.youtube.com/watch?v=EJzmFzK5m1I

Besides the banner messages in a Clojure back end, there's now a Clojure back end for the bell notifications as well.

https://git.doit.wisc.edu/myuw/myuw-bell-notification-backend

(Neither are in production as of yet.)

-Andrew

On Monday, February 18, 2019 at 10:36:16 AM UTC-6, Andrew Petro wrote:
Sharing some code:

Designs for next evolution of notifications and announcements in MyUW call for banner messages on the MyUW home page that will at least initially be few, infrequently changing, and be entirely separate from the existing "bell notifications", not least since user testing suggests users don't think of the bell and the banners as related.

Seemed like a fine opportunity for a new microservice. https://git.doit.wisc.edu/myuw/myuw-banner-message-backend

You can exercise it at https://public.predev.my.wisc.edu/myuw-banner-msg-backend , but you'll just get an empty JSON array, since when not logged in Shibboleth won't be setting headers that the messages are conditioned on.

Anyone else excited about microservices written in Clojure to enhance institutional portals? Already doing something like this? Getting this tiny service working for this tiny problem is making me hopeful for applying this approach to other problems. Something like this as a next version of the app directory back-end, something like this for notifications other than the new banner messages, something like this for computing default content, ...

-Andrew

--
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/.

--
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/.