/ / GWT: come forzare il cliente a scaricare nuovamente l'intera app quando è disponibile una nuova versione? - java, google-app-engine, gwt

GWT: come forzare il cliente a riscaricare l'intera app quando è disponibile una nuova versione? - java, google-app-engine, gwt

Scrivo la mia prima app GWT / GAE e ho pensato a un "caso limite" in cui distribuisco una nuova versione che modifica radicalmente il codice front-end (GWT / JS).

Se qualcuno ha effettuato l'accesso e sta utilizzando attivamente la mia app, e io eseguo questa distribuzione, mi piacerebbe che succedesse quanto segue:

  1. Usa una finestra di dialogo modale per segnalare all'utente che è disponibile una nuova versione dell'app e che quando fanno clic sul pulsante "OK" nella finestra di dialogo la schermata cambierà
  2. Fanno clic su OK
  3. Tutti i lavori sulla pagina corrente su cui si trovano vengono salvati (in qualche modo - persistenza HTML5 forse?)
  4. Sono disconnessi (necessario?)
  5. Il browser scarica la nuova "versione" dell'app client (nuovo HTML / JS / CSS)
  6. Sono registrati di nuovo
  7. Vengono riportati alla pagina / stato da dove sono stati interrotti, con (si spera) nessun lavoro perso

In che modo altri maestri GWT / GAE si occupano di questo caso d'uso? Sono in pista o fuori dalla base? Grazie in anticipo!

risposte:

2 per risposta № 1

Agli utenti non piace essere interrotti per gli aggiornamenti: il team di Firefox l'ha imparato a fondo quando ha iniziato a mostrare i popup. A meno che l'aggiornamento non corregge un difetto di sicurezza critico, non farlo.

Quando rilascerai una nuova versione in GWT, gli utenti lo farannocaricarlo la prossima volta che visitano il tuo sito web. È una buona idea chiudere l'app dopo un periodo di inattività. In un breve periodo di tempo tutti gli utenti passeranno alla versione successiva e non dovrai fare nulla per farlo accadere.

Tieni presente che App Engine ti consente di specificare ilversione predefinita della tua app, ma i tuoi utenti possono avere accesso anche ad altre versioni. Questo è molto utile in situazioni in cui si verificano cambiamenti drammatici. L'approccio migliore è invitare alcuni utenti a provare una nuova versione. In questo modo è possibile assicurarsi che la nuova versione funzioni correttamente, prima di renderla una versione predefinita.