Sto sviluppando un modello OOP + DB per eseguire delle operazioni particolari in remoto.
Tali operazioni purtroppo richiedono una certa quantità di tempo.
Il modello di cui sopra sarà adattato a Drupal, poiché sto utilizzando questo CMS al momento.
Attualmente, in fase di test, nel momento in cui clicco sul link, parte l'secuzione dispendiosa di tempo. Purtroppo però, a parte i soliti output del browser che indicano "sto elaborando attendi", non ho implementato niente, così l'utente si ritrova a visualizzare la pagina vecchia in attesa dell'esito delle operazioni. E questo potrebbe disorientare l'utente facendogli credere che magari il processo si è bloccato.
Non ci saranno troppi utenti ad utilizzare tale servizio, ma quei pochi non sono affatto tecnici, tutt'altro.
Vorrei dunque implementare le seguenti soluzioni o una terza formata dalle prime due, però ignoro come si faccia e vorrei chiedere aiuto qui.
- Un overlay, con la classica animazione a mo di orologio, il quale dura finché è in elaborazione e il messaggio "attendi elaborazione in corso" et similia - presumo sia un AJAX.
- una sorta di log in runtime, per fare un esempio, quando phpmyadmin carica le tabelle, si vedono via via visualizzarsi a video; io magari inserirei una serie di messaggi quali ad esempio "operazione 1 di 250.... completa", "operazione 2 di 250....completa"...
- l'unione delle due, l'overlay con il log sotto che via via scorre.
Terminate le operazioni, resta la pagina con la tabella finale creata.
A prescindere dal CMS che sto usando, generalmente, un qualcosa di simile in che modo potrei implementarlo? Cos'esiste di pronto da adattare?
Un'ulteriore modifica, sarebbe quella di lanciare da pagina web il comando da eseguire poi in background, a prescindere dalla pagina aperta - mettete caso l'utente per errore chiuda la finestra, poi che fa? Riapre la pagina e aspetta un'altra mezz'oretta? -...
Idee, suggerimenti?
Grazie.