Gestire lo scheduling tramite phpScheduleIt
Luca Longo | 31 marzo 2009Gestendo un’azienda, con la collaborazione di altri soci, abbiamo avuto l’obbligo (per migliorare la pianificazione delle risorse) di usare un software di Scheduling.
Essendoci molte soluzioni (tra cui molte opensource), abbiamo incentrato il nostro interesse su phpScheduleIt.
Il software in questione, è stato scritto in PHP (supporta PHP 4.3 o superiori) ed è capace di sfruttare diversi tipi di database (tra cui MySQL, PostgreSQL, InterBase, Mini SQL, Microsoft SQL Server, Oracle 7/8/8i, SyBase, Informix, FrontBase) e supporta, inoltre la connessione tramite ODBC (Open Database Connectivity). Inoltre, per funzionare, necessita del supporto PEAR poiché sfrutta la libreria DB di PEAR.
Senza perderci troppo in chiacchiere, passiamo all’installazione (nel nostro caso useremo un server Linux Ubuntu con HTTPd Apache e database MySQL).
Se non avete un database giàa disposizione dovrete crearne uno. Per creare il database, entriamo su un qualsiasi client mysql (anche PhpMyAdmin va bene) e lanciamo il seguente comando:
CREATE DATABASE `calendario` ;
Creato il database, dovremo ora creare un utente capace di accedervi:
CREATE USER ‘calendario’@'%’ IDENTIFIED BY ‘qui_la_password’;
Specifichiamo che l’utente non deve avere privilegio globali:
GRANT USAGE ON * . * TO ‘calendario’@'%’ IDENTIFIED BY ‘qui_la_password’ WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
E concediamo i permessi globali solo sul database “calendarioâ€Â:
GRANT ALL PRIVILEGES ON `calendario` . * TO ‘calendario’@'%’ WITH GRANT OPTION ;
Terminata la fase di creazione dell’utente, dovremo creare la struttura base del database che useremo con phpCalendarIt.
Per utilizzare il sofware, dovrete scaricare i sorgenti (operazione effettuabile raggiungendo il seguente link: http://php.brickhost.com/)
La versione che noi useremo è la 1.2.11.
Scaricati i sorgenti, dovremo pubblicarli sul nostro spazio (ad esempio con FTP, o con wget se avete accesso diretto alla macchina).
E’ molto importante, prima di procedere, rinominare il file config.new.php (lo trovate nella cartella “config/â€Â) in config.php.
Una volta rinominato, dovremo cambiare nel file “config.phpâ€Â, alcuni valori nelle variabili seguenti:
$conf['app']['weburi'] = ‘http://127.0.0.1/scheduling/;
$conf['app']['adminEmail'] = ‘ilvostroindirizzo@email.it’;
$conf['app']['defaultLanguage'] = ‘it_IT’;
$conf['app']['title'] = ‘Il mio scheduling’;
$conf['db']['dbType'] = ‘mysql’;
$conf['db']['dbUser'] = ‘calendario’; // Username dell’utente MySQL
$conf['db']['dbPass'] = ‘password’; // Password dell’utente MySQL
$conf['db']['dbName'] = ‘phpscheduleit’; // Nome del database MySQL
$conf['db']['hostSpec'] = ‘localhost’; // Host del database MySQL
$conf['ui']['welcome'] = ‘Benvenuti nel mio pannello di scheduling!’;
Fatto ciò, non dovrete far altro che connettervi sul vostro server web (nel mio caso l’indirizzo è http://127.0.0.1/scheduling/ in quanto si tratta di un server web locali) all’indirizzo http://127.0.0.1/scheduling/install/.
Vi troverete davanti ad una semplice schermata che vi guideràpasso passo nella configurazione di phpScheduleIt.
La prima schermata, serviràper configurare le credenziali di accesso al database (username e password).
Inseriti i dati, e cliccato il pulsante “Entra nel databaseâ€Â, visionerete la seguente schermata (se i dati sono corretti):
Cliccando su creazione tabelle, il processo di installazione terminerà.
Non vi resteràaltro che collegarvi all’url principale (http://127.0.0.1/scheduling/), effettuare la registrazione dell’utente e godervi il vostro sistema!
Per i più esigenti, è disponibile anche la pianificazione del crontab:
1 * * * * cd /web/directory/phpscheduleit/cmd; ./send_reminders.php
E’ bene precisare (come giàsi diceva all’inizio del post) che esistono diversi software opensource (tra i quali phpICalendar, PlansCalendar, WebCalendar). La nostra attenzione si è soffermata su questo in quanto, oltre ad essere utilizzato da diverse università, è l’unico che non è stato sviluppato per gestire avvenimenti (implicitamente lo fa pure, ma non è nato per questo scopo): per esempio, molte universitàlo utilizzano per gestire gli orari nelle aule allocando, grazie a phpScheduleIt, anche le risorse.
Hai trovato interessante questo articolo?


