PWA offline-first
Come funziona la valutazione digitale senza rete e come si sincronizza quando torna la connessione.
Che cos’è
La valutazione digitale è una PWA (Progressive Web App) offline-first. Questo significa che:
- Si apre come una normale pagina web (non è un’app da scaricare da uno store).
- Una volta aperta, funziona anche se perdi la connessione.
- Quando la connessione torna, sincronizza automaticamente i dati con il server.
Perché è importante
Il laboratorio del cioccolatiere non ha sempre una buona connessione: celle frigorifere con pareti spesse, scantinati, cucine industriali con Wi-Fi limitato. Uno strumento che si blocca appena cala il segnale è inutilizzabile nella pratica.
Come funziona
Prima apertura (con rete)
- L’assaggiatore apre il link univoco. La PWA viene scaricata e salvata nella cache del browser.
- Vengono scaricati anche i dati di base della degustazione (campioni, protocollo, descrittori).
- Da questo momento l’assaggiatore può lavorare anche se la connessione cade. Quando la degustazione è già salvata sul telefono, la schermata di benvenuto lo segnala con l’avviso Ora puoi degustare offline.
Durante la valutazione (con o senza rete)
- Ogni campione viene salvato quando tocchi Salva e torna alla selezione. Se c’è rete, viene inviato subito al server.
- Se non c’è rete, il campione resta salvato sul dispositivo (IndexedDB) e viene inviato automaticamente appena torna la connessione; finché ci sono salvataggi in sospeso, l’app riprova ogni 30 secondi.
- Se l’assaggiatore apre la scheda senza connessione e il telefono ha la copia della degustazione, vede l’avviso «Offline: stai degustando con la copia salvata su questo telefono. I tuoi punteggi verranno inviati automaticamente appena torna la connessione.»
Dopo l’invio
- L’assaggiatore invia la valutazione con Conferma e invia: nel profilo descrittivo e nelle prove in cui si assegna un punteggio campione per campione, questo pulsante si trova nella schermata di riepilogo (a cui si arriva con Controlla e invia); nel test triangolare, nel confronto a coppie, nel test duo-trio e nell’ordinamento si trova direttamente nella scheda, e l’invio si conferma poi con Invia definitivamente. Se in quel momento non c’è rete, la schermata finale mostra In attesa di invio: la valutazione resta registrata sul telefono.
- Appena il dispositivo torna online, la valutazione viene caricata sul server e risulta completata nel dettaglio della degustazione del responsabile.
Indicatore di stato
Sotto l’intestazione, l’assaggiatore vede una piccola etichetta che indica lo stato di salvataggio e sincronizzazione. Quando tutto è aggiornato e c’è connessione, l’etichetta si nasconde. Gli stati che può mostrare sono:
- Salvataggio… — la modifica viene salvata sul dispositivo.
- Sincronizzazione… / Sincronizzazione di N elementi in sospeso… — le modifiche vengono inviate al server.
- Offline — senza rete e senza nulla in attesa di invio.
- Offline · N salvati in locale — senza rete, con modifiche salvate sul dispositivo in attesa di caricamento.
- Errore di sincronizzazione — qualcosa non ha funzionato durante il caricamento; riprova quando hai una rete stabile.
Non esiste uno stato chiamato «Salvato»: quando c’è connessione e non c’è nulla in sospeso, l’etichetta semplicemente scompare.
Cosa succede se chiudo il browser
- I dati sono salvati in locale. Riaprendo il link sullo stesso dispositivo e con lo stesso browser, recuperi la valutazione in corso.
- Se cambi dispositivo prima di sincronizzare, i dati del primo dispositivo resteranno lì finché non lo riapri. Se apri il link senza connessione su un dispositivo che non ha la copia, vedrai «Sei offline e su questo telefono non c’è una copia di questa degustazione…». Per evitare di perdere dati: completa la valutazione sullo stesso dispositivo su cui l’hai iniziata e assicurati di avere rete alla fine per sincronizzare.
Limiti, in tutta sincerità
- La prima apertura richiede la connessione per scaricare la PWA e i dati della degustazione.
- La sincronizzazione con il server ha bisogno della connessione (l’app non fa telepatia).
- Se chiudi il browser, perdi la sessione e il cookie, ma i dati restano in IndexedDB finché non riapri lo stesso link.
Consenso al trattamento dei dati
Cosa vede l’assaggiatore quando apre il link se la richiesta di consenso è attiva: informativa sulla privacy e casella obbligatoria prima di iniziare.
Guida del valutatore
Come un assaggiatore risponde a una degustazione dal cellulare: aprire il link, selezionare il campione tramite codice o QR, compilare la scheda e inviare.