Skip to content

Latest commit

 

History

History
244 lines (194 loc) · 11.9 KB

changes.adoc

File metadata and controls

244 lines (194 loc) · 11.9 KB

Changes

Wijzigingen /commits gesorteerd van oud naar nieuw

20200425

  • werkt al goed

20200507

  • nieuwe parameters in teamsync.ini : maakklassenteams, maaklesgroepenteams, maakvakkenteams

  • rare voorwaarde docenten klas > "4" verwijderd

  • nieuwe filters voor excl_klas, excl_docent

  • betere detectie voor actieve teams, actieve docenten

  • schermuitvoer verfraaid

  • variabele 'vaktotaal' hernoemd naar 'ruwegroepen'

20200621

  • Herschreven en opgesplitst in drie modules (ophalen, transformeren, wegschrijven) in twee afzonderlijke scripts:

    • Ophalen-MagisterData.ps1: ophalen

    • Transformeren-Naar-SchoolDataSync.ps1: transformeren, wegschrijven

  • Progressiebalken lagere updatefrequentie,

  • Uitvoerlijsten worden gesorteerd.

  • Dubbele docenten in teams worden voorkomen.

  • Bestandsnaam van INI-file kan op commandoregel worden gespecifieerd met parameter -inifile <filename>, bij verstek 'teamsync.ini'.

  • datamappen kunnen worden gespecificeerd in Ini-bestand

20200623

  • Pad naar leerling.csv ontbrak

  • Scriptnaam in venstertitel

  • Volledige vakomschrijving toegevoegd aan teamnaam

  • Alle schermuitvoer wordt gelogd.

20200629

  • Vakomschrijvingen worden gekapitaliseerd.

  • Vakomschrijvingen toegevoegd aan teamnaam waar dit herkend wordt in lesgroep of klas-vak-groep.

  • Mogelijkheid voor insluitend filteren op locatie toegevoegd

  • Ondersteuning voor gevallen waar Magister login afwijkend is van Microsoft 365 / Azure AD identiteit. Als schakelaar UseEmail=1, dan wordt voor docenten het veld "Id" gevuld uit het overeenkomstig AD-userobject attribuut UserPrincipalName in Active Directory, door AD user-attribuut employeeId te matchen aan Magister stamnummer. Als schakelaar UseEmail=1, dan wordt voor leerlingen het Magister email-veld gebruikt voor de Id.

20200701

  • toegevoegd: insluitend filter voor leerlingen op basis van locatie (Magister veld 'Administratieveeenheid.Omschrijving')

  • useemail=1 : docenten zonder overeenkomstig emailadres worden eruit gefilterd.

20200701a

  • fout hersteld: Section SIS ID werd gevuld met teamnaam, niet teamID

20200702

  • fout hersteld: personeelemail.clixml werd opgeslagen in '.\data_temp\' in plaats van datakladmap.

20200704

  • ongebruikte variabelen en functies opgeruimd

20200804

  • vermijd 'divide by zero' in progressiebalk als er 0 aftelbare items zijn.

20200817

  • (Ophalen-Magisterdata.ps1) skip leerlingen met lege id

20200828

  • (Ophalen-Magisterdata.ps1) onderdelen geherstructureerd

  • (Ophalen-Magisterdata.ps1) configvariable "handhaafJPTMedewerkerCodeIsLogin" toegevoegd. Gebruik handhaafJPTMedewerkerCodeIsLogin=1. Bij verstek geldt handhaafJPTMedewerkerCodeIsLogin=0 . Deze instelling dient om uitsluitend medewerkers te verwerken waarbij Magister→Code gelijk is aan Magister→loginaccount.naam. Dit wordt in een speciaal geval voor JPT gedaan om dubbele identiteiten weg te filteren.

  • bugfix: In sommige gevallen werden teveel medewerkers afgekeurd voor verdere verwerking wanneer code of loginaccount.name niet gelijk of ingevuld waren. Config handhaafJPTMedewerkerCodeIsLogin=0 verhelpt dat.

20200109

  • wijziging: excl_docent en incl_docent filters filteren niet op Code, maar op Id.

  • wijziging: duidelijkere logging, maakt geen gebruik van PowerShell transcripts, maar dupliceert alleen consoleuitvoer naar log.

  • documentatie over regex uitgebreid met escape karakter, link naar documentatie, voorbeeld.

20200902

  • wijziging: (Ophalen-Magisterdata.ps1) altijd docenten zonder id uitfilteren

20200902b

  • wijziging: configvariabelen 'teamid_prefix' en 'teamnaam_suffix' toegevoegd

  • (Transformeren-Naar-SchoolDataSync.ps1) geoptimaliseerd : ~~25% snelheidswinst

  • Exceptions worden ook gelogd naar het logbestand

20201127

  • Preciezere definitie van methoden voor het koppelen van identiteiten. Configuratievariabelen:

    • leerling_id = login

    • leerling_id = email

    • medewerker_id = login

    • medewerker_id = code

    • medewerker_id = csv_upn

  • De configuratievariabelen useemail, ADsearchscope, ADserver en het opzoeken van UserPrincipalName in Active Directory worden niet meer ondersteund! Gebruik in plaats hiervan een CSV-opzoektabel (zie csv_upn).

  • resultaat 1 bij fout.

  • configvariabelen gecreeerd in globale scope.

  • schonere uitvoer en voortgang.

  • beknoptere foutmeldingen.

  • fout in documentatie hersteld omtrent configuratiebestand-parameter. Aliassen toegevoegd.

  • Herindeling Ophalen-MagisterData.ps1.

20201209 commit#2

  • fouten in docs hersteld.

  • teamsync-voorbeeld.ini bijgewerkt.

  • voorbeeld Ophalen-ADMedewerkerUPN.ps1 toegevoegd.

  • voorbeeld teamsync.cmd toegevoegd.

  • README herschreven.

20210520

  • fout hersteld in documentatie bij koppelmethode medewerker_id=csv_upn

    • in CSV invoerbestand: veldnaam "employeeId"

    • configuratieparameter "csv_upn"

20210630

  • Naamswijziging van de scripts geeft de functie beter weer:

    • Ophalen-MagisterData.ps1 heet nu: Import-Magister.ps1

    • Transformeren-naar-SchoolDataSync.ps1 heet nu: Export-SchoolDataSync.ps1

  • De logbestanden worden geroteerd ; de oudste wordt verwijderd, de laatste 7 blijven bewaard. Documentatie is bijgewerkt.

20210708

  • De import- en exportscript hebben nu eigen mappen voor filters, klad en data. Deze opzet maakt het makkelijker om te werken in een scenario waar één Magister wordt gebruikt voor verscheidene scholen. De configuratievariabelen hebben een naam die duidelijk maakt door welk script deze worden gebruikt.

    • Importscript gebruikt: ImportFiltermap, ImportKladmap en ImportDatamap;

    • Exportscript gebruikt: ImportDatamap, ExportFiltermap, ExportKladmap en ExportDatamap.

  • Importscript heeft een eigen configuratiebestand, bij verstek Import-Magister.ini, wijzigbaar met een commandoregelparameter.

  • Exportscript heeft een eigen configuratiebestand, bij verstek Export-SchoolDataSync.ini, wijzigbaar met een commandoregelparameter.

  • LeerlingID’s en docentID’s worden altijd geconverteerd naar onderkast. School Data Sync verwerkt "SIS ID" hoofdlettergevoelig, en zo hebben wijzigingen in hoofdlettergebruik in Magister geen verlies van synchronisatie meer tot gevolg.

    • Maximum aantal logbestanden is instelbaar in het script.

20210709

  • Import-Magister: Vermijd fout bij omzetten van lege ID naar kleine letters.

20210803

  • Automatische logrotatie: huidig logbestand is "{scriptnaam}.log". Een instelbaar aantal backups worden bewaard met de naam "{scriptnaam}.01.log".

  • Export-SchoolDataSync : toegevoegd mogelijkheid tot filteren op teamnaam

  • Verwijderd code voor aanmaak van lijsten met niet-actieve teams.

20210824

  • Importscript: code cleanup, progressiebalktekst

  • Alle logbestanden komen in een submap "Log".

  • Importscript: Excepties in Invoke-WebClient worden nu gelogd in het logbestand.

  • Exportscript: active-teamslijst: direct importeerbaar in Excel; duidelijkere kolomnamen.

20210825

  • Exportscript: verbeterde bepaling van actieve teams,

  • Exportscript: toevoeging configuratieparameter bon_match_docentlesgroep_aan_leerlingklas ,

  • Exportscript: toevoeging configuratieparameter docenten_per_team_limiet,

  • documentatie bijgewerkt.

20210827

  • fout hersteld waardoor exceptions niet werden gelogd in het logbestand

20210829

  • Exportscript: verbeterde bepaling van actieve teams,

  • Exportscript: Toegevoegd een speciaal geval voor Bonhoeffercollege, waar team wordt gekoppeld tussen leerling-klas en het tweede deel van docentlesgroep wanneer gesplitst op de punt ("H2.H2a" → "H2a"). Dit geeft teams voor elke combinatie van klas en vak in onderbouw. Toevoeging configuratieparameter bon_match_docentlesgroep_aan_leerlingklas voor het inschakelen van deze functionaliteit.

  • Export

  • Exportscript: toegevoegd functionaliteit om actieve teams met meer dan een opgegeven aantal docentern eruit te filteren. toevoeging configuratieparameter docenten_per_team_limiet.

  • documentatie bijgewerkt.

  • fout hersteld waardoor exceptions niet werden gelogd in het logbestand

  • Exportscript: fixed typo in test of groepvak-team bestaat. Deze bug bestond vanaf versie 20210825, veroorzaakte een afwijkende aantal teams. Commits 20210827 en 20210825 zijn teruggedraaid.

20211012

  • Importscript: TeamSync gebruikt beveiligingsprotocol TLS versie 1.2, in overeenstemming met het stoppen van ondersteuning van oudere onveilige beveiligingsprotocollen TLS 1.1 of ouder in Magister SOAP Webservices vanaf 18 okt 2021.

20211019

  • Documentatie vermeld in bekende tekortkomingen een geval waarin de onjuiste vakomschrijving in de team-weergavenaam wordt geplaatst en een workaround.

20211125

  • Foute HelpMessage gecorrigeerd

  • Exportscript: cosmetische verbetering; voorkom dubbele woorden in teamnaam, wanneer vakcode gelijk is aan vakomschrijving

20220506

  • Toegevoegd in handleiding: vereiste Windows PowerShell 5

  • Toegevoegd in handleiding: Tips en trucs: SDS Flow Connector en CSV file synchronisatie automatiseren

20220701

  • Eerste release v1.0.0 op GitHub. Waarom heb ik dat niet eerder gedaan?

20220718

  • Export-SchoolDataSync.ps1: snelheidsverhoging door gebruik van arraylists. Typische uitvoertijd is nu 30 seconden.

  • Export-SchoolDataSync.ps1: teams bepaald door harde match van docentgroepvak met leerling-lesgroep/klas. Dit werkt eenvoudiger, betrouwbaarder en sneller.

  • Export-SchoolDataSync.ps1: configuratieparameter bon_match_docentlesgroep_aan_leerlingklas is overbodig geworden.

20220719

  • Export-SchoolDataSync.ps1: bugfix: uitvoer leeg, want vergat tabel teamactief aan te maken.

20230921

  • Import-Magister.ps1:

    • Leerling-CSV bevat ook groepen en vakken.

    • Docenten-CSV bevat ook groepvakken, klasvakken en docentvakken.

  • Export-SchoolDataSync.ps1:

    • Test op lege records die uit docenten-CliXML worden gelezen.

    • Console boodschappen

20240222

  • Export-SchoolDataSync.ps1:

    • wijziging: configuratievariabele 'brin' heet nu 'schoolid'

    • toevoeging: voorbeeldscript voor ophalen medewerker UPN m.b.v. Microsoft Graph PowerShell SDK.

20240222a

  • Export-SchoolDataSync.ps1:

    • toegevoegd ondersteuning voor verscheidene scholen aan SDS v2.

    • toegevoegd configuratievariabele 'exportverzamelmap' voor toevoegen

  • documentatie bijgewerkt

20240224

  • hersteld typefout in changes.adoc

  • Import-Magister.ps1:

    • bij koppelmethode CSVUPN worden medewerkers in de tabel gezocht op employeeid, in plaats van stamnummer.

    • toegevoegd configuratievariabele 'employeeid_prefix'

20240827

  • Export-SchoolDataSync: toegevoegd configuratievariabele 'samenvoegen' = {0|1} , bepaalt of uitvoer wel/niet wordt toegevoegd in de verzamelmap.

  • README: 20% verbeterd.

20240904

  • Codeoptimalisaties: gebruikt generic lists waar mogelijk; null-toekenningen verwijderd; regions toegevoegd.

  • versie in variabele

  • Export-SchoolDataSync:

    • voert ongefilterde lijst met teams uit ter inspectie.

    • Toevoegen 'First Name' en 'Last Name' velden aan SDS CSV v1 student.csv voor hopelijk fixen van rare bug in SDS.

20240905

  • Export-SchoolDataSync: vervang '@' in SIS ID door een veilig teken.

20240906

  • Export-SchoolDataSync:

    • bug verholpen waardoor de werkelijke id van studenten en teachers werd vervangen door SIS ID.

    • code: padnamen gebruiken pathsep variabele waardoor script compatibel is met andere OS’en dan Windows.

    • bug opgelost waardoor padoplossing uitgaat van huidige directory i.p.v. scriptdirectory.

TO DO

Dit zijn geplande wijzigingen zonder een vastgesteld tijdpad (krabbels van de auteur).