Laboratori Nazionali di Frascati Workshop sulle problematiche di calcolo e reti nell'INFN Paestum, 9-12 Giugno 2003 Trouble Ticket Laboratori Nazionali di Frascati INFN Dael.Maselli@lnf.infn.it http://www.lnf.infn.it/~dmaselli/tticket
Esigenze degli utenti Disporre di uno strumento unico e semplice per la richiesta di assistenza o di supporto tecnico Tenere sotto controllo lo stato della richiesta effettuata Avere a disposizione gli aggiornamenti continui relativi all’intervento richiesto 10 giugno 2003 Dael Maselli
Esigenze del Servizio Organizzare il lavoro di supporto agli utenti in modo da suddividere i compiti e gestire le priorità Tenere traccia di ogni operazione svolta dal personale del Servizio e mantenerne uno storico Possibilità di monitorare i tempi di intervento per ottimizzare il lavoro Possibilità di effettuare accounting, quindi di suddividere i costi di intervento per gruppo 10 giugno 2003 Dael Maselli
Lo script trouble ticket: TTicket Gestione via Web Interfaccia semplice ma sufficientemente potente Identificazione degli utenti Store delle informazioni in Database DB separati per la gestione di più Servizi Informazioni statistiche con grafici 10 giugno 2003 Dael Maselli
Obiettivi nello sviluppo di TTicket Tenere sotto controllo le attività di supporto tramite pochi `click` Collaborazione tra admin, ottimizzazione dell’interazione all’interno del servizio Sensibilizzazione dell’utenza al fine di comprendere le priorità, grazie alla visualizzazione pubblica della lista delle richieste Sistema unificato per ogni tipologia di intervento 10 giugno 2003 Dael Maselli
Specifiche Sviluppato in PHP Protocolli http o https Interfacciato a database MySQL Autenticazioni possibili: AFS, NIS, Locale su DB Personalizzabile da file di configurazione e da tabelle MySQL 10 giugno 2003 Dael Maselli
Struttura DB 10 giugno 2003 Dael Maselli
Prerequisiti (lato server) Web Server Apache su Linux consigliato OpenSSL per l’autenticazione PHP integrato nel Webserver NIS configurato sulla macchina webserver Database server MySQL sulla LAN GDlibrary su php (per la visualizzazione dei grafici statistici) 10 giugno 2003 Dael Maselli
Requisiti (lato client) Internet Browser Netscape da v.4.7 MS Internet Explorer da v.5 Mozilla da v.0.9.2.1 o almeno con supporto Cookie Javascript 10 giugno 2003 Dael Maselli
Configurabilità tramite config file (1) (vedi appendice I) Autenticazione AFS, NIS, Locale su tabella MySQL (conforme al formato .htaccess mod_auth_mysql) (G) Possibilità di riservare l’accesso ad un DB ad un gruppo chiuso di utenti (DB) Possibilità di scegliere se mostrare i ticket a tutti gli utenti, nasconderne solo i dettagli o anche l’header (DB) G: Impostazione Globale DB: Configurabile per ogni DB 10 giugno 2003 Dael Maselli
G: Impostazione Globale DB: Configurabile per ogni DB Configurabilità tramite config file (2) Risoluzione indirizzi e-mail tramite userdb (sendmail) o routine personalizzabile (G) Inclusione file PHP o HTML: nel form di login (G) nella pagina di index (DB) Colori: aspetto estetico delle pagine (G) G: Impostazione Globale DB: Configurabile per ogni DB 10 giugno 2003 Dael Maselli
Configurabilità tramite DB (via web) Dopo la creazione di un Database per ogni Servizio (Es: Calcolo, SIS, etc.) Definizione delle tipologie di appartenenza delle richieste (Type) e delle sottocategorie (Subtype): Esempio di Type: PC, MAC, Network, Unix, etc. Esempio di Subtype: Hardware, Software Definizione degli amministratori (admin) per ciascun Database ed assegnazione dei Type a ciascun admin Pagine (PHP o html) da includere nei vari form di richiesta 10 giugno 2003 Dael Maselli
Caratteristiche di funzionamento (1) Il Trouble Ticket richiede l’autenticazione dell’utente che intende sottomettere una richiesta Dal momento dell’autenticazione l’utente può scegliere il servizio a cui inviarla Nell’ambito del Servizio può selezionare il Type, il Subtype appropriati, nonché la Priority I ticket sono catalogati secondo il Type ed elencati principalmente in ordine di Priority e tempo di vita Tutti gli aggiornamenti relativi ad un ticket vengono notificati tramite e-mail al proprietario ed agli admin del Type di appartenenza 10 giugno 2003 Dael Maselli
Caratteristiche di funzionamento (2) Ogni utente può fare degli aggiornamenti (update) solo al proprio ticket pur potendo opzionalmente leggerli tutti Gli utenti admin possono effettuare varie operazioni sui ticket dei quali Type sono responsabili: Cambiarne le caratteristiche quali Type, Subtype e Priority Prenderli in carico (at Work) Aggiornarli e Chiuderli Attribuire dei credits Cancellare l’intero ticket 10 giugno 2003 Dael Maselli
Funzionalità per tutti gli utenti (1) Ticketlist: Possibilità di personalizzare la visualizzazione della lista tramite: Selezione di un insieme di Type Selezione di uno o più stati di lavorazione Impostazione del numero di ticket per pagina Selezione dei soli ticket personali Ordinamento crescente o decrescente in funzione del contenuto di qualsiasi campo della tabella 10 giugno 2003 Dael Maselli
Funzionalità per tutti gli utenti (2) Ticketlist: Possibilità di effettuare ricerche per: Utente (username o realname) Subject e/o Description e/o Updates Intervallo di apertura o di aggiornamento Statistiche con grafici Accounting suddiviso per gruppo o utente 10 giugno 2003 Dael Maselli
Funzionalità per gli admin (1) Gestione di ticket hidden (agli utenti) Gestione di template di risposte Logging dettagliato a 3 livelli (vedi appendice II) Visualizzazione ticketlist con gamma di colori a seconda della vecchiaia del ticket Apertura di ticket a nome di un utente 10 giugno 2003 Dael Maselli
Funzionalità per gli admin (2) Fusione di due ticket per raggruppare richieste sugli stessi problemi E-mail references per notificare gli update di un ticket anche a persone diverse dal proprietario e dagli admin Open&Close di un ticket per tenere traccia di lavori altrimenti non documentati 10 giugno 2003 Dael Maselli
Conclusioni (1) I vantaggi apprezzati ai LNF sono: Organizzazione migliore del lavoro: Avere una lista concreta delle attività da svolgere, gli utenti sono educati a non effettuare richieste se non attraverso il TTicket. Svolgimento del lavoro secondo una scala di priorità, gli utenti sono consapevoli del motivo dell’attesa Controllo continuo delle richieste ed interventi: Ridotta a zero la probabilità di perdere una richiesta Ogni aggiornamento ai ticket viene notificato e rimane a disposizione per eventuali controlli 10 giugno 2003 Dael Maselli
Conclusioni (2) Possibilità di creare più database per vari servizi, attualmente ai LNF: Servizio di Calcolo Dataweb INFN Servizio di Informazione Scientifica Admin separati per ogni Type: Il lavoro è ben suddiviso secondo le aree di competenza Minimizzate le inefficienze dovute a sovrapposizioni negli interventi 10 giugno 2003 Dael Maselli
Conclusioni (3) Visione immediata degli aggiornamenti di un intervento: Possibilità da parte del personale di continuare un lavoro cominciato da altri grazie ad un resoconto delle attività già svolte Ricerca rapida nello storico degli interventi: Documentare un’attività svolta è semplice e veloce Interfaccia web multifunzionale: Ridotti al minimo i passi per la gestione delle richieste 10 giugno 2003 Dael Maselli
TTicket DEMO Una demo e’ disponibile all’indirizzo: https://www.lnf.infn.it/computing/tticket database: (DEMO) user: demo[user] pass: demo user: demoadmin pass: demo come username inserire un qualsiasi nome preceduto da `demo`, in particolare l’utente `demoadmin` ha tutti i privilegi degli admin. Gli altri vengono trattati come semplici user in grado di inviare delle richieste, a meno che non vengano inseriti tra gli utenti admin dall’utente `demoadmin` che ha anche il privilegio “DB Manager”. Inviando delle richieste o facendo degli update, i messaggi e-mail invece di essere realmente inviati vengono mostrati in una finestra pop-up. Il database e’ una copia piu’ o meno aggiornata di quello in produzione per il Calcolo di Frascati, e’ dunque possibile apprezzare anche delle statistiche. Puo’ essere liberamente utilizzata qualsiasi funzione dato che non compromettera’ in alcun modo i DB reali. 10 giugno 2003 Dael Maselli
Fine Servizio di Calcolo Laboratori Nazionali di Frascati Workshop sulle problematiche di calcolo e reti nell'INFN Paestum, 9-12 Giugno 2003 Servizio di Calcolo Laboratori Nazionali di Frascati Istituto Nazionale di Fisica Nucleare Per ulteriori informazioni: http://www.lnf.infn.it/~dmaselli/tticket Dael.Maselli@lnf.infn.it 10 giugno 2003 Dael Maselli Autore: Dael Maselli
Appendice I file di configurazione 10 giugno 2003 Dael Maselli
tticket.conf.php (1) 10 giugno 2003 Dael Maselli <script language="php"> $std_get_params = ($_GET['database']) ? 'database='.$_GET['database']:'database='.$_POST['database']; $I = 0; ############################################################### ##### Don't touch the lines before here ####################### ############################################################### /*############################################################# # Db Definition variable explanation. # # # $DB_names[$I] The name the sistem will use to # # identify the Db. Don't use any special # # characters. # # # $DBhnames[$I] The Human readable name for the DB. # # This will appear to you in the pages. # # # $req_file[$I] ** The location of the file that # # indicates DB host, DB name, DB user and # # DB Pass to connect the MySQL server. ** # # # $index_include[$I] The page you want to include in the # # index page. # # # $closedDBs[$I] Set to 1 if you want to allow access # # only to the users in the `user` table. # # # $hideDBs[$I] Set to 1 if you want to hide this DB # # in the select box. # # # $hide_oth_ticks[$I] Set to: # # 1: if you want to hide tickets details # # to other users but the owner and Admin. # # 2: if you want to hide tickets to # # other users also in the ticketlist. # # # $N_M_A_O_A_Us[$I] No mail admin on admin updates: # # set to 1 if you want to reduce mail to # # admin to only owners updates. # # # # # ** The file has to be like this: # <script language="php"> # $dbhost = "host:port"; # $dbname = "db name"; # 10 giugno 2003 Dael Maselli
tticket.conf.php (2) 10 giugno 2003 Dael Maselli $dbuser = "username"; # $dbpass = "password"; # </script> # # # */############################################################# # Database Definitions # # # # Default Database Number: # $defDB = 0; # # ############## # $DB_names[$I] = "Calcolo"; # $DBhnames[$I] = "Computing Service"; # $req_file[$I] = "/home/calcolo/tticket/datiserver.php";# $index_include[$I] = "2include/incindexcalc.php"; # $closedDBs[$I] = 0; # $hideDBs[$I] = 0; # $hide_oth_ticks[$I] = 0; # $N_M_A_O_A_Us[$I] = 1; # ++$I; # # ############## # $DB_names[$I] = "Web"; # $DBhnames[$I] = "Web"; # $req_file[$I] = "/home/calcolo/tticket/datiserver_web.php"; $index_include[$I] = ""; # $closedDBs[$I] = 0; # $hideDBs[$I] = 0; # $hide_oth_ticks[$I] = 0; # $N_M_A_O_A_Us[$I] = 0; # ++$I; # # ############## # $DB_names[$I] = "SIS"; # $DBhnames[$I] = "SIS"; # $req_file[$I] = "/home/calcolo/tticket/datiserver_sis.php"; $index_include[$I] = ""; # $closedDBs[$I] = 0; # $hideDBs[$I] = 0; # $hide_oth_ticks[$I] = 0; # $N_M_A_O_A_Us[$I] = 0; # ++$I; # # ############## # 10 giugno 2003 Dael Maselli
tticket.conf.php (3) 10 giugno 2003 Dael Maselli $DB_names[$I] = "demo"; # $DBhnames[$I] = "(DEMO)"; # $req_file[$I] = "/home/calcolo/tticket/datiserver_demo.php"; $index_include[$I] = ""; # $closedDBs[$I] = 0; # $hideDBs[$I] = 0; # $hide_oth_ticks[$I] = 0; # $N_M_A_O_A_Us[$I] = 0; # $demodbs[$I] = 'YES'; # ++$I; # # ############## # $DB_names[$I] = ""; # $DBhnames[$I] = ""; # $req_file[$I] = ""; # $index_include[$I] = ""; # $closedDBs[$I] = 0; # $hideDBs[$I] = 0; # $hide_oth_ticks[$I] = 0; # $N_M_A_O_A_Us[$I] = 0; # ++$I; # # ############################################################### ############################################################### # Possible Auth Methods are: # # AFS, NIS, Local. (case sensitive) # # # $auth_method = 'AFS'; # ############################################################### # For AFS # $afs_cell = 'lnf.infn.it'; # # For Local # $local_passwd_req_file = '/home/calcolo/tticket/auth_db.php'; /*# The file has to be like this: # # # <script language="php"> # $local_passwd_host = "host:port"; # $local_passwd_user = "username"; # $local_passwd_pass = "password"; # $local_passwd_database = "db name"; # $local_passwd_table = "table name"; # </script> # # # ###############################################################*/ 10 giugno 2003 Dael Maselli
tticket.conf.php (4) 10 giugno 2003 Dael Maselli ############################################################### # Log Levels (MySQL queries): # # # # 0: No Log # # 1: Only Errors # # 2: INSERT, UPDATE, DELETE and Errors # # 3: ALL queries # # # $loglevel = 2; # $logfile = '/home/calcolo/tticket/tticket.log'; # ############################################################### ############################################################### # Location Specific # $url_pefix = 'https://www.lnf.infn.it'; #without end slash # $email_suffix = '@lnf.infn.it'; # # Unique key to validate client cookies # $key_file = 'home/calcolo/cookies.key'; # # E-mail where to send key file expiring warning # $sys_support = 'dmaselli@lnf.infn.it'; # # Name for session-id cookie # $name_for_session = 'TTicket_session'; # # # # if you have a `Sendmail userdb` (not compiled) reachable by # # www type it here for e-mail resolution. Else leave it blank # $userdb = '/home/calcolo/mailboxdb/mailboxdb.txt'; # ############################################################### ############################################################### # Appearance # # # # Status colors: # $waiting_ticket_row = '#FFCCBB'; # $working_ticket_row = '#FFFFBB'; # $closed_ticket_row = '#CCFFDD'; # # # # Page colors: # $page_background = '#CCCCCC'; # $page_text = '#000000'; # $page_links = '#002299'; # # Page title: # $page_title = 'LNF Trouble Ticket Service'; # # A page to include in the bottom of the login page: # $login_include = "2include/inclogincalc.php"; # ############################################################### 10 giugno 2003 Dael Maselli
tticket.conf.php (5) 10 giugno 2003 Dael Maselli ############################################################### # Check for updates: # # set to 1 if you want the script check if it is updated and # # notify it on the bottom of the page. # $chkver = 1; # ############################################################### ############################################################### # E-mail address for tickets having subject beginning # # with "TeSt": # $TeSt_email = 'dmaselli@lnf.infn.it'; # ############################################################### ############################################################### ##### Don't touch the lines below here ######################## ############################################################### if ( file_exists("development") ) { $page_background = '#C2D1DC'; $page_title = 'DEVELOPMENT of `'.$page_title.'`'; } $DB_names_rev = array_flip($DB_names); include('version'); </script> 10 giugno 2003 Dael Maselli
Appendice II Log File - Log level: 2 - 10 giugno 2003 Dael Maselli
Log (1) 10 giugno 2003 Dael Maselli ####################################################################################### 2003-05-19 14:19:37 - DB: Calcolo - Q. TYPE: INSERT - RESULT: OK USERNAME: Utente1 - HOST: 193.206.83.109 - URL: /computing/tticket/send2db.php --------------------------------------------------------------------------------------- SQL: INSERT INTO tickets (sndname, subject, description, opendate, priority, type1, type2, email, updates, ref_email, sndgroup) VALUES ( 'Utente1', 'mod_auth_mysql test', 'Sto testando l\'accesso HTTP con un file .htaccess che utilizza direttive di mod_auth_mysql[\n]che avete istallato su www4 only.[\n][\n]Attualmente quando tento di authenticarmi da:[\n][\n]http://www4.lnf.infn.it/mysqlw/index.htm[\n]ottengo un \"Internal Server Error\"[\n][\n]Purtroppo non riesco a capire qual\'è il problema perchè non ho accesso[\n]all\'error-log di www4.[\n]E\' possibile vederlo con Claudio?[\n][\n]Grazie[\n]Marina\n\n-------------\nBuilding: 14\nRoom: 12\nPhone: 2242\n', '2003-05-19 14:19:36', '3', '6', '2', 'Marina.Utente1@lnf.infn.it', '', '', 'dricerca') POST_GET_VAR: 'sndname' => 'Utente1'; 'group' => 'dricerca'; 'subject' => 'mod_auth_mysql test'; 'priority' => '3'; 'type1' => '6'; 'type2' => '2'; 'build' => '14'; 'room' => '12'; 'phone' => '2242'; 'description' => 'Sto testando l\'accesso HTTP con un file .htaccess che utilizza direttive di mod_auth_mysql[\n]che avete istallato su www4 only.[\n][\n]Attualmente quando tento di authenticarmi da:[\n][\n]http://www4.lnf.infn.it/mysqlw/index.htm[\n]ottengo un \"Internal Server Error\"[\n][\n]Purtroppo non riesco a capire qual\'è il problema perchè non ho accesso[\n]all\'error-log di www4.[\n]E\' possibile vederlo con Claudio?[\n][\n]Grazie[\n]Marina'; 'Submit' => 'Send Request'; 'LNF_Username' => 'AFS.Utente1@pcUtente1'; 'LNF_Password' => '6duZ91S0NEAlY5304VrdXEgQAEceaj6dLuu4edwc1yyIYNZBPSH2'; 'PHPSESSID' => '8ea115857171030b39563794120f2941'; SESSION_VAR: 'database' => 'Calcolo'; 'user' => 'Utente1'; 'ipaddr' => '193.206.83.109'; 'hostname' => 'pcUtente1.lnf.infn.it'; 'group' => 'dricerca'; 'email' => 'Marina.Utente1'; 'name_of_user' => 'Marina Utente1 '; 10 giugno 2003 Dael Maselli
Log (2) 10 giugno 2003 Dael Maselli ####################################################################################### 2003-05-19 15:20:28 - DB: SIS - Q. TYPE: UPDATE - RESULT: OK USERNAME: Utente2 - HOST: 193.206.82.246 - URL: /computing/tticket_DEV/chstatus.php --------------------------------------------------------------------------------------- SQL: UPDATE tickets SET updates='ADMIN:bifarett | 2003-05-19 12:49:55: Working...[\n]ADMIN:bifarett | 2003-05-19 12:49:55: [\n]In attesa di preventivo[\n]ADMIN:Utente2 | 2003-05-19 15:20:28: [\n]ricevuto preventivo[\n][\n]' , closedate='2003-05-19 15:20:28' , priority='2', type1='5', type2='1', credits='0', ref_email='debora.bifaretti@lnf.infn.it' WHERE cod='4' POST_GET_VAR: 'cod' => '4'; 'met' => 'update'; 'priority' => '2'; 'type1' => '5'; 'type2' => '1'; 'ref_email' => 'debora.bifaretti@lnf.infn.it'; 'update' => 'ricevuto preventivo[\n]'; 'template' => ''; 'credits' => ''; 'Submit' => 'Update'; 'LNF_Username' => 'AFS.Utente2@macUtente2i'; 'LNF_Password' => 'f6FsBfpVO.7QU52xNMhoYQ.EVoce.md9O.NoJKQc1yyIYNZBPSH2'; 'PHPSESSID' => 'cabb6b97ef9c6fd8067c6835d1a876e4'; SESSION_VAR: 'database' => 'SIS'; 'user' => 'Utente2'; 'ipaddr' => '193.206.82.246'; 'hostname' => 'macUtente2i.lnf.infn.it'; 'group' => 'macchina'; 'dbchanged' => '1'; 'email' => 'Antonino.Utente2i'; 'name_of_user' => 'Antonino Utente2i '; 10 giugno 2003 Dael Maselli
Log (3) 10 giugno 2003 Dael Maselli ####################################################################################### 2003-05-19 15:22:42 - DB: Calcolo - Q. TYPE: INSERT - RESULT: OK USERNAME: Utente3 - HOST: 193.206.80.246 - URL: /computing/tticket/send2db.php --------------------------------------------------------------------------------------- SQL: INSERT INTO tickets (sndname, subject, description, opendate, priority, type1, type2, email, updates, ref_email, sndgroup) VALUES ( 'Utente3', 'libreria rh73', 'Per cortesia, controllare se sulle macchine del cluster lxcalc (01, 02, 04, 05) e\' lincata[\n](e fatto il ldconfig.) della libreria rh73 [\n][\n]ln -s /opt/atlas/i386_redhat73/usr.local/gcc-alt-2.95.2 /usr/local[\n][\n]Sulle macchine indicate sopra continuo ad avere l\'errore: [\n]ERROR System Error:[\n]/opt/atlas/software/dist/6.0.2/InstallArea/i686-rh73-gcc295/lib/libHepMC_IO.so: undefined[\n]symbol: hepevt_[\n][\n]Grazie per l\'urgenza. [\n]Halina\n\n-------------\nBuilding: AE\nRoom: B21\nPhone: 2907\n', '2003-05-19 15:22:42', '3', '6', '2', 'Halina.Utente3@lnf.infn.it', '', '', 'atlas') POST_GET_VAR: 'sndname' => 'Utente3'; 'group' => 'atlas'; 'subject' => 'libreria rh73'; 'priority' => '3'; 'type1' => '6'; 'type2' => '2'; 'build' => 'AE'; 'room' => 'B21'; 'phone' => '2907'; 'description' => 'Per cortesia, controllare se sulle macchine del cluster lxcalc (01, 02, 04, 05) e\' lincata[\n](e fatto il ldconfig.) della libreria rh73 [\n][\n]ln -s /opt/atlas/i386_redhat73/usr.local/gcc-alt-2.95.2 /usr/local[\n][\n]Sulle macchine indicate sopra continuo ad avere l\'errore: [\n]ERROR System Error:[\n]/opt/atlas/software/dist/6.0.2/InstallArea/i686-rh73-gcc295/lib/libHepMC_IO.so: undefined[\n]symbol: hepevt_[\n][\n]Grazie per l\'urgenza. [\n]Halina'; 'Submit' => 'Send Request'; 'LNF_Username' => 'AFS.Utente3@pcUtente3'; 'LNF_Password' => 'f6FsBfpVO.7QU50zVKw7GAVhq.cedUACLHUmEAQc1yyIYNZBPSH2'; 'PHPSESSID' => 'd7e347ca1843954aa793b2392e8ca1fb'; SESSION_VAR: 'database' => 'Calcolo'; 'user' => 'Utente3'; 'ipaddr' => '193.206.80.246'; 'hostname' => 'pcUtente3.lnf.infn.it'; 'group' => 'atlas'; 'dbchanged' => '1'; 'email' => 'Halina.Utente3'; 'name_of_user' => 'Halina Utente3 '; 10 giugno 2003 Dael Maselli
Log (4) 10 giugno 2003 Dael Maselli ####################################################################################### 2003-05-19 15:24:39 - DB: Calcolo - Q. TYPE: UPDATE - RESULT: OK USERNAME: Utente3 - HOST: 193.206.80.246 - URL: /computing/tticket/chstatus.php --------------------------------------------------------------------------------------- SQL: UPDATE tickets SET status='1', closedate='2003-05-19 15:24:39', working='0' WHERE cod='732' POST_GET_VAR: 'cod' => '732'; 'met' => 'close'; 'update' => ''; 'Submit' => 'Close'; 'LNF_Username' => 'AFS.Utente3@pcUtente3'; 'LNF_Password' => 'f6FsBfpVO.7QU50zVKw7GAVhq.cedUACLHUmEAQc1yyIYNZBPSH2'; 'PHPSESSID' => 'd7e347ca1843954aa793b2392e8ca1fb'; SESSION_VAR: 'database' => 'Calcolo'; 'user' => 'Utente3'; 'ipaddr' => '193.206.80.246'; 'hostname' => 'pcUtente3.lnf.infn.it'; 'group' => 'atlas'; 'dbchanged' => '1'; 'email' => 'Halina.Utente3'; 'name_of_user' => 'Halina Utente3 '; 10 giugno 2003 Dael Maselli
Log (5) 10 giugno 2003 Dael Maselli ####################################################################################### 2003-05-19 15:24:39 - DB: Calcolo - Q. TYPE: UPDATE - RESULT: OK USERNAME: Utente3 - HOST: 193.206.80.246 - URL: /computing/tticket/chstatus.php --------------------------------------------------------------------------------------- SQL: UPDATE tickets SET updates='', closedate='2003-05-19 15:24:39', intervallo=((UNIX_TIMESTAMP('2003-05-19 15:24:39')-UNIX_TIMESTAMP(opendate))) WHERE cod='732' POST_GET_VAR: 'cod' => '732'; 'met' => 'close'; 'update' => ''; 'Submit' => 'Close'; 'LNF_Username' => 'AFS.Utente3@pcUtente3'; 'LNF_Password' => 'f6FsBfpVO.7QU50zVKw7GAVhq.cedUACLHUmEAQc1yyIYNZBPSH2'; 'PHPSESSID' => 'd7e347ca1843954aa793b2392e8ca1fb'; SESSION_VAR: 'database' => 'Calcolo'; 'user' => 'Utente3'; 'ipaddr' => '193.206.80.246'; 'hostname' => 'pcUtente3.lnf.infn.it'; 'group' => 'atlas'; 'dbchanged' => '1'; 'email' => 'Halina.Utente3'; 'name_of_user' => 'Halina Utente3 '; 10 giugno 2003 Dael Maselli
Appendice III ScreenShots della versione 2.2.7 – attualmente 2.3.3 10 giugno 2003 Dael Maselli
Login 10 giugno 2003 Dael Maselli
Index (as admin) 10 giugno 2003 Dael Maselli
Index (as user) 10 giugno 2003 Dael Maselli
Request Form (as user) 10 giugno 2003 Dael Maselli
Request Form (as admin) 10 giugno 2003 Dael Maselli
Ticketlist (as user) 10 giugno 2003 Dael Maselli
Ticketlist (as admin) 10 giugno 2003 Dael Maselli
Ticketlist (as admin) 10 giugno 2003 Dael Maselli
Ticket Details 10 giugno 2003 Dael Maselli
Ticket Details (as admin) 10 giugno 2003 Dael Maselli
Ticket Update (as admin) 10 giugno 2003 Dael Maselli
Ticket Update (as admin) 10 giugno 2003 Dael Maselli
Ticket Update (as owner user) 10 giugno 2003 Dael Maselli
Users Management 10 giugno 2003 Dael Maselli
Types Management 10 giugno 2003 Dael Maselli
Graphical Statistics 10 giugno 2003 Dael Maselli
Graphical Statistics 10 giugno 2003 Dael Maselli
Deleted Ticketlist 10 giugno 2003 Dael Maselli