Mijn vraag
Ik werk als (uit de hand gelopen) studentenbaantje bij de ICT op een middelbare school, met als hoofddoel het automatiseren van tijdrovende taken.
Meestal is een beetje knutselen met Excel en PowerQuery al voldoende voor een flinke werkdrukverlichting, alleen is het aanleveren van brongegevens (leerlingen, docenten, leerling-mentor-koppelingen, etc.) elke keer een bottleneck. Handmatig exporteren uit het leerlingvolgsysteem (Magister) kan, maar is in de praktijk vaak niet werkbaar.
Kortom: ik ben op zoek naar de beste/makkelijkste manier om deze gegevens automatisch en up-to-date beschikbaar te maken voor automatiseren, uiteraard rekening houdend met privacyregels en de gebruikersrechten van medewerkers.
Relevante software en hardware die ik gebruik
• Magister
• Excel
• Google Sheets
• Appsmith
• Activepieces
Wat ik al gevonden of geprobeerd heb
Als proef heb ik een MySQL database van onze webhosting gevuld met deze gegevens. Afgezien van wat geneuzel met drivers in Excel werkte dat eigenlijk echt top, zelfs de niet-technici konden er uiteindelijk redelijk mee overweg via PowerQuery.
Ik overweeg om dit breder in te gaan zetten, maar je loopt dan al snel tegen beperkingen aan in het beheren van gebruikers(rechten).
Na flink wat ronddwalen ben ik tot dit concept gekomen:
1. Een Postgres database met LDAP authenticatie gekoppeld aan Google Workspace, in combinatie met iets als pg_ldap_sync.
2. Deze database automatisch vullen met Magister Web Services, eventueel via een zelfgeschreven foreign data wrapper.
3. Databaserollen en bijbehorende tabel/kolom/rij-rechten automatisch toewijzen op basis van de rollen/rechten ingesteld in Magister.
Een database op deze manier openstellen voelt ergens riskant, al kan ik niet helemaal plaatsen waarom. Een extra laag zoals een OData API zou een alternatief kunnen zijn, maar ik zie daar eigenlijk niet echt een voordeel in. Dan zou ik bijvoorbeeld het rechtensysteem van Postgres moeten nabouwen, dat lijkt mij juist foutgevoeliger. Daarnaast is makkelijk kunnen koppelen met programma's als Appsmith en Activepieces een gigantisch voordeel van een database, OData connectors lijken veel zeldzamer te zijn.
Zie ik ergens iets over het hoofd, is er misschien toch ergens een makkelijkere manier?
Ik heb ruime ervaring als programmeur, dus de implementatie maak ik me geen zorgen om, maar doordat dit vooral hobbymatig was wil ik nog weleens een blinde vlek hebben voor dit soort zaken...
Ik werk als (uit de hand gelopen) studentenbaantje bij de ICT op een middelbare school, met als hoofddoel het automatiseren van tijdrovende taken.
Meestal is een beetje knutselen met Excel en PowerQuery al voldoende voor een flinke werkdrukverlichting, alleen is het aanleveren van brongegevens (leerlingen, docenten, leerling-mentor-koppelingen, etc.) elke keer een bottleneck. Handmatig exporteren uit het leerlingvolgsysteem (Magister) kan, maar is in de praktijk vaak niet werkbaar.
Kortom: ik ben op zoek naar de beste/makkelijkste manier om deze gegevens automatisch en up-to-date beschikbaar te maken voor automatiseren, uiteraard rekening houdend met privacyregels en de gebruikersrechten van medewerkers.
Relevante software en hardware die ik gebruik
• Magister
• Excel
• Google Sheets
• Appsmith
• Activepieces
Wat ik al gevonden of geprobeerd heb
Als proef heb ik een MySQL database van onze webhosting gevuld met deze gegevens. Afgezien van wat geneuzel met drivers in Excel werkte dat eigenlijk echt top, zelfs de niet-technici konden er uiteindelijk redelijk mee overweg via PowerQuery.
Ik overweeg om dit breder in te gaan zetten, maar je loopt dan al snel tegen beperkingen aan in het beheren van gebruikers(rechten).
Na flink wat ronddwalen ben ik tot dit concept gekomen:
1. Een Postgres database met LDAP authenticatie gekoppeld aan Google Workspace, in combinatie met iets als pg_ldap_sync.
2. Deze database automatisch vullen met Magister Web Services, eventueel via een zelfgeschreven foreign data wrapper.
3. Databaserollen en bijbehorende tabel/kolom/rij-rechten automatisch toewijzen op basis van de rollen/rechten ingesteld in Magister.
Een database op deze manier openstellen voelt ergens riskant, al kan ik niet helemaal plaatsen waarom. Een extra laag zoals een OData API zou een alternatief kunnen zijn, maar ik zie daar eigenlijk niet echt een voordeel in. Dan zou ik bijvoorbeeld het rechtensysteem van Postgres moeten nabouwen, dat lijkt mij juist foutgevoeliger. Daarnaast is makkelijk kunnen koppelen met programma's als Appsmith en Activepieces een gigantisch voordeel van een database, OData connectors lijken veel zeldzamer te zijn.
Zie ik ergens iets over het hoofd, is er misschien toch ergens een makkelijkere manier?
Ik heb ruime ervaring als programmeur, dus de implementatie maak ik me geen zorgen om, maar doordat dit vooral hobbymatig was wil ik nog weleens een blinde vlek hebben voor dit soort zaken...
[ Voor 1% gewijzigd door rosecodemonkey op 08-03-2024 03:37 . Reden: Verduidelijking gebruikersrechten & privacy ]