Starting the project
To start the project please use the following:
$ cd demo/complex $ docker-compose up
In a similar way as on the master
branch, after start up we need to upload basic configuration objects to midPoint:
$ ./after-installation.sh * Uploading objects... Uploading midpoint-objects/users/user-banderson.xml (users, e897468f-20bd-419c-8fc5-1fe60e2600de) Uploading midpoint-objects/systemConfigurations/SystemConfiguration.xml (systemConfigurations, 00000000-0000-0000-0000-000000000001) Uploading midpoint-objects/orgs/org-generic-groups.xml (orgs, 1f339075-5b2f-4a18-9c98-451f3eb0d28d) Uploading midpoint-objects/orgs/org-mailing-lists.xml (orgs, d81fb46c-20c7-44d3-8402-fef404ea1264) Uploading midpoint-objects/orgs/org-affiliations.xml (orgs, 1d7c0e3a-4456-409c-9f50-95407b2eb785) Uploading midpoint-objects/orgs/org-departments.xml (orgs, bee44c51-2469-411d-bac7-695728e9c241) Uploading midpoint-objects/orgs/org-courses.xml (orgs, 225e9360-0639-40ba-8a31-7f31bef067be) Uploading midpoint-objects/functionLibraries/function-library-grouper.xml (functionLibraries, 2eef4181-25fa-420f-909d-846a36ca90f3) Uploading midpoint-objects/roles/metarole-mailing-list.xml (roles, 1c7beff4-cdf6-4e9f-b54c-79d0766f6fbe) Uploading midpoint-objects/roles/role-ldap-basic.xml (roles, c89f31dd-8d4f-4e0a-82cb-58ff9d8c1b2f) Uploading midpoint-objects/roles/metarole-course.xml (roles, 8aa99e7b-f7d3-4585-9800-14bab4d26a43) Uploading midpoint-objects/roles/metarole-affiliation.xml (roles, fecae27b-d1d3-40ae-95fa-8f7e44e2ee70) Uploading midpoint-objects/roles/role-grouper-sysadmin.xml (roles, d48ec05b-fffd-4262-acd3-d9ff63365b62) Uploading midpoint-objects/roles/metarole-grouper-group.xml (roles, 48e231be-8474-4ed0-a85e-6acf4c5e8d52) Uploading midpoint-objects/roles/metarole-midpoint-group.xml (roles, c691e15a-f30b-4e15-8445-532db07ceeeb) Uploading midpoint-objects/roles/metarole-department.xml (roles, ffa9eaec-9539-4d15-97aa-24cd5b92ca5b) Uploading midpoint-objects/objectTemplates/template-org-affiliation.xml (objectTemplates, d87aa04f-189c-4d6f-b6e1-216dad622142) Uploading midpoint-objects/objectTemplates/template-user.xml (objectTemplates, 8098b124-c20c-4965-8adf-e528abedf7a4) Uploading midpoint-objects/objectTemplates/template-org-generic-group.xml (objectTemplates, e2a6193a-8981-4143-9da1-9a7b32c0b819) Uploading midpoint-objects/objectTemplates/template-org-department.xml (objectTemplates, 0caf2f69-7c72-4946-b218-d84e78b2a057) Uploading midpoint-objects/objectTemplates/template-role-midpoint-group.xml (objectTemplates, 804f8658-0828-4dab-a2ed-f13985e4f80b) Uploading midpoint-objects/objectTemplates/template-org-mailing-list.xml (objectTemplates, be84a39a-c004-490b-9b78-a871b837f6df) Uploading midpoint-objects/objectTemplates/template-org-course.xml (objectTemplates, d35bdec6-643b-41d8-ad5d-8eeb701169d1) Uploading midpoint-objects/resources/target-faculty-portal.xml (resources, e417225d-8a08-46f3-9b5d-624990b52386) Uploading midpoint-objects/resources/ldap-main.xml (resources, 0a37121f-d515-4a23-9b6d-554c5ef61272) Uploading midpoint-objects/resources/scriptedsql-sis-persons.xml (resources, 4d70a0da-02dd-41cf-b0a1-00e75d3eaa15) Uploading midpoint-objects/resources/resource-grouper.xml (resources, 1eff65de-5bb6-483d-9edf-8cc2c2ee0233) Uploading midpoint-objects/resources/target-mailing-lists.xml (resources, fe805d13-481b-43ec-97d8-9d2df72cd38e) Uploading midpoint-objects/resources/scriptedsql-sis-courses.xml (resources, 13660d60-071b-4596-9aa1-5efcd1256c04) Uploading midpoint-objects/resources/target-cs-portal.xml (resources, a343fc2e-3954-4034-ba1a-2b72c21e577a) * Testing LDAP and SQL resources... Resource 0a37121f-d515-4a23-9b6d-554c5ef61272 test succeeded Resource 13660d60-071b-4596-9aa1-5efcd1256c04 test succeeded Resource 4d70a0da-02dd-41cf-b0a1-00e75d3eaa15 test succeeded Resource a343fc2e-3954-4034-ba1a-2b72c21e577a test succeeded Resource e417225d-8a08-46f3-9b5d-624990b52386 test succeeded Resource fe805d13-481b-43ec-97d8-9d2df72cd38e test succeeded * Recomputing Grouper admin group and user object... Object roles/d48ec05b-fffd-4262-acd3-d9ff63365b62 recomputation succeeded Object users/e897468f-20bd-419c-8fc5-1fe60e2600de recomputation succeeded * Waiting 120 seconds for changes to propagate to Grouper... * Testing Grouper resource... Resource 1eff65de-5bb6-483d-9edf-8cc2c2ee0233 test succeeded * Done
Then we need to import data from SIS:
$ ./upload-import-sis-persons.sh Uploading midpoint-objects-manual/tasks/task-import-sis-persons.xml (tasks, 22c2a3d0-0961-4255-9eec-c550a79aeaaa)
Now wait for the task to successfully finish, checking it e.g. via GUI or by running:
$ ./get-import-sis-persons-status.sh % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 21678 0 21450 100 228 246k 2682 --:--:-- --:--:-- --:--:-- 249k Task execution status: closed
And
$ ./upload-import-sis-courses.sh Uploading midpoint-objects-manual/tasks/task-import-sis-courses.xml (tasks, b73a2e66-8233-4c20-928f-acb30027b33e)
(and wait for this task to finish as well; checking via GUI or using get-import-sis-courses-status.sh
)
After that, we need to add groups in ref
stem that have been just imported to etc:midpointGroups
and some other ones:
$ ./add-ref-groups.sh ... ===> Group[name=app:cs,uuid=8bdc671be953440aa43230a5a0c3d13c] Adding: Group[name=ref:affiliation:alum,uuid=a8391a22fc154e42aa00e24ceb8c2880] Ignoring: Group[name=ref:affiliation:alum_excludes,uuid=af581cb6fce74a3d884e707a3dd76fd4] Ignoring: Group[name=ref:affiliation:alum_includes,uuid=786ebc91f0e3441393558b292a125c75] Ignoring: Group[name=ref:affiliation:alum_systemOfRecord,uuid=7a8e0a96382040818e0076d5dc47d06f] Ignoring: Group[name=ref:affiliation:alum_systemOfRecordAndIncludes,uuid=9b80e51e16e340138f00a32b70dc6fd1] Adding: Group[name=ref:affiliation:community,uuid=766b924bd9724d7b84e3cb647f14a92b] Ignoring: Group[name=ref:affiliation:community_excludes,uuid=25165de8dc714c29892d6ac4c0e8e603] Ignoring: Group[name=ref:affiliation:community_includes,uuid=336ee485d64c43f1835e65e112494e1f] Ignoring: Group[name=ref:affiliation:community_systemOfRecord,uuid=ed385c26822f4ec2b041818bc81b0316] Ignoring: Group[name=ref:affiliation:community_systemOfRecordAndIncludes,uuid=6c612424d38641d6915bfe905f5f9bb5] Adding: Group[name=ref:affiliation:faculty,uuid=f72efbdbff864ba792d27d0d794e3148] Ignoring: Group[name=ref:affiliation:faculty_excludes,uuid=61aab1782aa74a518560615eb42501d0] Ignoring: Group[name=ref:affiliation:faculty_includes,uuid=6ac6ba16d3564b08b15317a8aad5a996] Ignoring: Group[name=ref:affiliation:faculty_systemOfRecord,uuid=054e86cc61dc42b9b695df85f0363d60] Ignoring: Group[name=ref:affiliation:faculty_systemOfRecordAndIncludes,uuid=4d5b485be02d470b959d1ddc3110fe71] Adding: Group[name=ref:affiliation:member,uuid=980f3106eca0400dafa71c0444905773] Ignoring: Group[name=ref:affiliation:member_excludes,uuid=04b734ac3f0a45eba7262ad4cb916c30] Ignoring: Group[name=ref:affiliation:member_includes,uuid=3aad7883c9b0443a87d326b4f92721c4] Ignoring: Group[name=ref:affiliation:member_systemOfRecord,uuid=bb391dedde8646bf9663811566eb36bc] Ignoring: Group[name=ref:affiliation:member_systemOfRecordAndIncludes,uuid=124a7ccfe4a14ac29edf057ca790a4a7] Adding: Group[name=ref:affiliation:staff,uuid=759b024cd6b4413a91f95aba717ad475] Ignoring: Group[name=ref:affiliation:staff_excludes,uuid=b13ed72144e1497ea4e83e447ef01864] Ignoring: Group[name=ref:affiliation:staff_includes,uuid=e1505c9731594e5891e2637eafc46a40] Ignoring: Group[name=ref:affiliation:staff_systemOfRecord,uuid=a07c568af4a4424c98d4fe6b6cc57251] Ignoring: Group[name=ref:affiliation:staff_systemOfRecordAndIncludes,uuid=4941ef84b985439e90aeec8603082d2e] Adding: Group[name=ref:affiliation:student,uuid=fd74a23ef3e644f993d178dadc6cddd1] Ignoring: Group[name=ref:affiliation:student_excludes,uuid=a39012fe7d5e40298190cdce29b7092e] Ignoring: Group[name=ref:affiliation:student_includes,uuid=f578df21bb484d5c8d1de78b644bfb12] Ignoring: Group[name=ref:affiliation:student_systemOfRecord,uuid=399307175f4c4b9bbcfd2578d89f3a3d] Ignoring: Group[name=ref:affiliation:student_systemOfRecordAndIncludes,uuid=1fc4359d099944a99c487346c52632e9] ===> null ===> true ===> true Ignoring: Group[name=ref:course:ACCT101,uuid=cfacdd40c42b4678b1ade008039177a2] Ignoring: Group[name=ref:course:ACCT201,uuid=6709e844c88f4f1b871ea66739e6cdf9] Adding: Group[name=ref:course:CS251,uuid=7c1e9ebf89994b5cbbabc490b4e9f439] Adding: Group[name=ref:course:CS252,uuid=4c0baf4ccd7d48069a28f90f33fe3c84] Ignoring: Group[name=ref:course:MATH100,uuid=023053c0334b4d359bec19cdb22eadeb] Ignoring: Group[name=ref:course:MATH101,uuid=f804a858ca2c4fa0ab8bae2b74267859] Ignoring: Group[name=ref:course:SCI123,uuid=622f6e4a9306459fa95ee71118e5d5fe] Ignoring: Group[name=ref:course:SCI404,uuid=921429626b8c4b899eb05ce9efc43337] ===> null groovy:000> :exit
Now synchronize Grouper with midPoint by starting asynchronous update task:
$ ./upload-async-update-task.sh Uploading midpoint-objects-manual/tasks/task-async-update-grouper.xml (tasks, 47fc57bd-8c34-4555-9b9f-7087ff179860)
...and wait until all messages are processed (i.e. there are 0 messages in the sampleQueue
):
$ ./show-queue-size.sh Timeout: 60.0 seconds ... Listing queues for vhost / ... sampleQueue 7
Now we are ready to make some changes in Grouper and see how they are propagated to midPoint.
Let us make the following ones:
- modify
bgasper
's affiliation fromalum
tofaculty
by adding him toref:affiliation:alum_excludes
andref:affiliation:faculty_includes
- add
bgasper
toapp:mailinglist:chess
andapp:mailinglist:idm-fans
- add
bgasper
totest:volunteers
We can do this either manually or we can execute the script:
$ ./update-bgasper-in-grouper.sh ... Type help() for instructions Groovy Shell (2.5.0-beta-2, JVM: 1.8.0_181) Type ':help' or ':h' for help. ------------------------------------------------------------------------------- groovy:000> :load '/opt/grouper/grouper.apiBinary/conf/groovysh.profile' groovy:000> :gshFileLoad '/tmp/update-bgasper-in-grouper.gsh' ===> true ===> d9aa949d4ea749738c45510595a473a0,'GrouperSystem','application' ===> Subject id: bgasper, sourceId: ldap, name: Bill Gasper ===> true ===> true ===> true ===> true ===> true groovy:000> :exit
Let's wait for approximately 1 minute and verify the changes were propagated to midPoint and other systems:
Now we can freely modify group membership in Grouper and observe changes in midPoint and in target systems.