Buongiorno,
ho una applicazione (utilizzata sia online che offline) in cui ho la sincronizzazione attiva.
Ogni tanto si presentano, per diversi motivi, degli errori di sincronizzazione che causano il disallineamento dei dati con il server.
Volevo sfruttare l'opzione compareData del metodo app.sync.DO.resyncAllClasses introdotto nella versione 19.5 di inde cloud per gestire e allineare correttamente i dati presenti sui dispositivi degli utenti con quelli presenti nel server.
In una procedura ho richiamato il metodo resyncAllClasses come segue:
var coll = new App.Collection(app);
yield app.sync.DO.resyncAllClasses({compareData : true, dataDiff : coll});
Come va gestita la collection "coll" delle differenze riscontrate?
Facendo delle prove a me sembra che i documenti trovati con stato "inserted" (non presenti in locale) e "updated" (con almeno un valore di proprietà diverso dal server) vengano già allineati correttamente durante la resyncAllClasses mentre quelli in stato "deleted" (presenti in locale ma non più sul server) vanno invece gestiti ed eliminati a mano per eliminarli anche sul dispositivo.