In a Grouper v2.5 container build we will re-organize the configuration for external systems. In general this will consolidate most the credentials that grouper uses (except to its own database).
In the Grouper UI you will be able to review all the configured external systems in one place with an easy-to-use UI.
We will try not to make changes to how these things are configured so that few or no changes are needed to leverage the new functionality.
This will assume you are storing configuration in the database, since the UI needs to save its settings. If you do not want encrypted passwords in the database you will be able to enter a scriptlet to get the password from an environment variable or other place.
UI changes to "misc"
- In "Misc" will we re-organize and have a top section for Grouper registry end user links, and an "Administration" section (the only shows for administrators) that move the following links underneath
- Configure
- Daemon jobs
- Loader jobs
- External systems (e.g. LDAP, database, etc)
- Subject API diagnostics
- Unresolvable subject
Screens
- Main screen shows table of external system sorted by type, and name
- Name
- Type
- Show some of the configuration
- If enabled
- "Test all" button
- Drop down with actions (View, Edit, Delete, Enable, Disable, Test)
- Detail screen
- Drop down to
- View
- Enable/disable
- Test
- Edit
- Delete (with a confirm)
- Show all configuration readonly
- Test by default and show status at top
- Section for "Used by" (which provisioners/loaders use it, clickable to each provisioner/loader (TODO LATER)
- Drop down to
- Edit screen
- Standard label/form element/documentation look and feel, indicator if required, etc
- Allow scriptlets for value (checkbox)
- Checkbox for if password
- Show default value if not entered
Technical details
- GrouperExternalSystem abstract class per type (one for LDAP, one for SQL, etc)
- configId property
- enabled property
- Validate (test) method (optional)
- saveConfig() method
- listAllExternalSystemsOfThisType() method to get a list of all of this type (e.g. all LDAP systems)
- retrieveAllUsedBy() returns everything that uses this
- GrouperExternalSystemUsedBy
- name
- links to externalized text
- return list of attributes
- GrouperExternalSystemAttribute
- type
- standard validations
- links to externalized text
- order
- required?
- get value
- configSuffix
- default value
Identify the external systems and properties
LDAP
Attribute | Type | Notes |
---|---|---|
Database