This example shows how to setup a dummy provisioner (does not actually provision or even have a provisioning daemon), but allows the provisionable screen to have metadata.
Alternatives: use the attribute framework UI, or a GSH template
Advantages of doing this:
- Can delegate using the provisioning security
- Can have a more usable screen with labels and documentation
- Can easily see which groups are managed
- Summary provisioning screen shows number of objects
Disadvantages
- Document this internally so admins know this is not a real provisioner
There is a provisioner without provisioning daemons that exists just so things can be easily assigned with a form for the settings of days back and entity id
grouper-loader.properties
provisioner.webloginServiceProviderRecentUsersToGroup. class = edu.internet2.middleware.grouper.app.sqlProvisioning.SqlProvisioner
provisioner.webloginServiceProviderRecentUsersToGroup.configureMetadata = true
provisioner.webloginServiceProviderRecentUsersToGroup.customizeGroupCrud = true
provisioner.webloginServiceProviderRecentUsersToGroup.dbExternalSystemConfigId = grouper
provisioner.webloginServiceProviderRecentUsersToGroup.deleteGroups = false
provisioner.webloginServiceProviderRecentUsersToGroup.groupAttributeValueCacheHas = true
provisioner.webloginServiceProviderRecentUsersToGroup.groupTableIdColumn = id
provisioner.webloginServiceProviderRecentUsersToGroup.groupTableName = some_table_doesnt_exist
provisioner.webloginServiceProviderRecentUsersToGroup.insertGroups = false
provisioner.webloginServiceProviderRecentUsersToGroup.metadata. 0 .name = md_entityId
provisioner.webloginServiceProviderRecentUsersToGroup.metadata. 0 .required = true
provisioner.webloginServiceProviderRecentUsersToGroup.metadata. 0 .showForGroup = true
provisioner.webloginServiceProviderRecentUsersToGroup.metadata. 1 .name = md_days
provisioner.webloginServiceProviderRecentUsersToGroup.metadata. 1 .required = true
provisioner.webloginServiceProviderRecentUsersToGroup.metadata. 1 .showForGroup = true
provisioner.webloginServiceProviderRecentUsersToGroup.metadata. 1 .valueType = integer
provisioner.webloginServiceProviderRecentUsersToGroup.numberOfGroupAttributes = 1
provisioner.webloginServiceProviderRecentUsersToGroup.numberOfMetadata = 2
provisioner.webloginServiceProviderRecentUsersToGroup.operateOnGrouperGroups = true
provisioner.webloginServiceProviderRecentUsersToGroup.selectGroups = false
provisioner.webloginServiceProviderRecentUsersToGroup.startWith = this is start with read only
provisioner.webloginServiceProviderRecentUsersToGroup.targetGroupAttribute. 0 .name = id
provisioner.webloginServiceProviderRecentUsersToGroup.targetGroupAttribute. 0 .translateExpressionType = grouperProvisioningGroupField
provisioner.webloginServiceProviderRecentUsersToGroup.targetGroupAttribute. 0 .translateFromGrouperProvisioningGroupField = id
provisioner.webloginServiceProviderRecentUsersToGroup.updateGroups = false
|
Externalized text in grouper.textNg.en.us.base.properties
md_days_webloginServiceProviderRecentUsersToGroup_label = Days back
md_days_webloginServiceProviderRecentUsersToGroup_description = Number of days from 1 to 60 . i.e. if 7 is entered then the group will be loaded with users who have logged in within the last week.
md_entityId_webloginServiceProviderRecentUsersToGroup_label = Service provider entity id
md_entityId_webloginServiceProviderRecentUsersToGroup_description = SAML entity id of the application the user is logging in to. You can get this from SAML tracer (Firefox) when logging in to the app.
|
Click here to see provisioning configuration in UI...
See this document for an example of using the metadata from a script daemon