Gå til innhold

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 mail 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:

  1. Skoleressurser for aktive lærere, det vil si skoleressurser som har et undervisningsforhold tilknyttet en eller flere basis- eller undervisingsgrupper
  2. 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:

  1. Alle basisgrupper, for hver gruppe:
    1. Alle elever
    2. Alle lærere
  2. Alle undervisningsgrupper, for hver gruppe:
    1. Alle elever
    2. Alle lærere
  3. Alle kontaktlærergrupper, for hver gruppe:
    1. Alle elever
    2. Alle lærere
  4. Alle skoleressurser som ikke er fanget opp som lærer i punkt 1-3.
  5. 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