grouper-users - Re: [grouper-users] RabbitMq Routing
Subject: Grouper Users - Open Discussion List
List archive
- From: Julio Polo <>
- To: "Gettes, Michael" <>
- Cc: "Ruch,Jeff" <>, Vivek Sachdeva <>, Chris Hyzer <>, "" <>
- Subject: Re: [grouper-users] RabbitMq Routing
- Date: Wed, 19 Dec 2018 09:18:53 -1000
- Ironport-phdr: 9a23:Hoex2R9U1eGzr/9uRHKM819IXTAuvvDOBiVQ1KB32+scTK2v8tzYMVDF4r011RmVBdWds6oMotGVmpioYXYH75eFvSJKW713fDhBt/8rmRc9CtWOE0zxIa2iRSU7GMNfSA0tpCnjYgBaF8nkelLdvGC54yIMFRXjLwp1Ifn+FpLPg8it2O2+557ebx9UiDahfLh/MAi4oQLNu8cMnIBsMLwxyhzHontJf+RZ22ZlLk+Nkhj/+8m94odt/zxftPw9+cFAV776f7kjQrxDEDsmKWE169b1uhTFUACC+2ETUmQSkhpPHgjF8BT3VYr/vyfmquZw3jSRMNboRr4oRzut86ZrSAfpiCgZMT457HrXgdF0gK5CvR6tuwBzz4vSbYqINvRxY7ndcMsVSmpPXMlfVyJPDIChYYURE+UMJvxXo5XnqlYUsReyGQuhCeXywTFInH/22qg63vwlHwHb2AwgHtUOu2nOotXyMKcSVv2+wa7KzTXea/NW2DD95ZPIch87r/CDR7NwccvLxUYxCgzFk0ydpIr4ND2b0eQNtnKU7+tmVe+3i24osQ9wrSKuxsctkIXGmJ8ayk3c+SV8x4Y6ONy4SEB7YNK+CpRQqj2aN4xuTsM4XW5otyc6yqYauZ6hZicK1JUnxxnZa/CddoiH+BTjWeCMKjl7nHJoYKyziheu/UWiz+D8WMq5301WoidAndTBtXEA2hPW58SZVvdw+0Ks1iuB2gzN7OxPPFo6mrDBK5E7x749jpoTvlrHHi/xgEj2ibWZdkQg+uSx6uTnZajqqoaTNoBphAzyLL4imsO4AeQ/PQgOW3aU9f6g273k+E31WLRKjvsonanFqJ3WO8UWqrK7DgJQ3IYu6A2wAyuj3dkXnnQKLV1IdReZg4T1PlzDJe33APmhj1i0lTdk3fHGPrnvApXXKXjDla/sfbRg605YyQozystS55JOBbAPOv3zW07xuMbGARAkLgy42/znB8ll1oMCRWKPBbeUMKzIsV+P++IvO/eDZJUMtDbgMPgq+eTujWQilF8ZfKmpxocXaGumEvh8IkWZZ2bsjckbEWcMoAU+UPLmhEecXjFOenbhF547s3sUBZ66AJyHDqWsi7yI0SPxVslZa3xaB0ukDHnsMYiIRqFfRjiVJ5pDjzgFUvCZTIsmnUWsqQv7zJJnJ/Xd+yxeuJ7+gosmr9bPnA0/oGQnR/+W1HuAGiQtxjsF
Hi Chris,
In case it helps (ie I implore you to implement this :-), here are the specs we gave to Unicon when we commissioned the work to publish Grouper messages to a topic exchange:
The JSON messages will be published to a RabbitMQ topic exchange. The message routing key will be based on the group ID path (a colon-delimited path) and should be configurable in a properties files. This property will consist of one or more regular expressions, which when matched will lead to a substitution command that is applied to the matched group ID path. Colons should always be converted into a period, even if that is not specified in the substitution command. Here is an example using vi syntax:
s/^hawaii.edu:\(auto:sis:registration:.*\)(enrolled|waitlisted|withdrawn)$|group.modify./\1/
so if group in message is:
hawaii.edu:auto:sis:registration:MAN:MATH:100:123456:201410:enrolled
the message routing key for the message would be:
group.modify.auto.sis.registration.MAN.MATH.100.123456.201410
If no regular expressions are defined, simply substitute colons with periods.
If a JSON message has no group ID path associated with it, the properties file should allow us to use regular _expression_ as done above to map strings from the JSON message into a message routing key. For example:
s/"setAttribute"/attribute.set/
-julio
In case it helps (ie I implore you to implement this :-), here are the specs we gave to Unicon when we commissioned the work to publish Grouper messages to a topic exchange:
The JSON messages will be published to a RabbitMQ topic exchange. The message routing key will be based on the group ID path (a colon-delimited path) and should be configurable in a properties files. This property will consist of one or more regular expressions, which when matched will lead to a substitution command that is applied to the matched group ID path. Colons should always be converted into a period, even if that is not specified in the substitution command. Here is an example using vi syntax:
s/^hawaii.edu:\(auto:sis:registration:.*\)(enrolled|waitlisted|withdrawn)$|group.modify./\1/
so if group in message is:
hawaii.edu:auto:sis:registration:MAN:MATH:100:123456:201410:enrolled
the message routing key for the message would be:
group.modify.auto.sis.registration.MAN.MATH.100.123456.201410
If no regular expressions are defined, simply substitute colons with periods.
If a JSON message has no group ID path associated with it, the properties file should allow us to use regular _expression_ as done above to map strings from the JSON message into a message routing key. For example:
s/"setAttribute"/attribute.set/
-julio
On Wed, Dec 19, 2018 at 7:27 AM Gettes, Michael <> wrote:
Please provide support (or continue the support) for sending directly to a topic exchange. The grouper code does it now and so does the Hawaii code. As you note, setting group name into the routing key will go a long way.
Chris, do you want me to dig up the email from a few months ago where this was all outlined or do you still have it?
/mrg
On Dec 19, 2018, at 12:16 PM, Ruch,Jeff <> wrote:
I believe if you can set the path of the group as the routing key, that is all that is needed.
You should then be able to use rabbitmq shovel to move the messages from the grouper configured queue to a topic exchange. The topic exchange will allow the routing of messages based on the routing key. It supports wildcard filtering as well.
Jeff
From: Vivek Sachdeva <>
Sent: Tuesday, December 18, 2018 9:35:53 PM
To: Hyzer, Chris
Cc: Gettes, Michael; Ruch,Jeff;
Subject: Re: [grouper-users] RabbitMq RoutingYes, routing key is already supported but adding group name is not there yet.
Thanks,Vivek
On Tue, Dec 18, 2018 at 7:30 PM Hyzer, Chris <> wrote:
Vivek, isn’t this already in Grouper? Or is the gap having the group name dynamically put in the message? Let us know what is missing and we might be able to fix asap.
Thanks
Chris
-----Original Message-----
From: <> On Behalf Of Gettes, Michael
Sent: Monday, December 17, 2018 12:51 PM
To: Jeff <>
Cc:
Subject: Re: [grouper-users] RabbitMq Routing
The built-in to Grouper code doesn’t have this ability but the Hawaii code (they commissioned Unicon) does have the ability to pass the group name in the routing code. I have requested the Unicon code be combined with the built-in code. Not sure where all this stands as this was part of the request prior to TechEx regarding “what do people want”.
The Hawaii code I am referring to is at https://github.com/Unicon/grouper-amqp-esb-publisher
/mrg
> On Dec 17, 2018, at 12:38 PM, Jeff <> wrote:
>
>
> Hi,
>
> I would like Grouper to publish to RabbitMQ queues based on Grouper folder
> path. I believe this is supported in RabbitMQ using a topic exchange and
> routing keys. Currently, Grouper publishes directly to a RabbitMQ queue.
>
> Is there a way to do this either through configuration, or through another
> approach?
>
> Thanks,
>
> Jeff Ruch
> Colorado State University
- [grouper-users] RabbitMq Routing, Jeff, 12/17/2018
- Re: [grouper-users] RabbitMq Routing, Gettes, Michael, 12/17/2018
- Re: [grouper-users] RabbitMq Routing, Ruch,Jeff, 12/17/2018
- RE: [grouper-users] RabbitMq Routing, Hyzer, Chris, 12/19/2018
- Re: [grouper-users] RabbitMq Routing, Vivek Sachdeva, 12/19/2018
- Re: [grouper-users] RabbitMq Routing, Ruch,Jeff, 12/19/2018
- RE: [grouper-users] RabbitMq Routing, Hyzer, Chris, 12/19/2018
- Re: [grouper-users] RabbitMq Routing, Ruch,Jeff, 12/19/2018
- Re: [grouper-users] RabbitMq Routing, Gettes, Michael, 12/19/2018
- Re: [grouper-users] RabbitMq Routing, Julio Polo, 12/19/2018
- RE: [grouper-users] RabbitMq Routing, Hyzer, Chris, 12/30/2018
- Re: [grouper-users] RabbitMq Routing, Keith Hazelton, 12/30/2018
- Re: [grouper-users] RabbitMq Routing, Gettes, Michael, 12/30/2018
- Re: [grouper-users] RabbitMq Routing, Ruch,Jeff, 12/31/2018
- Re: [grouper-users] RabbitMq Routing, Julio Polo, 12/19/2018
- RE: [grouper-users] RabbitMq Routing, Hyzer, Chris, 12/19/2018
- Re: [grouper-users] RabbitMq Routing, Ruch,Jeff, 12/19/2018
- Re: [grouper-users] RabbitMq Routing, Vivek Sachdeva, 12/19/2018
- Re: [grouper-users] RabbitMq Routing, Gettes, Michael, 12/17/2018
Archive powered by MHonArc 2.6.19.