Programmazione di servizi per Internet Gabriele LAURI Programmazione di servizi per Internet Corso OSAD
Panoramica ● Il progetto prevede lo sviluppo di una interfaccia web per la gestione dei dati anagrafici ed amministrativi dei lavoratori di una azienda. ● E' possibile ottenere una graduatoria in base all'anzianità d'inscrizione ed un report in un foglio di calcolo. ● Per l'accesso alla gestione dei dati, l'utente deve registrarsi ed accedere al sistema con delle credenziali memorizzate sul server. ● Ad ogni modifica alla configurazione di un utente viene inviata una mail di informazione e tenuta traccia sul server delle avvenute modifiche nonché della mail inviata.
Home Page Gestione DB e Copyleft Gestione AccessoGestione Web
Gestione DB e Copyleft ● Il link posto in fondo alla pagina “Create Database” viene visualizzato solamente la prima volta nel caso in cui non sia presente la struttura del database. ● Tramite questo link viene creato il database “Osad” sul server locale nonché le tabelle e le rispettive relazioni. Per documentarne il funzionamento, tramite lo stesso link è possibile l'inserimento nelle tabelle di un insieme minimo di dati. ● Il sito aderisce alla licenza GNU GPL e attraverso questo link è possibile visualizzarene i termini; tramite il di mailto è possibile invece inviare commenti via al webmaster.GNU GPL
Registration Form
● La pagina di registrazione dei dati è raggiungibile tramite il link “?” nella sezione a destra nell' home page. ● Ogni campo viene filtrato da spazi ad eccezione dei campi Nome, Cognome, Comune ed Indirizzo. ● Per i campi Data di Nascita, CAP, Telefono, e Codice Fiscale viene effettuato un controllo sulla sintassi del dato inserito tramite l'utilizzo di espressioni regolari. ● La maggior parte di campi viene convertita in maiuscolo ad eccezione della (in minuscolo), Username e Password. ● La pagina di riepilogo degli errori riporta i campi obbligatori non inseriti e quelli la cui sintassi è sbagliata.
Registration Form ● Convalidati i dati inseriti nella form di registrazione viene presentata una maschera di riepilogo della user e password inserita. Qui si ha la possibilità di effettuare subito il login con le credenziali inserite o di stampare la user e password. ● La memorizzazione nel database dei dati inseriti conserva anche altre informazioni non visibili all' utente quali: – Host, Protocollo, Indirizzo, Porta, ed Browser del client ove l'utente si sta registrando; – Timestamp del giorno ed ora dell'inserimento. ● Viene inviata una mail riepilogativa dei dati inseriti all'indirizzo contenuto nel form di registrazione.
Registration Form
User Page
● Sia effettuando il login dalla home page che successivamente al form di registrazione del nuovo utente viene richiamata la pagina di autenticazione che ha il compito di verificare le credenziali immesse e quanto memorizzato nel database. ● Sicurezza: – utilizzo protocollo https, grazie al certificato emesso da “Apache Friends” ed utilizzabile nella piattaforma Xampp; – invio dei dati in modalità POST e quindi trasmessi nell' header http ed utilizzo delle sessioni; – memorizzazione della password cifrata grazie alla funzione di php “crypt()”
User Page
● Le pagine raggiungibili dai pulsanti sulla barra di navigazione a sinistra della home page, ovvero Product, Service e Links sono visualizzabili solamente per gli utenti registrati. ● Nel caso un utente non registrato volesse provare ad aprirle direttamente, comparirebbe il messaggio visto nella precedente slide, e con l'ausilio di una funzione javascript lato client la pagina verrà ridirezionata verso l' home page di registrazione. ● Il codice è il seguente: – function doRedirect() {location.href="/osad/index.php";} window.setTimeout("doRedirect()", 5000);
User Page
● La barra di navigazione destra, una volta eseguito l' accesso varia, mostrando a seconda della tipologia di utente i pulsanti: – myprofile, per accedere alla visualizzazione/modifica dei dati dell'utente con il quale si è fatto accesso. – logout, per uscire dalla sessione e tornare alla home page. – user Profile, visualizzabile solamente per un utente con la qualifica amministrativa, consente la ricerca per username degli utenti registrati, la modifica dei dati, l'attribuzione dei privilegi amministrativi nonche il reset della password. ● Ad ogni modifica corrisponde l'invio di una mail.
User Page
Cruscotto Prodotto
● La form di inserimento dei dati del lavoratore segue gli stessi controlli effettuati nella registration form. ● La pagina di riepilogo degli errori suddivide quindi in errori formali ed errori sintattici. ● Nel caso di un lavoratore con cittadinanza estera i dati di cui alla sezione 2 della form “Dati per il lavoratore straniero” sono obbligatori. ● La ricerca avviene per il campo chiave “Codice Fiscale” e produce come risultato il form di inserimento con i dati precompilati con quanto presente nel database.
Cruscotto Prodotto
● Dopo aver verificato la presenza i dati obbligatori e la loro conformità alla sintassi dei moduli, salvando i dati nel database viene presentata una pagina di conferma dell'avvenuta memorizzazione. ● Da questa pagina è possibile cliccare su di un link che consente di accedere alla visualizzazione di una pagina di riepilogo dei dati inseriti. ● Questa pagina è stata stilisticamente rivista in modo tale da poterne consentire la stampa tramite il pulsante dedicato, su di una stampante locale al client dell'utente nel formato A4. ● La pagina è raggiungibile solo dopo il salvataggio dei dati.
Cruscotto Prodotto
Cruscotto Servizio
● In questa sezione del sito invece si ha la possibilità di visualizzare ed eventualmente esportare in locale la graduatoria dei lavoratori registrati in base alla data di registrazione. ● Dalla pagina di graduatoria è possibile accedere direttamente alla pagina di modifica dei dati del lavoratore che a quella di sola visualizzazione e stampa, riepilogativa. ● L'export dei dati avviene tramite una estensione di PHP utilizzando il componente PEAR (PHP Extension and Application Repository) Spreadsheet Excel Writer configurato in localhost.PEAR Spreadsheet Excel Writer ● L'invio in locale avviene tramite un nuovo header verso il client e ne consente l'apertura o il salvataggio.
Cruscotto Servizio
Ringraziamenti ● Eustema S.p.A. Soluzioni Informatiche; ● Associazione Centro Elis; ● Assessorato Scuola, Formazione e Lavoro della Regione Lazio.