It is currently 8 June 2025, 4:14 Advanced search

Problema sync con apertura anticipata di una view

Domande e risposte su come utilizzare Instant Developer Cloud al meglio

Problema sync con apertura anticipata di una view

Postby A.Piunti » 24 May 2023, 10:37

Buongiorno,

In un'app offline al click di un pulsante, viene richiamata una funzione RFC che genera un sondaggio composto da diverse parti:
una testata, diverse categorie e un numero variabile di domande per ogni categoria.
Inoltre, viene aperta una view per mostrare il sondaggio appena creato.

Tutti i dati che compongono il sondaggio sono sincronizzati e inviati al client.
Tuttavia, si verifica un inconveniente: a volte la schermata del sondaggio viene aperta prima che tutte le variazioni siano state ricevute dal dispositivo.
Di conseguenza, il sondaggio viene mostrato all'utente con solo una parte delle categorie e/o domande.

Mi chiedevo quale fosse la soluzione migliore per garantire che la schermata venga aperta solo quando il client ha ricevuto tutte le variazioni relative a quel sondaggio.
Attualmente, lato server, il sondaggio viene salvato eseguendo un singolo 'save.()' sulla testata.

Grazie
User avatar
A.Piunti
 
Posts: 317
Joined: 1 January 2015, 13:20

Re: Problema sync con apertura anticipata di una view

Postby d.termini » 24 May 2023, 12:08

Evento app.sync.DO.onSync parametro status == "completed"
Io lancio la sync dopo il login dell'utente e attendo che sia completata prima di aprire la pagina principale.
d.termini
 
Posts: 1656
Joined: 13 November 2017, 8:41

Re: Problema sync con apertura anticipata di una view

Postby A.Piunti » 26 May 2023, 10:14

d.termini wrote:Evento app.sync.DO.onSync parametro status == "completed"
Io lancio la sync dopo il login dell'utente e attendo che sia completata prima di aprire la pagina principale.


La ringrazio per la risposta, ma credo che nel mio caso non sia possibile utilizzare l'evento app.sync.DO.onSync
in quanto non si sta gestendo una sincronizzazione completa o differenziale, ma la ricezione di variazioni.

Cerco di spiegarmi meglio:
L'utente entra in app ed esegue la syncronizzazione,
il canale della sync resta sempre aperto
app.sync.autoConnect = App.Sync.autoConnectTypes.alwaysConnected;
da una videata specifica clicca su un bottone "genera sondaggio", la funzione è rfc e genera dei dati lato server
al termine della procedura si apre la videata "Sondaggio".
I dati creati lato server generano n variazioni "SyncDO process variation of document" che vengono ricevuti dal client,
ma allo stato attuale la videata "Sondaggio" viene aperta prima che il client riceva tutte le variazioni.
User avatar
A.Piunti
 
Posts: 317
Joined: 1 January 2015, 13:20

Re: Problema sync con apertura anticipata di una view

Postby d.termini » 26 May 2023, 12:14

In effetti anche io questa la uso solo al login, non so se gli eventi scattino anche quando ci sono semplici variazioni a runtime.

In alternativa è possibile provare usando un timer e l'evento onDocUpdate, ogni volta che arriva una variazione si azzera il tempo del timer così non riesce a far scattare il suo evento, se non arriva niente entro il tempo del timer si presume che abbia finito e quindi scatta l'evento del timer che apre la schermata del sondaggio.

Altrimenti bisogna inviare tutto in una sync sola con un documento che raccoglie tutto (DO remota) restando in attesa e gestirlo così.
d.termini
 
Posts: 1656
Joined: 13 November 2017, 8:41


Return to Tips & Tricks - Cloud

Who is online

Users browsing this forum: No registered users and 10 guests