Come lo strumento legge e scrive il file del tuo orario
La maggior parte dei software orario scolastico può esportare l’orario come file di calendario, spesso uno per classe, docente o aula, così le lezioni compaiono in Google Calendar o Outlook. Un file di questo tipo è testo semplice in formato iCalendar (RFC 5545). Ogni evento è un blocco VEVENT con un inizio (DTSTART), una fine (DTEND o DURATION), un titolo (SUMMARY) e campi facoltativi come LOCATION, RESOURCES, ATTENDEE, ORGANIZER e CATEGORIES. Lo strumento legge direttamente questi campi. Non deduce mai un docente o un’aula dalle parole di un titolo.
Gli eventi ricorrenti contengono una regola (RRULE) al posto di un elenco di date. Lo strumento espande le regole giornaliere, settimanali, mensili e annuali in occorrenze datate nel fuso orario dell’evento, quindi una lezione delle 09:00 resta alle 09:00 anche dopo il cambio dell’ora. Le date elencate in EXDATE vengono escluse, e un’occorrenza spostata (un secondo VEVENT con lo stesso UID e un RECURRENCE-ID) sostituisce la data da cui è stata spostata.
C’è una sovrapposizione quando due eventi con orari che si accavallano indicano in RESOURCES lo stesso docente, la stessa aula o la stessa classe, oppure hanno lo stesso partecipante. Un evento senza RESOURCES occupa invece il luogo indicato in LOCATION. Gli eventi di tutto il giorno, quelli annullati e quelli segnati come liberi non contano. Una lezione scritta più volte, una per classe o per calendario del docente come la esportano i software orario, è un solo impegno: le copie con gli stessi orari e lo stesso corso (o titolo) non si sovrappongono mai tra loro.
Quando salvi una modifica, vengono riscritte solo le righe che hai cambiato. Ogni altra riga del file, compresi promemoria, definizioni dei fusi orari e campi personalizzati X-, viene riscritta esattamente come è stata letta. L’evento modificato riceve un SEQUENCE più alto e un nuovo DTSTAMP: è così che lo standard iCalendar indica una versione rivista dello stesso evento. Per un evento ricorrente scegli tu l’ambito, come in Google Calendar o Outlook: questo evento (un’eccezione con RECURRENCE-ID), questo evento e tutti i successivi (la serie termina con UNTIL e ne inizia una nuova) o tutti gli eventi (la serie si sposta, e le sue date escluse si spostano con lei).