Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Zermelo to Google Calendar Sync

Dit script synchroniseert een Zermelo-rooster met een Google Agenda. Het is specifiek geschreven om veelvoorkomende fouten in rooster-synchronisaties op te lossen, zoals dubbele afspraken bij wijzigingen en het achterblijven van vervallen lessen.

Functionaliteiten

  • Synchronisatie op basis van UID: Elke afspraak wordt gekoppeld aan een uniek ID van Zermelo. Hierdoor worden wijzigingen in tijd of locatie doorgevoerd in de bestaande afspraak in plaats van een nieuwe aan te maken.
  • Verwijderen van uitval: Lessen die in Zermelo gemarkeerd zijn als uitval ([x]) worden direct uit de Google Agenda verwijderd.
  • Opschonen van verwijderde lessen: Lessen die volledig uit het Zermelo-rooster verdwijnen worden gedetecteerd en verwijderd uit de agenda.
  • Visuele cues: Belangrijke afspraken ([!]) krijgen een rode kleur. Titels worden geformatteerd voor betere leesbaarheid op mobiele apparaten.

Installatie

  1. Configuratiegegevens verzamelen:

    • Kopieer de iCal-URL vanuit het Zermelo-portaal.
    • Zoek het Agenda-ID van de gewenste Google Agenda op (te vinden onder 'Instellingen en delen' in Google Calendar).
  2. Script aanmaken:

    • Open Google Apps Script.
    • Maak een nieuw project en vervang de inhoud van Code.gs door de code uit deze repository.
    • Vul de variabelen ICAL_URL en TARGET_CALENDAR_ID in met je eigen gegevens.
  3. Automatisering instellen:

    • Ga in het Apps Script menu naar Triggers (klok-icoon).
    • Voeg een trigger toe voor de functie syncSchoolCalendar.
    • Kies als bron 'Tijdsgestuurd' en stel een gewenste interval in (bijvoorbeeld elk uur).

Belangrijke parameters

In het script wordt een zoekbereik gedefinieerd:

const startSearch = new Date();
startSearch.setDate(startSearch.getDate() - 2); 
const endSearch = new Date();
endSearch.setDate(startSearch.getDate() + 28); 

Let op: Het bereik in de Google Agenda (endSearch) moet altijd groter zijn dan de periode die de Zermelo-link ophaalt (endWeekOffset). Als het script niet ver genoeg vooruit kijkt, kan het bestaande afspraken in de toekomst niet herkennen, wat resulteert in dubbele items.

Beveiliging

De iCal-URL bevat een persoonlijk access_token. Houd deze prive. Indien de token publiek bekend is geraakt, dient er in het Zermelo-portaal een nieuwe koppeling te worden gegenereerd om de oude token onbruikbaar te maken.

Disclaimer

Dit project is een onafhankelijke tool en is op geen enkele wijze verbonden met, geautoriseerd door, of goedgekeurd door Zermelo Software B.V. of Google LLC. Het gebruik van dit script is op eigen risico; de auteur is niet verantwoordelijk voor eventuele fouten in de agenda, gemiste afspraken of verlies van gegevens.

About

Een betrouwbare Google Apps Script om Zermelo-roosters te synchroniseren met Google Calendar, inclusief automatische verwerking van lesuitval en wijzigingen.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages