e' stata modificata completamente la memorizzazione dei questionari compilati, modificato da salvataggio REAL-TIME a QUASI-REAL-TIME:
PRIMA¶
Un utente inviava al server un questionario e questo, dopo una serie di controlli veniva memorizzato direttamente nel DB.
Le sessioni con il DB che venivano aperte erano:
- controllo e "correzione" dati (mysqli::real_escape_string());
- conferma iscritto
- controllo coordinate (per i questionari pervenuti da android == DEPRECATO)
- salvataggio (condivideva la stessa sessione nel punto 1)
DOPO¶
Al questionario pervenuto, strutturato in un array viene:
- aggiunto il campo contenente l'orario di compilazione;
- serializzato (php::serialize());
- salvato su disco in una directory predefinita, con un nome file causale ma univoco, con prefisso quest_.
Separatamente, come per le altre routine presenti, una procedura a intervalli regolari:
- controlla se nella directory dei questionari sia presente qualche nuovo file;
- prende e deserializza il contenuto, quindi l'array con i dati del questionario (php::unserialize());
- esegue la procedura per il calcolo degli score MCS/EMS e applica il controllo della moda;
- salva il questionario su db (oppure sposta il file in una directory dedicata agli errori)
nella nuova configurazione viene attivato un unico collegamento al database, con cui vengono effettuati tutti i controlli e il salvataggio del questionario.
La sessione e' sicuramente piu' lunga e il salvataggio dei questionari non e' realtime ma si riduce ancor piu' il peso sul db.