...
...
Description of data processing
In this section we describe requirements that the overall processing of the data. It is common for both design options have to meet.Basically, we need to . Differences are dealt with later.
Introduction
We need to:
- fetch data from source systems (represented by a mock of a student information system)
...
- ,
- get them into midPoint and Grouper
...
- where it is augmented and/or modified,
- provision the data to target systems.
Let's have a look at these componentsthree areas.
Source systems
As a demonstration of source systems let's use the following (extremely simple) three tables:
...
Via midPoint and Grouper we want do achieve the following:
- We need to be able to modify affiliation information To modify selected information from SoR by including and/or excluding given persons to/from given affiliation groups.
- This applies to affiliation information: For example we might want to state that although
bgasper
is listed underalum
he should actually not be inalum
but infaculty
.
- Departmental and course information do not need to be changed in this way
- .
- This applies to affiliation information: For example we might want to state that although
- To create extra groups and manually maintain their members.
- To create extra groups that aggregate information from other groupsWe need to be able to create specific groups either aggregating information from SoR-based groups or from groups created ad hoc, according to the requirements of the target applications.
In these scenarios we decided to use group-management features of Grouper to implement the above requirements. Therefore, inclusions/exclusions, group aggregation, and ad-hoc group management will be done in Grouper.
Data in midPoint
In midPoint the data is represented like this:
What | How | Example | |||
---|---|---|---|---|---|
person | user | bgasper | |||
person's department | user → org (of subtype department ; under Departments org) | bgasper → Business | person's affiliation (from SoR) | user's rawAffiliation extension property | alum |
person's refined affiliation | user → org (of subtype affiliation ; under Affiliations org) | bgasper → Affiliation: faculty | |||
person's courses | user → org (of subtype course ; under Courses org) | bgasper → MATH100, CS251 | |||
person's mailing list membership | user → org (of subtype mailing-list ; under Mailing lists org) | bgasper → Mailing list: chess, Mailing list: idm-fans | |||
person's other membership | user → org (of subtype generic-group ; under Generic groups org) | bgasper → test:volunteers, app:cs |
...