From cd48b2e61b9b2eae457eb0f659ae2d64141b0c0b Mon Sep 17 00:00:00 2001 From: Chad Redman Date: Wed, 17 Jan 2024 00:10:35 -0500 Subject: [PATCH] HR data fields [ci skip] --- .../container_files/grouper/bootstrap.gsh | 158 ++++++++++++++++++ 1 file changed, 158 insertions(+) diff --git a/ex101/ex101.1.1/container_files/grouper/bootstrap.gsh b/ex101/ex101.1.1/container_files/grouper/bootstrap.gsh index 229cde4..86b661a 100644 --- a/ex101/ex101.1.1/container_files/grouper/bootstrap.gsh +++ b/ex101/ex101.1.1/container_files/grouper/bootstrap.gsh @@ -603,3 +603,161 @@ GrouperLoader.scheduleJobs() // looks like this needs to be called after scheduleJobs() in order to be effective GrouperLoader.schedulerFactory().getScheduler().pauseJob(new JobKey("CHANGE_LOG_consumer_provisioner_incremental_eduPersonAffiliation")) + + +/***** Data fields *****/ + +config = new GrouperDbConfig().configFileName("grouper.properties") + +config.propertyName("grouperPrivacyRealm.hr_employees.privacyRealmName").value('''hr_employees''').store() +config.propertyName("grouperPrivacyRealm.hr_employees.privacyRealmPublic").value('''true''').store() +config.propertyName("grouperPrivacyRealm.sis_courses.privacyRealmName").value('''sis_courses''').store() +config.propertyName("grouperPrivacyRealm.sis_courses.privacyRealmPublic").value('''true''').store() +config.propertyName("grouperPrivacyRealm.sis_programs.privacyRealmName").value('''sis_programs''').store() +config.propertyName("grouperPrivacyRealm.sis_programs.privacyRealmPublic").value('''true''').store() +config.propertyName("grouperDataField.hr_dept_abbrev.descriptionHtml").value('''HR Department Code''').store() +config.propertyName("grouperDataField.hr_dept_abbrev.fieldAliases").value('''dept_code''').store() +config.propertyName("grouperDataField.hr_dept_abbrev.fieldDataAssignableTo").value('''individuals''').store() +config.propertyName("grouperDataField.hr_dept_abbrev.fieldDataStorePit").value('''false''').store() +config.propertyName("grouperDataField.hr_dept_abbrev.fieldDataStructure").value('''rowColumn''').store() +config.propertyName("grouperDataField.hr_dept_abbrev.fieldDataType").value('''string''').store() +config.propertyName("grouperDataField.hr_dept_abbrev.fieldDataUse").value('''informational''').store() +config.propertyName("grouperDataField.hr_dept_abbrev.fieldMultiValued").value('''true''').store() +config.propertyName("grouperDataField.hr_dept_abbrev.fieldPrivacyRealm").value('''hr_employees''').store() +config.propertyName("grouperDataField.hr_dept_id.descriptionHtml").value('''HR 5-digit Department ID''').store() +config.propertyName("grouperDataField.hr_dept_id.fieldAliases").value('''dept_id''').store() +config.propertyName("grouperDataField.hr_dept_id.fieldDataAssignableTo").value('''individuals''').store() +config.propertyName("grouperDataField.hr_dept_id.fieldDataStorePit").value('''false''').store() +config.propertyName("grouperDataField.hr_dept_id.fieldDataStructure").value('''rowColumn''').store() +config.propertyName("grouperDataField.hr_dept_id.fieldDataType").value('''string''').store() +config.propertyName("grouperDataField.hr_dept_id.fieldDataUse").value('''informational''').store() +config.propertyName("grouperDataField.hr_dept_id.fieldMultiValued").value('''true''').store() +config.propertyName("grouperDataField.hr_dept_id.fieldPrivacyRealm").value('''hr_employees''').store() +config.propertyName("grouperDataField.hr_dept_name.descriptionHtml").value('''HR Department Name''').store() +config.propertyName("grouperDataField.hr_dept_name.fieldAliases").value('''dept_name''').store() +config.propertyName("grouperDataField.hr_dept_name.fieldDataAssignableTo").value('''individuals''').store() +config.propertyName("grouperDataField.hr_dept_name.fieldDataStorePit").value('''false''').store() +config.propertyName("grouperDataField.hr_dept_name.fieldDataStructure").value('''rowColumn''').store() +config.propertyName("grouperDataField.hr_dept_name.fieldDataType").value('''string''').store() +config.propertyName("grouperDataField.hr_dept_name.fieldDataUse").value('''informational''').store() +config.propertyName("grouperDataField.hr_dept_name.fieldMultiValued").value('''true''').store() +config.propertyName("grouperDataField.hr_dept_name.fieldPrivacyRealm").value('''hr_employees''').store() +config.propertyName("grouperDataField.hr_org_abbrev.descriptionHtml").value('''Umbrella Org Short Code''').store() +config.propertyName("grouperDataField.hr_org_abbrev.fieldAliases").value('''org_code''').store() +config.propertyName("grouperDataField.hr_org_abbrev.fieldDataAssignableTo").value('''individuals''').store() +config.propertyName("grouperDataField.hr_org_abbrev.fieldDataStorePit").value('''false''').store() +config.propertyName("grouperDataField.hr_org_abbrev.fieldDataStructure").value('''rowColumn''').store() +config.propertyName("grouperDataField.hr_org_abbrev.fieldDataType").value('''string''').store() +config.propertyName("grouperDataField.hr_org_abbrev.fieldDataUse").value('''informational''').store() +config.propertyName("grouperDataField.hr_org_abbrev.fieldMultiValued").value('''true''').store() +config.propertyName("grouperDataField.hr_org_abbrev.fieldPrivacyRealm").value('''hr_employees''').store() +config.propertyName("grouperDataField.hr_org_name.descriptionHtml").value('''Umbrella Org Name''').store() +config.propertyName("grouperDataField.hr_org_name.fieldAliases").value('''org_name''').store() +config.propertyName("grouperDataField.hr_org_name.fieldDataAssignableTo").value('''individuals''').store() +config.propertyName("grouperDataField.hr_org_name.fieldDataStorePit").value('''false''').store() +config.propertyName("grouperDataField.hr_org_name.fieldDataStructure").value('''rowColumn''').store() +config.propertyName("grouperDataField.hr_org_name.fieldDataType").value('''string''').store() +config.propertyName("grouperDataField.hr_org_name.fieldDataUse").value('''informational''').store() +config.propertyName("grouperDataField.hr_org_name.fieldMultiValued").value('''true''').store() +config.propertyName("grouperDataField.hr_org_name.fieldPrivacyRealm").value('''hr_employees''').store() +config.propertyName("grouperDataField.hr_parent_dept_abbrev.descriptionHtml").value('''HR Parent Dept Code''').store() +config.propertyName("grouperDataField.hr_parent_dept_abbrev.fieldAliases").value('''parent_dept_code''').store() +config.propertyName("grouperDataField.hr_parent_dept_abbrev.fieldDataAssignableTo").value('''individuals''').store() +config.propertyName("grouperDataField.hr_parent_dept_abbrev.fieldDataStorePit").value('''false''').store() +config.propertyName("grouperDataField.hr_parent_dept_abbrev.fieldDataStructure").value('''rowColumn''').store() +config.propertyName("grouperDataField.hr_parent_dept_abbrev.fieldDataType").value('''string''').store() +config.propertyName("grouperDataField.hr_parent_dept_abbrev.fieldDataUse").value('''informational''').store() +config.propertyName("grouperDataField.hr_parent_dept_abbrev.fieldMultiValued").value('''true''').store() +config.propertyName("grouperDataField.hr_parent_dept_abbrev.fieldPrivacyRealm").value('''hr_employees''').store() +config.propertyName("grouperDataField.hr_parent_dept_id.descriptionHtml").value('''HR 5-digit Parent Dept Id''').store() +config.propertyName("grouperDataField.hr_parent_dept_id.fieldAliases").value('''parent_dept_id''').store() +config.propertyName("grouperDataField.hr_parent_dept_id.fieldDataAssignableTo").value('''individuals''').store() +config.propertyName("grouperDataField.hr_parent_dept_id.fieldDataStorePit").value('''false''').store() +config.propertyName("grouperDataField.hr_parent_dept_id.fieldDataStructure").value('''rowColumn''').store() +config.propertyName("grouperDataField.hr_parent_dept_id.fieldDataType").value('''string''').store() +config.propertyName("grouperDataField.hr_parent_dept_id.fieldDataUse").value('''informational''').store() +config.propertyName("grouperDataField.hr_parent_dept_id.fieldMultiValued").value('''true''').store() +config.propertyName("grouperDataField.hr_parent_dept_id.fieldPrivacyRealm").value('''hr_employees''').store() +config.propertyName("grouperDataField.hr_position_id.descriptionHtml").value('''The Position ID''').store() +config.propertyName("grouperDataField.hr_position_id.fieldAliases").value('''position_id''').store() +config.propertyName("grouperDataField.hr_position_id.fieldDataAssignableTo").value('''individuals''').store() +config.propertyName("grouperDataField.hr_position_id.fieldDataStorePit").value('''false''').store() +config.propertyName("grouperDataField.hr_position_id.fieldDataStructure").value('''rowColumn''').store() +config.propertyName("grouperDataField.hr_position_id.fieldDataType").value('''string''').store() +config.propertyName("grouperDataField.hr_position_id.fieldDataUse").value('''informational''').store() +config.propertyName("grouperDataField.hr_position_id.fieldMultiValued").value('''true''').store() +config.propertyName("grouperDataField.hr_position_id.fieldPrivacyRealm").value('''hr_employees''').store() +config.propertyName("grouperDataField.hr_role.descriptionHtml").value('''HR Role (staff, faculty, etc))''').store() +config.propertyName("grouperDataField.hr_role.fieldAliases").value('''role''').store() +config.propertyName("grouperDataField.hr_role.fieldDataAssignableTo").value('''individuals''').store() +config.propertyName("grouperDataField.hr_role.fieldDataStorePit").value('''false''').store() +config.propertyName("grouperDataField.hr_role.fieldDataStructure").value('''rowColumn''').store() +config.propertyName("grouperDataField.hr_role.fieldDataType").value('''string''').store() +config.propertyName("grouperDataField.hr_role.fieldDataUse").value('''informational''').store() +config.propertyName("grouperDataField.hr_role.fieldMultiValued").value('''true''').store() +config.propertyName("grouperDataField.hr_role.fieldPrivacyRealm").value('''hr_employees''').store() +config.propertyName("grouperDataProvider.hr_data.name").value('''hr_data''').store() +config.propertyName("grouperDataProvider.sis_data.name").value('''sis_data''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerConfigId").value('''hr_data''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.0.providerDataFieldAttribute").value('''position_id''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.0.providerDataFieldConfigId").value('''hr_position_id''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.0.providerDataFieldMappingType").value('''attribute''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.1.providerDataFieldAttribute").value('''role''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.1.providerDataFieldConfigId").value('''hr_role''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.1.providerDataFieldMappingType").value('''attribute''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.2.providerDataFieldAttribute").value('''dept_id''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.2.providerDataFieldConfigId").value('''hr_dept_id''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.2.providerDataFieldMappingType").value('''attribute''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.3.providerDataFieldAttribute").value('''dept_name''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.3.providerDataFieldConfigId").value('''hr_dept_name''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.3.providerDataFieldMappingType").value('''attribute''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.4.providerDataFieldAttribute").value('''parent_dept_id''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.4.providerDataFieldConfigId").value('''hr_parent_dept_id''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.4.providerDataFieldMappingType").value('''attribute''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.5.providerDataFieldAttribute").value('''parent_dept_abbrev''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.5.providerDataFieldConfigId").value('''hr_parent_dept_abbrev''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.5.providerDataFieldMappingType").value('''attribute''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.6.providerDataFieldAttribute").value('''org_abbrev''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.6.providerDataFieldConfigId").value('''hr_org_abbrev''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.6.providerDataFieldMappingType").value('''attribute''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.7.providerDataFieldAttribute").value('''org_name''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.7.providerDataFieldConfigId").value('''hr_org_name''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.7.providerDataFieldMappingType").value('''attribute''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.8.providerDataFieldAttribute").value('''dept_abbrev''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.8.providerDataFieldConfigId").value('''hr_dept_abbrev''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataField.8.providerDataFieldMappingType").value('''attribute''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryDataStructure").value('''row''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryNumberOfDataFields").value('''9''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryRowConfigId").value('''hr_positions''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQuerySqlConfigId").value('''hr''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQuerySqlQuery").value('''select J.person_id, P.position_id, P.role, D.dept_id, D.abbrev as dept_abbrev, D.name as dept_name, PD.dept_id as parent_dept_id, PD.abbrev as parent_dept_abbrev, Org.abbrev as org_abbrev, OrgDept.name as org_name from hr_jobs J join hr_positions P on J.position_id = P.position_id join hr_depts D on P.dept_id = D.dept_id left join hr_depts PD on D.parent_dept_id = PD.dept_id left join hr_orgs Org on D.dept_id between Org.min_dept_id and Org.max_dept_id left join hr_depts OrgDept on Org.dept_id = OrgDept.dept_id''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQuerySubjectIdAttribute").value('''person_id''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQuerySubjectIdType").value('''subjectId''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQuerySubjectSourceId").value('''eduLDAP''').store() +config.propertyName("grouperDataProviderQuery.hr_person_positions.providerQueryType").value('''sql''').store() +config.propertyName("grouperDataRow.hr_positions.descriptionHtml").value('''Something''').store() +config.propertyName("grouperDataRow.hr_positions.rowAliases").value('''hr_positions''').store() +config.propertyName("grouperDataRow.hr_positions.rowDataField.0.colDataFieldConfigId").value('''hr_position_id''').store() +config.propertyName("grouperDataRow.hr_positions.rowDataField.0.rowKeyField").value('''true''').store() +config.propertyName("grouperDataRow.hr_positions.rowDataField.1.colDataFieldConfigId").value('''hr_role''').store() +config.propertyName("grouperDataRow.hr_positions.rowDataField.2.colDataFieldConfigId").value('''hr_dept_id''').store() +config.propertyName("grouperDataRow.hr_positions.rowDataField.3.colDataFieldConfigId").value('''hr_dept_name''').store() +config.propertyName("grouperDataRow.hr_positions.rowDataField.4.colDataFieldConfigId").value('''hr_parent_dept_id''').store() +config.propertyName("grouperDataRow.hr_positions.rowDataField.5.colDataFieldConfigId").value('''hr_parent_dept_abbrev''').store() +config.propertyName("grouperDataRow.hr_positions.rowDataField.6.colDataFieldConfigId").value('''hr_dept_abbrev''').store() +config.propertyName("grouperDataRow.hr_positions.rowDataField.7.colDataFieldConfigId").value('''hr_org_abbrev''').store() +config.propertyName("grouperDataRow.hr_positions.rowDataField.8.colDataFieldConfigId").value('''hr_org_name''').store() +config.propertyName("grouperDataRow.hr_positions.rowNumberOfDataFields").value('''9''').store() +config.propertyName("grouperDataRow.hr_positions.rowPrivacyRealm").value('''hr_employees''').store() + + +config = new GrouperDbConfig().configFileName("grouper-loader.properties") + +// full sync job +config.propertyName("otherJob.dataProviderHR.class").value('''edu.internet2.middleware.grouper.dataField.GrouperDataProviderFullSyncJob''').store() +config.propertyName("otherJob.dataProviderHR.dataProviderConfigId").value('''hr_data''').store() +config.propertyName("otherJob.dataProviderHR.quartzCron").value('''0 0 5 * * ?''').store() + +// incremental sync job +config.propertyName("otherJob.dataProviderHR_incremental.class").value('''edu.internet2.middleware.grouper.dataField.GrouperDataProviderIncrementalSyncJob''').store() +config.propertyName("otherJob.dataProviderHR_incremental.dataProviderConfigId").value('''hr_data''').store()