Pregunta

Quiero crear un calendario en mi aplicación que los usuarios externos puedan ver.

El formato CalDAV (básicamente WebDAV + iCalendar) parece tener un soporte relativamente amplio, aunque es bastante inusual para algunos clientes (Outlook, por ejemplo). Aunque completamente nuevo para mí.

Quiero publicar eventos externamente, no necesito que los usuarios puedan actualizarlos.

El formato de texto de los eventos en los archivos .ics parece relativamente simple:

BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN

BEGIN:VEVENT
DTSTART:20091130T000000Z
DTEND:20091201T000000Z
SUMMARY:Test event for calendar format
LOCATION:Company site
DESCRIPTION:Test event.\nMore text on a new line
END:VEVENT

END:VCALENDAR

Sin embargo, realmente no quiero escribir mi propio creador de archivos ics. Los nombres clave que comienzan en cada línea no parecen ser muy consistentes entre los archivos ics también.

¿Hay una implementación de .Net por ahí? Lo ideal es que no quiera configurar una implementación completa de WebDAV, solo la capacidad de recuperar un calendario de solo lectura.

Principalmente quiero que esto esté en una URL que los usuarios puedan sincronizar desde los teléfonos iPhone, Android y Blackberry. Sé que pueden manejar los servicios de CalDAV de algunos proveedores pero no de otros (por ejemplo, mi iPhone puede sincronizarse desde el calendario de Google pero falla con los eventos de FaceBook). ¿Alguien tiene alguna idea de por qué?

Creo que los eventos también pueden contener archivos adjuntos MIME. ¿Es esto lo suficientemente compatible como para que valga la pena verlo?

Actualizar

Investigaciones adicionales sobre esto han identificado algunas inconsistencias extrañas en la mayoría de las implementaciones. Ninguno de los principales sistemas operativos de clientes móviles (iPhone, Blackberry, Android) puede manejar archivos .ics.

Sin embargo, los iPhones pueden abrir un archivo .ics desde una URL (elija suscribirse a un calendario) y esto también funciona con FaceBook. Blackberry y Android no pueden sin embargo. Creo que Blackberry puede manejar la opción completa de CalDAV (en lugar de solo el archivo .ics) pero no sé mucho sobre programación para ello.

¿Hay una manera consistente de hacer esto por ahí?

¿Fue útil?

Solución

He usado http://sourceforge.net/projects/dday-ical/ para un proyecto el año pasado. Funciona perfectamente!

Otros consejos

La compañía IT Hit WebDav System ofrece

  • IT Hit WebDAV Server Engine v3 para .Net (a partir de $ 1250) y
  • un IT Hit WebDAV Client .Net (a partir de $ 350).

Funciona con el calendario iOS, Android CalDAV-Sync, el calendario Mac OS X, Mozilla Lightning, eM Client, el complemento Bynari Outlook, Evolution y otros.

Si lo que está buscando es un cliente CalDAV, mi sugerencia es DAVDroid , esta es la mejor Cliente CalDAV nunca lo he intentado. Es un conector para la cuenta de calendario de su teléfono que permite consumir los datos de su servidor CalDAV desde cualquier aplicación de calendario instalada en su teléfono.

Otros clientes interesantes de CalDAV son:

Windows:

Si estás buscando una biblioteca de ICalendar para .NET, puedes verificar la que compilamos mi amigo y yo: ICalendar

Cualquier duda que nos puedas preguntar !!!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top