Grouper SQL provisioner startWith scaffolding
Start with: Common SQL pattern
First six fields can show one at a time when the previous is filled in
SQL external system ID (required)
SQL pattern: drop down with options below (show after external system selected)
entityTable
init membership structure to notApplicable
init start with entity table to true
init start with entity table name to: from_grouper_entity
init start with entity primary key column: entity_uuid
init start with entity primary key value: entityUuid
init start with entity other columns as: subject_id
init start with entity link false
entityTableWithAttributeTable
init membership structure to notApplicable
same as entity table init
entity attribute table name init to from_grouper_entity_attr
foreign key to entity table entity_uuid
column name which is the attribute name: attribute_name
column name which is the attribute value: attribute_value
entityTableWithAttributeTableAndMemberships
same as entity table init
same as entitiesTableWithAttributesTable
membership structure: entityAttributes
membership attribute: memberOf
init entityLink to true
entityTableMembershipTable
same as entityTable init
same as membershipTable init
init start with membership table entity column name: entity_uuid (not subject_id)
init start with membership table entity column value: entityUuid (not subjectId)
init entityLink to true
groupTable
init membership structure to notApplicable
init start with group table to true
init start with group table name to: from_grouper_group
init start with group primary key column: group_id_index
init start with group other columns as: groupIdIndex
init start with group link false
groupTableWithAttributeTable
same as groupTable init
group attribute table name init to from_grouper_group_attr
foreign key to entity table entity_id_index
column name which is the attribute name: attribute_name
column name which is the attribute value: attribute_value
groupTableWithAttributeTableAndMemberships
same as groupTableWithAttributeTable init
membership structure: groupAttributes
membership attribute: hasMember
init groupLink to true
groupTableMembershipTable
same as groupTable init
same as membershipTable init
init start with membership table group column name: group_id_index (not group_name)
init start with membership table group column value: groupIdIndex (not groupName)
init groupLink to true
groupTableEntityTableMembershipTable
same as groupTable init
same as entityTable init
same as membershipTable init
membership table group column is: group_id_index
membership table group value is: groupIdIndex
membership table entity column is: entity_uuid
membership table entity value is: entityUuid
init groupLink to true
init entityLink to true
membershipTable
membership structure: membershipObjects
init start with membership table to true
init start with membership table name to: from_grouper_mship
init start with group column: group_name
init start with group value: groupName
init start with entity column: subject_id
init start with entity value: subjectId
init groupLink to false
init entityLink to false
other
proceed with screen
User attributes type: drop down with options, required (show after ldap pattern)
Only uses built in core attributes e.g. subjectId, subjectIdentifier0-2, email, name, description or translations of those (value: core)
Needs other subject source attributes (value: subjectSource)
Needs a SQL or LDAP filter, but not other subject attributes. If LDAP this is a different LDAP than the LDAP provisioning to (value: entityResolver)
Needs subject source source attributes and SQL or LDAP filter. If LDAP this is a different LDAP than the LDAP provisioning to (value: subjectSourceAndEntityResolver)
Membership structure (default to membershipObjects): entityAttributes, groupAttributes, membershipObjects, notApplicable
if (user attribute type is subjectSource or subjectSourceAndEntityResolver)
list those attributes and validate against subject source (textfield, comma separated attributes, required)
Ask if has group table (default false)
If has group table, ask for group table name (required, validate on submit) (suggest: from_grouper_group)
If has group table, ask for group primary key column (suggest group_id_index) (required, validate on submit)
If has group table, ask for group primary key value (suggest groupIdIndex) (drop down required) (other, script, groupExtension, groupIdIndex, groupName, groupPrimaryKey, groupUuid)
If has group table, ask for list of other group columns, suggest names: group_uuid, group_name, group_id_index, group_extension, group_display_name, group_display_extension, group_description
Ask if need group link (optional, grouper will try to deduce this)
If has group table, ask if has group attribute table (to store multi-valued attributes or memberships, not common)
If has group attribute table, ask for group attribute table name (required, validate on submit)
If has group attribute table, ask for column name which is foreign key to group table (suggest group_uuid) (required, validate on submit)
If has group attribute table, ask for column name which is the attribute name (suggest attribute_name) (required, validate on submit)
If has group attribute table, ask for column name which is the attribute value (suggest attribute_value) (required, validate on submit)
If groupAttributes membership structure, ask for the membership attribute name (required)
If groupAttributes membership structure, ask for membership value (drop down required) (entityPrimaryKey, other, script, subjectId, subjectIdentifier0, subjectIdentifier1, subjectIdentifier2)
If has group attribute table, ask for other attribute names in attribute table (optional)
Ask if has entity table (default false)
If has entity table, ask for entity table name (required, validate on submit)
If has entity table, ask for entity primary key column (suggest entity_uuid) (required, validate on submit)
If has entity table, ask for entity primary key value (suggest entityUuid) (drop down required) (other, script, email, entity_uuid, entity_description, entity_name, subject_id, subject_identifier0, subject_identifier1, subject_identifier2)
If has entity table, ask for list of other entity columns, suggest names: email, entity_uuid, entity_description, entity_name, subject_id, subject_identifier0, subject_identifier1, subject_identifier2
Ask if need entity link (boolean optional grouper will try to deduce this)
If has entity table, ask if has entity attribute table (to store multi-valued attributes or memberships, not common)
If has entity attribute table, ask for entity attribute table name (required, validate on submit)
If has entity attribute table, ask for column name which is foreign key to entity table (suggest entity_uuid) (required, validate on submit)
If has entity attribute table, ask for column name which is the attribute name (suggest attribute_name) (required, validate on submit)
If has entity attribute table, ask for column name which is the attribute value (suggest attribute_value) (required, validate on submit)
If entityAttributes membership structure, ask for the membership attribute name (required)
If entityAttributes membership structure, ask for membership value (drop down required) (other, script, groupExtension, groupIdIndex, groupName, groupPrimaryKey, groupUuid)
If has entity attribute table, ask for other attribute names in attribute table (optional)
Ask if has membership table (default false)
Ask for membership table name: (suggest: from_grouper_mship)
Ask for group column (required, validate on submit)
Ask for group value (drop down required) (other, script, groupExtension, groupIdIndex, groupName, groupPrimaryKey, groupUuid)
Ask for entity column (required, validate on submit)
Ask for entity value (drop down required) (entityPrimaryKey, other, script, subjectId, subjectIdentifier0, subjectIdentifier1, subjectIdentifier2)
Add disabled full sync daemon? boolean default to true
Add disabled incremental sync daemon? boolean default to true