Cómo lee y escribe la herramienta su archivo de horario
La mayoría de los programas de horarios pueden exportar el horario escolar como archivos de calendario, a menudo uno por grupo, docente o aula, para que las clases aparezcan en Google Calendar o en Outlook. Un archivo así es texto plano en formato iCalendar (RFC 5545). Cada evento es un bloque VEVENT con un inicio (DTSTART), un fin (DTEND o DURATION), un título (SUMMARY) y campos opcionales como LOCATION, RESOURCES, ATTENDEE, ORGANIZER y CATEGORIES. La herramienta lee esos campos directamente. Nunca deduce un docente o un aula a partir de las palabras de un título.
Los eventos periódicos llevan una regla (RRULE) en lugar de una lista de fechas. La herramienta expande las reglas diarias, semanales, mensuales y anuales en fechas concretas, en la zona horaria del propio evento, así que una clase de las 09:00 sigue a las 09:00 después del cambio de hora. Las fechas indicadas en EXDATE se omiten, y una repetición movida (un segundo VEVENT con el mismo UID y un RECURRENCE-ID) sustituye a la fecha de la que se movió.
Una doble reserva son dos eventos cuyas horas se solapan y que indican el mismo docente, aula o grupo en RESOURCES, o el mismo asistente. Un evento sin RESOURCES reserva su LOCATION. Los eventos de todo el día, los cancelados y los marcados como libres no cuentan. Una misma clase escrita varias veces, una por grupo o por calendario de docente, tal como la exporta el software de horarios, es una sola reserva: las copias con las mismas horas y la misma asignatura (o el mismo título) nunca entran en conflicto entre sí.
Al guardar un cambio, solo se reescriben las líneas que ha modificado. Todas las demás líneas del archivo, incluidos los recordatorios, las definiciones de zona horaria y los campos personalizados X-, se vuelven a escribir exactamente como se leyeron. El evento editado recibe un SEQUENCE más alto y un DTSTAMP nuevo, que es como el estándar iCalendar marca una versión revisada del mismo evento. En un evento periódico, usted elige el alcance, como en Google Calendar u Outlook: este evento (una excepción con RECURRENCE-ID), este evento y los siguientes (la serie termina con UNTIL y empieza una serie nueva) o todos los eventos (la serie se mueve, y sus fechas de excepción se mueven con ella).