2012-04-21 13 views
13

He utilizado el último par de días la creación de una aplicación que construye un archivo .ics (ica)Ical VALARM no registrering

Está codificado en PHP, y las funciones de base funcionan bien (zonas horarias, vevent de, y por lo en) pero cuando agrego VALARM de dentro de los VEVENT ni calendario de Google, ni Outlook 2010 complemento de los nofifications al de su calendario

un fragmento del archivo ICS:

BEGIN:VEVENT 
UID:[email protected] 
DTSTAMP:20120420T174122Z 
DTSTART;TZID=Europe/Berlin:20120416T081000 
DTEND;TZID=Europe/Berlin:20120416T091000 
LOCATION:A102 - Teori Frh. 
SUMMARY:Hold: 2.B Kemi B 
DESCRIPTION:Lærer: Jeppe Byrialsen Jensen (JBJ) Noter: Lab øvelser om alkoholers blandbarhed 
BEGIN:VALARM 
ACTION:DISPLAY 
DESCRIPTION:Hold: 2.B Kemi B 
TRIGGER:-P0DT0H30M0S 
END:VALARM 
END:VEVENT 

EDIT: parece que funciona si importarlo de un archivo, pero lamentablemente necesita importarlo de un sitio web.

Respuesta

2

Estoy teniendo el mismo problema. Exporté mis calendarios creados en Google Calendar y la sección VALARM se ve exactamente igual a la que exporté. Tengo la sensación de que es un problema del lado de Google. He visto estas preguntas 2 o 3 veces más en Stack Overflow sin una respuesta.

+0

Tenía esa sensación tristemente. No he podido obtener una cuenta de google, pero realmente me molesta. De lo que he leído en Internet, MS Outlook 2010 tiene el mismo problema. –

+0

Vea mi respuesta aquí, debería ayudarlo: http://stackoverflow.com/a/16540934/834431 – Chris

1

podría aclarar lo que quiere decir con "no registrarse". Por ejemplo, copié tu código y lo importé en el calendario de Google y muestra claramente Recordatorio: ventana emergente 30mn en la propiedad del evento.

Es que espera ver un elemento en el calendario donde la alarma debería tener lugar. Creo que esto no es lo que el RFC5545 implica como comportamiento para VALARM.

+0

¿Tiene la alarma? Cómo. He intentado hacer esto por poco más de un mes y aún no lo he logrado. –

+0

Parece que funciona si lo importa desde un archivo, pero no si lo importa desde un sitio web (que es lo que necesito). Lo más peculiar es –

+0

. Definitivamente es un error del calendario de google: el mismo evento cuando se importa como un archivo muestra el recordatorio, pero cuando se importa de URL no lo hace. Uno podría asumir que es una diferencia entre "calendarios personales" y "otros calendarios", pero incluso si el evento se "mueve" de "otros calendarios" a "mi calendario", el evento ha "perdido" sus recordatorios. – oberron

0

Por lo que vale la pena, esto no es un error, per se, sino una elección que los implementadores del calendario eligen que sea compatible con el RFC. Ver http://sourceforge.net/p/dday-ical/discussion/656447/thread/01111137#23c5

Creo que el temor es que si la acción es de audio, entonces el cliente tiene que ejecutar el archivo adjunto (supuestamente un archivo de sonido) cuando se produce el evento desencadenante. Sin embargo, no hay garantía de que el archivo de sonido sea realmente un archivo de sonido y no algo más infame.

Ahora, por qué ignora los valarms con la acción de la pantalla, no lo sé.

6

Tuvimos el mismo problema, pero encontramos que los fragmentos de código de ejemplo que usan \n al final de cada línea necesitan usar \r\n en su lugar.

El validador de iCal en http://severinghaus.org/projects/icv/ resaltado esto como una advertencia, a pesar de los archivos de iCal de trabajo a excepción de la alarma de aviso no se encuentra en Outlook 2010.

He aquí un fichero iCal ejemplo, que funciona exactamente como se esperaba cuando se abren en Outlook 2010, incluida la configuración del recordatorio para 1 hora (siempre y cuando los saltos de línea son \r\n):

BEGIN:VCALENDAR 
VERSION:2.0 
PRODID:-//Keeble Smith//NONSGML GETONCOURT.COM//EN 
BEGIN:VEVENT 
DTSTART:20130514T190000Z 
DTEND:20130514T194000Z 
LOCATION:Court 2\, Demo Squash Club 
DESCRIPTION:View this court booking on getoncourt.com: http://democlub.getoncourt.com/booking-details/dmo3106 
SUMMARY:Squash court booking for John Smith - DMO3106 
BEGIN:VALARM 
TRIGGER:-PT60M 
ACTION:DISPLAY 
DESCRIPTION:Reminder 
END:VALARM 
END:VEVENT 
END:VCALENDAR 

Tenga en cuenta también los caracteres especiales escapados. Asegúrese de escapar de la siguiente en los valores de texto (no la instancia EOL sin embargo):

\ to \\ 
; to \; 
, to \, 
\n to \\n 
+1

Las partes de VALARM aún son ignoradas por Outlook y Google Calendar. Funciona con el Calendario de iPhone. – Mike

+0

¿Ha comprobado los caracteres EOL como se menciona en la respuesta? – Chris

+0

Sí, \ r \ n está en cada línea. Parece que Google decidió ignorar las alarmas, que aún cumple con [RFC de iCal] (http://tools.ietf.org/html/rfc5545#page-75): "Nota: las implementaciones deben considerar cuidadosamente si aceptan componentes de alarma. de fuentes que no son de confianza, por ejemplo, cuando se importan objetos de calendario de fuentes externas. Una política razonable es ignorar siempre los componentes de alarma que el usuario del calendario no ha configurado, o al menos pedir confirmación en tal caso ". – Mike

1

EM establece que Outlook pasa por alto varios de los ajustes de alarma estándar, consulte: http://msdn.microsoft.com/en-us/library/ee624781(v=exchg.80).aspx

He encontrado que este no es el caso en Outlook 2013.Quité:

ACCIÓN: DISPLAY DESCRIPCIÓN: Recordatorio

y la alarma funciona para mí en Outlook 2013.

parece ser un caso de MS Outlook no seguir la norma RFC5545, ni después de su propia estándar de implementación.

Cuestiones relacionadas