Calendario: ¡falta información de zona horaria en el archivo ICS!

Vi otra publicación que decía que publicara aquí por alguna razón sobre el calendario, pero no creo que Discourse tenga nada que ver con este problema, ¡pero nuestras publicaciones se cierran después de 7 días, así que YOLO!

Al ver la especificación del archivo .ics, no sé cuál necesitamos, pero nos faltan estos… es

  1. X-WR-TIMEZONE
  2. TZID
  3. X-LIC-LOCATION

Así que creo que la configuración de zona horaria en el paquete debería extraerse y debería agregar X-WR-TIMEZONE para que coincida… cuando importas desde Google, asume tu local… pero en GoDaddy no puedo encontrar por ningún motivo dónde configurarlo… y funcionó antes porque supongo que los antiguos calendarios ics tenían información de zona horaria.

Ejemplo con información de zona horaria adecuada… X-WR-TIMEZONE y X-LIC-LOCATION están configurados y el evento tiene DTSTART;TZID=“America/Los_Angeles”:20160206T074400 y DTEND;TZID=“America/Los_Angeles”:20160206T084400

Creo que, como mínimo, la solución sería agregar X-WR-TIMEZONE y X-LIC-LOCATION, y la especificación adecuada debería permitir que cada evento tenga su propia zona horaria de inicio y fin… estoy seguro de que ustedes suben a los aviones y, a medida que se mueven, la configuración de la zona horaria se ajustará si se establece correctamente en el calendario.

BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 19.0 MIMEDIR//EN
VERSION:2.0
X-WR-TIMEZONE:America/Los_Angeles
METHOD:PUBLISH
BEGIN:VTIMEZONE
TZID:America/Los_Angeles
X-LIC-LOCATION:America/Los_Angeles
BEGIN:DAYLIGHT
TZOFFSETFROM:-0800
TZOFFSETTO:-0700
TZNAME:PDT
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0700
TZOFFSETTO:-0800
TZNAME:PST
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
SUMMARY:Appointment
LOCATION:Pune
DESCRIPTION:Your appointment Details:\n\nPatient Details:Kou Kul\nKeven\n\nAppointment Type:Counselling (30 min)\n\nThanks.
DTSTART;TZID="America/Los_Angeles":20160206T074400
DTEND;TZID="America/Los_Angeles":20160206T084400
PRIORITY:5
STATUS:CONFIRMED
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR

stephen_Hornak
ChristopherCamacho
Matt.Johnson
jacobfetzer

4 Me gusta

¿Alguna noticia sobre esto? El archivo ics todavía carece de información de zona horaria. Por lo tanto, cuando los usuarios importan el archivo ics de Discourse a su calendario, obtienen la hora incorrecta.

El archivo ics que generamos sigue la especificación iCalendar. Específicamente, para Time, generamos marcas de tiempo UTC (código fuente 1, código fuente 2) con el sufijo Z que se adhieren a lo siguiente:

FORM #2: HORA UTC

      La hora UTC, o hora absoluta, se identifica con un carácter sufijo Z,
      la designación UTC, que se añade al valor de la hora. Por ejemplo,
      lo siguiente representa las 07:00 AM UTC:

       070000Z

      El parámetro de propiedad "TZID" NO DEBE aplicarse a las propiedades
      TIME cuyos valores de hora se especifican en UTC.

Las otras propiedades X-WR-TIMEZONE y X-LIC-LOCATION no forman parte de esa especificación.

Siguiendo el tema original en el OP, veo que otros han notado en un tema relacionado que este problema es específico de la vista de calendario de godaddy. Quizás sea un problema con la forma en que se maneja en su adaptador al importar archivos ical. ¿Ha notado este problema con otros calendarios?

1 me gusta

El identificador de zona horaria TZID es parte de esa especificación RFC 5545 - Internet Calendaring and Scheduling Core Object Specification (iCalendar)

Sí, entiendo esa parte. También se indica en la misma especificación:

El parámetro de propiedad "TZID" NO DEBE aplicarse a las propiedades DATE y a las propiedades DATE-TIME o TIME cuyos valores de tiempo se especifican en UTC.

Nuestras marcas de tiempo se especifican en UTC, por lo tanto, no se debe aplicar el parámetro TZID.