Versions Compared

Key

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

The Grouper custom UI

  • Helps end users and administrators view and troubleshoot access state and problems
  • Allows end users to easily opt in or opt out of a group without all the bells and whistles of the Grouper UI

This is a new feature in 2.4.57+

To use this a group is configured with attributes

  • customUi (marker)
    • customUiOverallBean (overall configuration)
    • customUiUserQueryConfigBeans (set variables)
    • customUiTextConfigBeans (use those variables to change the UI)

Then there is link in the More Actions menu

Image Added


Example configuration


Image Added


Configuration attributes

The configuration is simple javabeans in JSON format

Overall bean

FieldTypeDescription
managersCanSeeUserEnvironmentBooleanif managers can see user environment (default true)
managersCanAssignVariablesBooleanif managers can assign variables in browser for testing (default false)
managersCanSeeScreenStateBooleanif managers can see screen state (default false)
usersCanSeeUserEnvironmentBooleanif users can see environment table (default false)
emailEnrollSubjectStringsubject of email when someone enrolls
emailEnrollBodyStringbody of email when someone enrolls
emailUnenrollSubjectStringsubject of email when someone unenrolls
emailUnenrollBodyStringbody of email when someone unenrolls
sendEmailWhenManagerMakesChangesBooleanif user is emailed when manager adds/removes from custom ui
emailToUserBooleanif user is emailed when using join/leave
emailBccToGroupNameStringgroup name that is bcc'ed on usage


GSH example to generate the JSON

Code Block
    customUiOverallBean = new edu.internet2.middleware.grouper.ui.customUi.CustomUiOverallBean();
    customUiOverallBean.setManagersCanAssignVariables(true);
    customUiOverallBean.setEmailToUser(true);
    customUiOverallBean.setEmailBccToGroupName("penn:isc:ait:apps:O365:twoStepProd:simpleEnrollUnenroll:o365twoStepAllowedToAdmin");
    customUiOverallBean.setEmailEnrollBody("${textContainer.text['penn_o365twoStep_enroll_emailBody']}");
    customUiOverallBean.setEmailEnrollSubject("${textContainer.text['penn_o365twoStep_enroll_emailSubject']}");
    customUiOverallBean.setEmailUnenrollBody("${textContainer.text['penn_o365twoStep_unenroll_emailBody']}");
    customUiOverallBean.setEmailUnenrollSubject("${textContainer.text['penn_o365twoStep_unenroll_emailSubject']}");
    customUiOverallBean.setSendEmailWhenManagerMakesChanges(true);
    customUiOverallBean.setManagersCanSeeScreenState(true);
    customUiOverallBean.setManagersCanSeeUserEnvironment(false);
    System.out.println(GrouperUtil.jsonConvertTo(customUiOverallBean, false));



Example JSON

Code Block
{
   "managersCanSeeUserEnvironment":false,
   "emailEnrollBody":"${textContainer.text['penn_o365twoStep_enroll_emailBody']}",
   "emailEnrollSubject":"${textContainer.text['penn_o365twoStep_enroll_emailSubject']}",
   "emailToUser":true,
   "emailUnenrollBody":"${textContainer.text['penn_o365twoStep_unenroll_emailBody']}",
   "emailBccToGroupName":"penn:isc:ait:apps:O365:twoStepProd:simpleEnrollUnenroll:o365twoStepAllowedToAdmin",
   "sendEmailWhenManagerMakesChanges":true,
   "managersCanSeeScreenState":true,
   "emailUnenrollSubject":"${textContainer.text['penn_o365twoStep_unenroll_emailSubject']}",
   "managersCanAssignVariables":true
}


User query config bean




Azure membership

Configure in grouper.properties

...