FINT EDU MA
FINT EDU MA Management Agent Configuration
Properties
Setting | Configuration |
---|---|
Connector Name | FINT EDU MA |
Connector Type | Extensible2 |
Architecture | process |
Run in Separate Process | No |
Connector Capabilities
Setting | Configuration |
---|---|
Connector Assembly Name | VigoBAS.FINT.Edu.dll |
Connector Assembly Version | 1.0.7486.16955 |
Connector Capability Bits | 2785449984 |
Provisioning Hierarchy
The provisioning hierarchy is not enabled.
Partitions and Hierarchies
Partition: default
Selected Object Types
Object Types |
---|
eduGroup |
eduOrg |
eduOrgUnit |
eduOrgUnitGroup |
eduPerson |
Selected Attributes
Attribute Name | Type | Multi-valued | Flows Configured? |
---|---|---|---|
AnsettelsesforholdSkole | Reference (DN) (non-indexable) | Yes | No |
EduGroupType | String (non-indexable) | No | Import |
EduPersonEntitlement | String (non-indexable) | Yes | Import |
EduPersonOrgDN | Reference (DN) (non-indexable) | No | No |
EduPersonOrgUnitDN | Reference (DN) (non-indexable) | Yes | Import |
ElevBrukernavn | String (non-indexable) | No | Import |
ElevElevnummer | String (non-indexable) | No | Import |
ElevFeidenavn | String (non-indexable) | No | Export |
ElevforholdBasisgruppe | Reference (DN) (non-indexable) | Yes | Import |
ElevforholdKontaktlarergruppe | Reference (DN) (non-indexable) | Yes | Import |
ElevforholdMedlemskap | Reference (DN) (non-indexable) | Yes | No |
ElevforholdSkole | Reference (DN) (non-indexable) | Yes | No |
ElevforholdUndervisningsgruppe | Reference (DN) (non-indexable) | Yes | No |
ElevKontaktinformasjonEpostadresse | String (non-indexable) | No | No |
ElevKontaktinformasjonMobiltelefonnummer | String (non-indexable) | No | No |
ElevPersonalSystemId | String (non-indexable) | No | No |
ElevSystemId | String (non-indexable) | No | No |
ElevSystemIdUri | String (non-indexable) | No | No |
export_password | String (non-indexable) | No | No |
GroupId | String (non-indexable) | No | Import |
GroupMembers | Reference (DN) (non-indexable) | Yes | Import |
GroupName | String (non-indexable) | No | Import |
GroupType | String (non-indexable) | No | Import |
GruppeBeskrivelse | String (non-indexable) | No | Import |
GruppeElevListe | Reference (DN) (non-indexable) | Yes | Import |
GruppeLarerListe | Reference (DN) (non-indexable) | Yes | Import |
GruppeNavn | String (non-indexable) | No | Import |
GruppePeriodeSlutt | String (non-indexable) | No | Import |
GruppePeriodeStart | String (non-indexable) | No | Import |
GruppeSkoleRef | Reference (DN) (non-indexable) | No | Import |
GruppeSkoleSkolenummer | String (non-indexable) | No | Import |
GruppeSystemId | String (non-indexable) | No | Import |
GruppeSystemIdUri | String (non-indexable) | No | No |
OrganisasjonDomenenavn | String (non-indexable) | No | No |
OrganisasjonForretningsadresseAdresselinje | String (non-indexable) | Yes | No |
OrganisasjonForretningsadressePostnummer | String (non-indexable) | No | No |
OrganisasjonForretningsadressePoststed | String (non-indexable) | No | No |
OrganisasjonJuridiskNavn | String (non-indexable) | No | No |
OrganisasjonKontaktinformasjonEpostadresse | String (non-indexable) | No | No |
OrganisasjonKontaktinformasjonMobiltelefonnummer | String (non-indexable) | No | No |
OrganisasjonKontaktinformasjonNettsted | String (non-indexable) | No | No |
OrganisasjonKontaktinformasjonSip | String (non-indexable) | No | No |
OrganisasjonKontaktinformasjonTelefonnummer | String (non-indexable) | No | No |
OrganisasjonNavn | String (non-indexable) | No | No |
OrganisasjonOrganisasjonnummer | String (non-indexable) | No | Import |
OrganisasjonOrganisasjonsId | String (non-indexable) | No | No |
OrganisasjonOrganisasjonsIdUri | String (non-indexable) | No | No |
OrganisasjonOrganisasjonsnavn | String (non-indexable) | No | No |
OrganisasjonOrganisasjonsnummer | String (non-indexable) | No | No |
PersonalAnsattnummer | String (non-indexable) | No | No |
PersonalBrukernavn | String (non-indexable) | No | No |
PersonalKontaktinformasjonEpostadresse | String (non-indexable) | No | Import |
PersonalKontaktinformasjonMobiltelefonnummer | String (non-indexable) | No | No |
PersonalKontaktinformasjonSip | String (non-indexable) | Yes | No |
PersonalSystemId | String (non-indexable) | No | No |
PersonBilde | String (non-indexable) | No | No |
PersonFodselsdato | String (non-indexable) | No | Import |
PersonFodselsnummer | String (non-indexable) | No | Import |
PersonKontaktinformasjonEpostadresse | String (non-indexable) | No | No |
PersonKontaktinformasjonMobiltelefonnummer | String (non-indexable) | No | No |
PersonKontaktinformasjonPostadresseAdresselinje | String (non-indexable) | Yes | No |
PersonKontaktinformasjonPostadressePostnummer | String (non-indexable) | No | No |
PersonKontaktinformasjonPostadressePoststed | String (non-indexable) | No | No |
PersonNavnEtternavn | String (non-indexable) | No | Import |
PersonNavnFornavn | String (non-indexable) | No | Import |
PersonNavnMellomnavn | String (non-indexable) | No | No |
RolleOgSkole | String (non-indexable) | Yes | Import |
SchoolRef | Reference (DN) (non-indexable) | No | Import |
SkoleAnsettelsesforhold | Reference (DN) (non-indexable) | Yes | No |
SkoleDomenenavn | String (non-indexable) | No | No |
Skoleeier | Reference (DN) (non-indexable) | No | Import |
SkoleElevforhold | Reference (DN) (non-indexable) | Yes | No |
SkoleForretningsadresseAdresselinje | String (non-indexable) | Yes | No |
SkoleForretningsadressePostnummer | String (non-indexable) | No | No |
SkoleForretningsadressePoststed | String (non-indexable) | No | No |
SkoleJuridiskNavn | String (non-indexable) | No | No |
SkoleKontaktinformasjonEpostadresse | String (non-indexable) | No | No |
SkoleKontaktinformasjonMobiltelefonnummer | String (non-indexable) | No | No |
SkoleKontaktinformasjonNettsted | String (non-indexable) | No | No |
SkoleKontaktinformasjonSip | String (non-indexable) | No | No |
SkoleKontaktinformasjonTelefonnummer | String (non-indexable) | No | No |
SkoleNavn | String (non-indexable) | No | Import |
SkoleOrganisasjonsnavn | String (non-indexable) | No | No |
SkoleOrganisasjonsnummer | String (non-indexable) | No | No |
SkoleressursFeidenavn | String (non-indexable) | No | Export |
SkoleressursSystemIdUri | String (non-indexable) | No | No |
SkoleSkolenummer | String (non-indexable) | No | Import |
SkoleSystemId | String (non-indexable) | No | Import |
SkoleUndervisningsforhold | Reference (DN) (non-indexable) | Yes | No |
systemIdUri | String (non-indexable) | No | No |
UndervisningsforholdMedlemskap | Reference (DN) (non-indexable) | Yes | No |
UndervisningsforholdSkole | Reference (DN) (non-indexable) | Yes | No |
Anchor Configuration
Object Type | Anchor Attribute |
---|---|
eduGroup | GruppeSystemIdUri |
eduOrg | OrganisasjonOrganisasjonsIdUri |
eduOrgUnit | systemIdUri |
eduOrgUnitGroup | GroupId |
eduPerson | ElevPersonalSystemId |
Join Rules
Data Source Object Type | Mapping Group# | Metaverse Object Type | Join Resolution | Data Source Attribute | Mapping Type | Metaverse Attribute |
---|---|---|---|---|---|---|
eduOrgUnit | 1 | Any | SkoleSkolenummer | Direct | basVigoNumber | |
eduPerson | 1 | person | PersonFodselsnummer | Direct | basSSN |
Projection Rules
Data Source Object | Projection Type | Metaverse Object |
---|---|---|
eduGroup | Declared | group |
eduOrg | Declared | organization |
eduOrgUnit | Declared | organizationalUnit |
eduOrgUnitGroup | Declared | group |
eduPerson | Declared | person |
Attribute Flows
eduGroup→group
Data Source Attribute | To | Metaverse Attribute | Mapping Type | Scoping Filter | Precedence Order |
---|---|---|---|---|---|
GruppePeriodeSlutt | → | basEndDate | Direct | 1 | |
dn | → | basFINTEduId | Direct | 1 | |
SchoolRef | → | basOrgUnitRef | Direct | 6 | |
GruppeSkoleRef | → | basOrgUnitRef | Direct | 7 | |
GroupId | → | basSASID | Rules Extension - FINTEduMA_setbasSASIDOrgUnitGroup | 5 | |
GruppeSystemId | → | basSASID | Direct | 6 | |
GruppeSkoleSkolenummer | → | basSchoolCode | Direct | 1 | |
GruppeSkoleRef | → | basSchoolName | Rules Extension - FINTEduMA_setSchoolnameOnGroup | 1 | |
GruppeNavn | → | basShortName | Direct | 1 | |
GruppePeriodeStart | → | basStartDate | Direct | 1 | |
GroupName | → | description | Direct | 6 | |
GruppeBeskrivelse | → | description | Direct | 7 | |
GroupType SchoolRef | → | displayName | Rules Extension - FINTEduMA_setDisplaynameOrgUnitGroup | 7 | |
GruppeNavn GruppeSkoleRef | → | displayName | Rules Extension - FINTEduMA_setUniqueGroupname | 8 | |
GroupMembers | → | member | Direct | 7 | |
GruppeElevListe | → | member | Direct | 8 | |
GruppeLarerListe | → | owner | Direct | 4 | |
EduGroupType | → | type | Direct | 7 |
eduOrg→organization
Data Source Attribute | To | Metaverse Attribute | Mapping Type | Scoping Filter | Precedence Order |
---|---|---|---|---|---|
OrganisasjonOrganisasjonnummer | → | basOrgNumber | Direct | 4 | |
→ | displayName | Constant - VIGOBAS fylkeskommune | 4 |
eduOrgUnit→organizationalUnit
Data Source Attribute | To | Metaverse Attribute | Mapping Type | Scoping Filter | Precedence Order |
---|---|---|---|---|---|
dn | → | basFINTEduId | Direct | 1 | |
Skoleeier | → | basOrgRef | Direct | 1 | |
SkoleSystemId | → | basSASID | Direct | 3 | |
SkoleSkolenummer | → | basSchoolCode | Rules Extension - FINTEduMA_setbasSchoolCode | 2 | |
SkoleSkolenummer | → | basVigoNumber | Direct | 3 | |
SkoleNavn | → | displayName | Direct | 6 | |
→ | type | Constant - skole | 2 |
eduOrgUnitGroup→group
Data Source Attribute | To | Metaverse Attribute | Mapping Type | Scoping Filter | Precedence Order |
---|---|---|---|---|---|
SchoolRef | → | basOrgUnitRef | Direct | 6 | |
GruppeSkoleRef | → | basOrgUnitRef | Direct | 7 | |
GroupId | → | basSASID | Rules Extension - FINTEduMA_setbasSASIDOrgUnitGroup | 5 | |
GruppeSystemId | → | basSASID | Direct | 6 | |
GroupName | → | description | Direct | 6 | |
GruppeBeskrivelse | → | description | Direct | 7 | |
GroupType SchoolRef | → | displayName | Rules Extension - FINTEduMA_setDisplaynameOrgUnitGroup | 7 | |
GruppeNavn GruppeSkoleRef | → | displayName | Rules Extension - FINTEduMA_setUniqueGroupname | 8 | |
GroupMembers | → | member | Direct | 7 | |
GruppeElevListe | → | member | Direct | 8 |
eduPerson→person
Data Source Attribute | To | Metaverse Attribute | Mapping Type | Scoping Filter | Precedence Order |
---|---|---|---|---|---|
SkoleressursFeidenavn | ← | eduPersonPrincipalName | Direct | 1 | |
ElevFeidenavn | ← | eduPersonPrincipalName | Direct | 1 | |
PersonFodselsdato | → | basBirthDate | Direct | 1 | |
ElevforholdBasisgruppe RolleOgSkole | → | basClassGroupsAsSingleValue | Rules Extension - FINTEduMA_classGroupsAsSingleValue | 1 | |
ElevforholdKontaktlarergruppe RolleOgSkole | → | basContactTeacherGroup | Rules Extension - FINTEduMA_setbasContactTeacherGroup | 1 | |
ElevElevnummer | → | basElevnummerViS | Direct | 1 | |
dn | → | basFINTEduId | Direct | 1 | |
→ | basIsFINTObject | Constant - 1 | 1 | ||
PersonNavnFornavn | → | basPifuFirstname | Rules Extension - FINTEduMA_cleanPifuFirstName | 1 | |
PersonNavnEtternavn | → | basPifuLastname | Rules Extension - FINTEduMA_cleanPifuLastName | 1 | |
ElevforholdBasisgruppe RolleOgSkole | → | basPrimaryClassGroup | Rules Extension - FINTEduMA_setbasPrimaryClassGroup | 1 | |
RolleOgSkole | → | basRoleAndSchool | Direct | 1 | |
PersonFodselsnummer | → | basSSN | Direct | 6 | |
PersonFodselsnummer | → | basSSNValidation | Rules Extension - FINTEduMA_setBasSSNValidation | 3 | |
EduPersonOrgUnitDN | → | basUnitsAsSingleValue | Rules Extension - FINTEduMA_orgUnitsToUnitsAsSingleValue | 1 | |
RolleOgSkole | → | basUnitUserTypeAsSingleValue | Rules Extension - FINTEduMA_unitUserTypeAsSingleValue | 1 | |
RolleOgSkole | → | company | Rules Extension - FINTEduMA_setCompany | 1 | |
RolleOgSkole | → | eduPersonEntitlement | Direct | 3 | |
EduPersonEntitlement | → | eduPersonEntitlement | Direct | 4 | |
EduPersonOrgUnitDN | → | eduPersonOrgUnitDN | Direct | 4 | |
RolleOgSkole | → | eduPersonPrimaryAffiliation | Rules Extension - FINTEduMA_setEduPersonPrimaryAffiliation | 3 | |
PersonNavnFornavn | → | firstName | Rules Extension - FINTEduMA_cleanFirstname | 6 | |
PersonNavnEtternavn | → | lastName | Rules Extension - FINTEduMA_cleanLastName | 6 | |
ElevBrukernavn | → | loginName | Direct | 1 | |
PersonalKontaktinformasjonEpostadresse | → | Direct | 3 |
Deprovisioning
Setting | Configuration |
---|---|
Deprovisioning Option | Make them disconnectors |
Do not recall attributes contributed by an object from this MA when it is disconnected | No |
Extensions Configuration
Setting | Configuration |
---|---|
Rules extension name | VigoBAS.Flow.dll |
Run this rules extension in a separate process | No |
Password Management Setting | Configuration |
---|---|
Enable password management | No |
Kriterier for å importere personer fra VIS til VIGO-BAS
Alle data i forbindelse med importen hentes av VIGO-BAS-agenten FINT Edu MA (heretter kalt agenten)
via FINT. Overordnet kriterium for import til VIGO-BAS er at personen har et gyldig forhold til en eller
flere skoler. For elev er dette et elevforhold, for ansatte er det arbeidsforhold.
Et forhold er aktivt dersom dagens dato er innenfor gyldighetsperioden til forholdet. Et forhold er gyldig dersom det i tillegg til å være aktivt også tilfredsstiller visse kriterier som elevkategori, ansattkategori, arbeidsforholdtype og stillingskode, se nærmere beskrivelse nedenfor.
Elever
Forholdet mellom elev og skole er uttrykt i FINT med Elevforhold. Per i dag er alle elevforhold fra VIS
aktive. VIS vil snart fylle inn gyldighetsperiode på Elevforhold med start- og sluttdato og da vil agenten
bruke dette for å sjekke om elevforholdet er aktivt eller ikke.
Per i dag gir alle elevkategorier et gyldig elevforhold. Her kan det komme filter for ulike elevkategorier i
agenten.
Det kan også komme endringer her når VIS har implementert gyldighetsperiode på Elevforhold
Ansatte
Forholdet mellom ansatt og skole er uttrykt i FINT via Skoleressurs. Skoleressurser som mangler relasjon til Skole (skole er ikke en obligatorisk relasjon for skoleressurs), blir ikke importert av agenten.
Skoleressurs er tilknyttet Personalressurs som igjen er tilknyttet et eller flere Arbeidsforhold. En
skoleressurs må ha et aktivt arbeidsforhold på et arbeidssted som tilhører en skole. Dette
arbeidsforholdet er gyldig dersom det i tillegg tilfredsstiller filterkriteriene satt i agenten. Filterkriteriene
settes agenten av bruker, se installasjonsveiledningen.
Arbeidsforhold knyttet til Undervisningsforhold, brukes ikke av agenten for å sjekke gyldighet.
Det er to typer skoleressurser som også tas med i importen, uavhengig av om de har et gyldig
arbeidsforhold eller ikke:
- Skoleressurser for aktive lærere, det vil si skoleressurser som har et undervisningsforhold tilknyttet en eller flere basis- eller undervisingsgrupper
- Skoleressurser for rektorer. Forutsetning for dette er at skoleressursen er tilknyttet en skole og
at rektor ligger som leder for organisasjonselementet denne skolen er relatert til i FINT. Denne funksjonaliten (rektor ligger organisatorisk utenfor skolen i en annen orgenhet) er ennå kun i beta og gis ut på forspørsel. I neste versjon vil den være med som standard funksjon.
Håndtering av roller
Agenten tildeler tre ulike roller til personer som blir importert til VIGO-BAS:
- Elev
- Ansatt
- Lærer
Rollen knyttes til skole og presenteres i CS-attributtet RolleOgSkole.
Elev
En person gis rollen **Elev** ved en skole dersom det eksisterer et gyldig elevforhold tilknyttet denne eleven og skolen.
Verdi i RolleOgSkole blir da «elevforhold@<Skolenummer Vigo>».
Eksempel
Denne elevforholdressursen i FINT er gyldig innenfor gyldighetsperiode
{
"beskrivelse": "",
"systemId": {
"identifikatorverdi": "74653771"
},
"gyldighetsperiode": {
"slutt": "2021-06-22T00:00:00Z",
"start": "2020-08-18T00:00:00Z"
},
"hovedskole": true,
"_links": {
"elev": [
{
"href": "https://beta.felleskomponent.no/utdanning/elev/elev/systemid/a5f62304-f9e3-4a9c-b9f6-81ede500e"
}
],
"skole": [
{
"href": "https://beta.felleskomponent.no/utdanning/utdanningsprogram/skole/systemid/30008"
...
}
CS-objektet https://beta.felleskomponent.no/utdanning/elev/elev/systemid/a5f62304-f9e3-4a9c-b9f6-81ede500e
vil her ha verdien «elevforhold@30008» i RolleOgSkole-attributtet.
Ansatt
En person gis rollen Ansatt ved en skole dersom det eksisterer en skoleressurs med et gyldig arbeidsforhold tilknyttet skolen. En rektor får også denne rollen.
Verdi i RolleOgSkole blir da «skoleressurs@<Skolenummer Vigo>».
Lærer
En person gis rollen Lærer ved en skole dersom det eksisterer en skoleressurs som er aktiv lærer, tilknyttet skolen. Denne rollen gis uavhengig av om skoleressursen har et gyldig arbeidsforhold ved skolen eller ikke.
Verdi i RolleOgSkole blir da «undervisningsforhold@<Skolenummer Vigo>».
En og samme person kan ha flere roller, RolleOgSkole kan derfor ha flere verdier. Det vanligste vil tilfellet hvor en aktiv lærer har et gyldig arbeidshold:
For en person som har rollene Elev og Ansatt, men ikke er aktiv lærer, kan det se slik ut i RolleOgSkole:
En person kan også ha samme rolle ved forskjellige skoler. Det vil da ligge passende verdier for hver skole i RolleOgSkole.
Primærrolle
Edu-agenten "tar ikke stilling" til hvilken rolle som er primær. For å sette primærrolle må det derfor må settes opp en avansert flytregel. Hvilken logikk som benyttes her, må settes gjennom koden for den avanserte flytregelen.
Eksempel
import string
if source['RolleOgSkole'].IsPresent:
roleAndSchoolValues = source['RolleOgSkole'].Values
roles =[]
for item in roleAndSchoolValues:
role = item.ToString().split('@')[0]
roles.append(role)
if 'elevforhold' in roles:
target['basUserPrimaryRole'].Value = 'Elev'
else:
target['basUserPrimaryRole'].Value = 'Ansatt'
Attributteierskap
En person som kun har rollen Elev henter alle persondata fra /utdanning/elev/person (VIS).
En person kun med rollene Ansatt og/eller Lærer henter alle persondata fra /administrasjons/personal/person (HRM).
For en person med både Elev og Ansatt/lærer-roller så avhenger kilden for persondata av hvilken rolle som leses inn først. Når elevrollen leses inn først vil data hentes fra /utdanning/elev/person, hvis ikke hentes dataene fra /administrasjons/personal/person.
Hvilken rolle som blir lest først, kan sjekkes via DN for tilhørende CS-objekt.
Elevrolle først:
Ansatt/lærer først:
Detaljert innlesingsrekkefølge
Denne rekkefølgen bestemmer hvilken type DN som settes på en person.
Agenten leser inn personer skole for skole i den rekkefølgen skolene kommer fra skole-endepunktet i FINT.
For hver skole:
- Alle basisgrupper, for hver gruppe:
- Alle elever
- Alle lærere
- Alle undervisningsgrupper, for hver gruppe:
- Alle elever
- Alle lærere
- Alle kontaktlærergrupper, for hver gruppe:
- Alle elever
- Alle lærere
- Alle skoleressurser som ikke er fanget opp som lærer i punkt 1-3.
- Alle elever som ikke er fanget opp som elev i punkt 1-3.
Import/Export
Hvilke attributter som importeres er beskrevet under punktet "FINT EDU MA Management Agent Configuration" >> "Attribute Flows" lengre opp på denne siden.
For denne agenten er det kun brukernavnet for FEIDE pålogging som eksporteres ut av VIGO-BAS.
VIGO-BAS MV-attributt | VIGO-BAS MA | FINT attributt | FINT domene | Mottaker |
---|---|---|---|---|
eduPersonPrincipalName | FINT Edu MA | elev.feidenavn | utdanning | VIS |
eduPersonPrincipalName | Fint Edu MA | skoleressurs.feidenavn | utdanning | VIS |