Sto utilizzando FullCalendar nella mia applicazione per visualizzare eventi creati tramite la nostra applicazione.Sincronizzazione a 2 vie con Google Calendar/Outlook
Ho un modulo di aggiunta/modifica per la creazione/aggiornamento di eventi. Questi eventi sono memorizzati nel db utilizzato dall'applicazione.
Ho bisogno di andare oltre e devo sincronizzare i calendari di Google e Outlook nel mio calendario. Questa dovrebbe essere la sincronizzazione a 2 vie i.e
Se creo/modifica/aggiorno un evento nel mio calendario dovrebbe essere creato/modificato/eliminato nei calendari di Google/Outlook.
Dovrebbe essere anche vice-versa.
Se faccio qualche modifica nei calendari di Google/Outlook dovrebbe essere visibile nel mio calendario.
Vorrei i vostri pensieri su applicazione del presente:
Dovrei recuperare tutti gli eventi di Google/Outlook e importarli nel mio db e poi visualizzarle a mio avviso calendario. È anche tecnicamente possibile? Importa l'intero set di eventi di un canale sul mio db.
Devo solo fare una GET tramite l'API di Google/Outlook per recuperare gli eventi per una vista particolare in cui sono ora nel mio calendario (Avrò i dati di avvio e la data di fine della mia vista del calendario) e mostrerò loro al mio calendario (cioè non sto memorizzando quegli eventi esterni nel mio db). Se un utente desidera apportare modifiche agli eventi che devono essere aggiornati direttamente nei calendari di Google/Outlook tramite le loro chiamate API di creazione/aggiornamento ed eliminazione.
Quale dovrebbe essere l'approccio migliore?
Edit:
sono andato a https://calendar.sunrise.am/ (una delle web app Calendar Sync) ed ho notato
vale a dire che stanno permettendo molte diverse applicazioni calendari/compiti che devono essere sincronizzati nel loro calendario .
Vedere tutto ciò che sento che archiviare tutti gli eventi di tutte quelle applicazioni nel db della nostra applicazione non è fattibile. Se vengono apportate modifiche a tali eventi tramite la mia applicazione, dovrei chiamare l'API di tali applicazioni per apportare tale modifica alla loro applicazione (calendario di Google, Outlook ecc.).
Qual è il tuo pensiero?
Ottima spiegazione. Ho solo un'altra domanda. Durante la memorizzazione di eventi esterni nella mia applicazione dovrei creare colonne per tutti i campi che l'evento esterno sta rappresentando o dovrei fare solo alcuni importanti? Inoltre ho notato che Google e Outlook hanno entrambi set di campi diversi che rappresentano eventi. Come dovrei avvicinarmi mentre aggiorno i campi su una fonte esterna diversa da quelli importanti. – Raghav
@Raghav Suppongo che se il provider consente gli aggiornamenti parziali (ovvero, aggiorna solo determinate colonne, non l'intero evento), allora sono necessarie solo le colonne effettivamente utilizzate nell'applicazione. Quando l'utente li cambia, pubblichi gli aggiornamenti di tali colonne al fornitore. Quando si riceve un aggiornamento dal provider, ma nessuno dei campi a cui si è interessati è stato modificato, si aggiorna ancora la data/ora di quell'evento, ma in caso contrario non fare nulla (not notify user). Per quanto riguarda i diversi set di campi, devi in qualche modo unificarli, perché nella UI continuerai a visualizzarli in modo simile. – Evk