Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Include Page
spaceKeyGrouperWGGrouper
pageTitleNavNavigation

This is an example of configuring grouper Grouper messages in the upcoming Grouper PSP NG

There could be a grouper default message config file, e.g. grouperMessageDefault.properties.  We could also have defaults for SCIM or whatever else built in preconfigured formats

Code Block
allMessages.securityUri = grouperMessageFormat:JOSE

...

Code Block
inheritFrom = file:testUniversity.properties

sendTo = testUniversityEmailGroups@prod.activeMq.testUniversity.edu

allMessages.securityUri = grouperMessageFormat:Plain

allMessages.includeOnlyEventTypes = MEMBERSHIP_ADD, MEMBERSHIP_UPDATE, MEMBERSHIP_DELETE

allMessages.filter.groupNameRegex = apps:email:groups:.*
 
# make a message like this: {"event": "add", "mailList": "it-staff", "userId": "jsmith"}
 
messageType.MEMBERSHIP_ADD.process.0.0.transform = originalMessage = result
 
messageType.MEMBERSHIP_ADD.process.1.0.transform = result = $newObject$

messageType.MEMBERSHIP_ADD.process.2.0.transform = result.event = add

messageType.MEMBERSHIP_ADD.process.3.0.transform = result.mailList = ${grouperGetGroupExtension(originalMessage.payload.groupName)}

messageType.MEMBERSHIP_ADD.process.4.0.transform = result.userId = ${originalMessage.payload.subjectId}


messageType.MEMBERSHIP_UPDATE.process.0.0.transform = originalMessage = result

messageType.MEMBERSHIP_UPDATE.process.1.0.transform = result = $newObject$

messageType.MEMBERSHIP_UPDATE.process.2.0.transform = result.event = change

messageType.MEMBERSHIP_UPDATE.process.3.0.transform = result.mailList = ${grouperGetGroupExtension(originalMessage.payload.groupName)}

messageType.MEMBERSHIP_UPDATE.process.4.0.transform = result.userId = ${originalMessage.payload.subjectId}


messageType.MEMBERSHIP_DELETE.process.0.0.transform = originalMessage = result

messageType.MEMBERSHIP_DELETE.process.1.0.transform = result = $newObject$

messageType.MEMBERSHIP_DELETE.process.2.0.transform = result.event = delete

messageType.MEMBERSHIP_DELETE.process.3.0.transform = result.mailList = ${grouperGetGroupExtension(originalMessage.payload.groupName)}

messageType.MEMBERSHIP_DELETE.process.4.0.transform = result.userId = ${originalMessage.payload.subjectId}


 

sdf

  

 

     (question) Questions or comments? (info) Contact us.

Comments: can we do java class or script instead of property file transformations?  Yes, we should

Can we do shared secret instead of JOSE certificates?  Yes, and we need to decide what the default will be

Comments from DaveL

Code Block
I'm not sure I like the transformation part.  
Secondly, I think I'd rather have individual provisioning from specific 
groups/folders configured directly on that group via ldap a-la-grouper-loader-ldap.  
 
That way when a person is looking at the group in the UI they can 
see where it's going and what it's going out as.
 
Forgot to add that config via attribute allows the grouper admins 
to delegate the management of provisioning to those who would 
ultimately manage the provisioned system.

 

See Also

Grouper Messaging System

Grouper Messaging Built-In

Message Format Detail

Grouper Messaging System Development Guide

  

 

...

    

  Include PagespaceKeyGrouperWGpageTitleNav