Desidero creare un calendario nella mia applicazione che gli utenti esterni possano visualizzare.Creazione di un servizio CalDAV con .Net
Il formato CalDAV (in pratica WebDAV + iCalendar) sembra essere relativamente ampiamente supportato, anche se piuttosto insolitamente da alcuni client (Outlook, ad esempio). Completamente nuovo per me però.
Desidero pubblicare eventi esternamente, non è necessario che gli utenti siano in grado di aggiornarli.
Il formato di testo degli eventi nei file .ics appare relativamente semplice:
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
Tuttavia non voglio davvero di scrivere il mio costruttore di file ICS. I nomi delle chiavi che iniziano su ogni riga non sembrano essere molto coerenti tra i file ics.
Esiste un'implementazione .Net? Idealmente non voglio impostare un'intera implementazione WebDAV, solo la possibilità di recuperare un calendario di sola lettura.
Principalmente voglio che questo sia all'URL che gli utenti possano sincronizzare da telefoni iPhone, Android e Blackberry. So che possono gestire i servizi CalDAV da alcuni fornitori ma non da altri (ad esempio il mio iPhone può sincronizzarsi dal calendario di Google ma non riesce con gli eventi di FaceBook) - qualcuno ha qualche idea del perché?
Penso che gli eventi possano contenere anche allegati MIME: è sufficientemente supportato per poter essere valutato?
Aggiornamento
ulteriori ricerche su questo ha individuato alcune incongruenze strane nella maggior parte delle implementazioni. Nessuno dei principali sistemi operativi per client mobili (iPhone, Blackberry, Android) può gestire file .ics.
Tuttavia gli iPhone possono aprire un .ics da un URL (scegliere di iscriversi a un calendario) e questo funziona anche con FaceBook. Blackberry e Android non possono comunque. Penso che il Blackberry sia in grado di gestire l'intera opzione CalDAV (piuttosto che solo il file .ics), ma non sappiamo molto sulla programmazione per questo.
Esiste un modo coerente per farlo?
Sono curioso, hai finito per fare qualcosa con questo? – balexandre