ORARIO_ELETTRONICO
Versione gratuita per linux e sistemi unix


Il programma è nato proprio per linux, dunque tutto dovrebbe filare liscio.
Di cosa avete bisogno:

  1. Il server apache, cliccando andate alla homepage (si veda anche la licenza), ma normalmente si trova nelle distribuzioni. Io uso gentoo e ho semplicemente fatto un 'emerge apache'. Per altre distribuzioni esistono altri pacchetti, ma non dovrebbe essere un problema nè trovarli nè installarli. Più sotto le istruzioni per la configurazione.
  2. php , stesso discorso (La licenza può essere vista qui).
  3. Il database mysql, anch'esso un programma gratuito rilasciato sotto la GNU General Public Licence (GPL). Installate i pacchetti necessari.

Bene, una volta installata tutta questa bella roba si tratta di configurarla. Le seguenti indicazioni sono basate sulla mia esperienza e non sostituiscono affatto la documentazione che viene con i programmi.

A questo punto siete pronti per cominciare.

  1. Scompattato l'archivio di orario_elettronico avete ottenuto una cartella chiamata appunto 'orario_elettronico'; vi consiglio di tenerla da qualche parte, comunque può sempre ricreata espandendo l'archivio.
  2. Copiate tale cartella con il nome che volete (vi consiglio caldamente di utilizzare il nome "orario_elettronico") nella directory accessibile al server apache.
  3. Accertatevi che la cartella che avete spostato abbia i diritti di scrittura per tutti. (Come root digitate
    chmod a+w /percorso/della/cartella )
  4. Dopo che avrete effettuato le prime operazioni configurazione descritte nel prossimo punto potrete accedere al programma lanciando il browser e digitando
    http://localhost/nomedellacartella/index.php
    Vi consiglio caldamente di abilitare la funzione "index.php" nel file "httpd.conf" di configurazione di apache. Da qualche parte troverete almeno questa riga:

    DirectoryIndex index.html

    se dopo "DirectoryIndex" non si trova "index.php" aggiungetelo, in questo modo chi cerca di aprire la cartella sarà mandato al file index.php.
    la riga dovrebbe diventare almeno così:

    DirectoryIndex index.html index.php

    Da qui in poi tutto dovrebbe spiegarsi da solo.
  5. PRIMO ACCESSO (NUOVO NELLA VERSIONE 2): la prima cosa da fare, dopo avere spostato questa cartella nella directory root del server (su linux dipende dalle scelte che avete fatto all'installazione di apache, su windows normalmente c:\Programmi\Apache Group\Apache\htdocs) e averla rinominata "orario_elettronico", è aprire dal server apache la pagina "1_INIZIO_E_BUTTAMI.php". Qui dovrete inserire il nome e la password dell'utente root di mysql, necessario per il primo accesso. Nel 99% dei casi dovrebbe andare bene l'opzione offerta nel form: utente "root" e nesuna password.
    Dovrete poi indicare il nome e la password dell'utente dotato dei diritti di amministratore (il form offre "admin" con password DA DEFINIRE OBBLIGATORIAMENTE, il normale form di login impedisce di accedere senza password proprio per evitare che gli ospiti possano accedere come root nei sistemi dove l'utente root non ha password) e dell'ospite (il form offre "ospite", "ospite" e può andare bene). Questi utenti verranno creati da orario_elettronico e dovrete fornire i dati a chi potrà accedere al programma
    Il primo database creato da di orario_elettronico deve chiamarsi orario_elettronico, come proposto nel form, e non deve essere cancellato in quanto oltre a contenere le tabelle per creare l'orario di una scuola (potete dunque usarlo come un qualunque database per la costruzione dell'orario) contiene anche alcuni dati necessari al funzionamento che verranno cercati qualunque database voi creiate dopo il primo. Per quanto riguarda i database che creerete successivamente è importante notare che dal form di login l'utente potrà accedere solo ai database il cui nome contiene una certa stringa definita nel file includes/connect.php. Io ho scelto la stringa 'orar', dunque saranno disponibili i database contenenti tale espressione e se non ne esistono l'utente sarà incapace di accedere al programma. Gli ulteriori database potranno essere creati all'interno del programma senza più tornare a questo file 1_INIZIO_E_BUTTAMI, anzi vi consiglio di buttarlo o spostarlo in una cartella inaccessibile al server: è l'unico file da cui un utente può accedere al database come root senza password. Dovrete infine indicare il numero massimo di ore e di insegnanti della classe che ha più ore o più materie.
    Ripeto, definiti gli utenti e creato il primo database accessibile questa pagina non serve più, buttatela via, l'utente amministratore potrà accedere al database creato, inserire le classi, modificarle e creare database all'interno del programma. La sicurezza dovrebbe (non sono un esperto di sicurezza) essere garantito dal fatto che il nome utente e la password non vengono scritti in nessun file ma sono definiti da cookies che scadono alla fine di ogni seduta e sono rinnovati ad ogni login. Qui sotto fornisco un link che vi permette di accedere alla pagina iniziale, a patto che il vostro host si chiami localhost e che la cartella del programma si chiami orario_elettronico e si trovi nella cartella root del server. Comunque l'indirizzo da fornire al browser sarà qualcosa come : http://localhost/orario_elettronico/1_INIZIO_E_BUTTAMI.php
    cambiando, ovviamente il nome del server e il percorso della cartella.

    Accedi al file 1_INIZIO_E_BUTTAMI.php

    Compiuta questa operazione sarete inviati alle pagine di login; entrate come amministratore, scegliete il database e andate alla pagina "amministra". Lì potrete popolare il database con le classi e gli insegnanti, creare nuovi database ecc. Seguite le istruzioni che seguono.
    Attenzione!! Quando create un nuovo database per poterci lavorare dovrete o scegliere l'opzione 'cambia database' o fare un nuovo login (link "accedi"), fornire nuovamente i dati e scegliere il databse creato, poi tornare alla pagina amministra o più semplicemente usare l'opzione 'cambia database' e selezionare il nuovo database
    Attenzione!! Il file includes/connect.php contiene la definizione dell'espressione che deve essere contenuta nel nome del databse; il file includes/default.php contiene le opzioni che vengono offerte al momento del login. Potete modificare questi dati secondo il vostro bisogno.
  6. La prima opzione è " crea database e tabelle".
    Si aprirà una pagina che chiede a) il nome da dare al database. b) Il numero massimo di ore giornaliere usato dalla classe che ha il maggior numero di ore. Serve per evitare di avere tabelle di dimensioni eccessive: alcune scuole non hanno mai più di 5 ore al giorno, altre arrivano a 8. Purtroppo non è possibile definire opzioni diverse nelle diverse classi, bisognerà poi classe per classe indicare con ## (una delle voci del menu a comparsa) le ore da non utilizzare.
    c) Il numero massimo delle materie per classe. E' un'opzione di scarso rilievo. La scelta di 15 è fin troppo abbondante, se potete diminuirla avrete pagine più brevi per la definizione della classe.
    A questo punto verranno creati: un database con il nome da voi indicato e otto tabelle di detto database chiamate aule, classi, data, impegni, insegnanti, tutto_aule, tutto_prof, tutto_classi (tutto sommato la cosa non vi riguarda a meno che non vogliate andare a vederle usando mysql).
  7. L'opzione successiva (introdotta con la verisone 3) è '2a) Inserisci o aggiungi i dati grezzi': per evitare errori di battitura dovete inserire qui, alla rinfusa e in qualunque ordine, i nomi di tutte le classi, di tutti gli insegnanti, di tutte le materie e di tutte le aule speciali dellla scuola. Al momento della creazione delle classe sceglierete i dati da menu a comparsa.
  8. La seconda opzione è "aggiungi una classe" : per ogni classe dovrete indicare il nome della classe e il nome, le ore disponibili nella classe, la materia insegnata, il numero totale di ore settimanali per ogni insegnante e l'aula in cui il professore lavora (nel caso sia un'aula speciale, palestra, laboratorio ecc. Se lasciate vuoto verrà automaticamente inserita nel database un'aula dal nome uguale a quello della classe).
    Sarete quindi inviati a una seconda pagina in cui dovrete inserire per ogni materia il numero massimo di ore giornaliere, l'eventuale richiesta di un giorno vuoto tra una lezione e l'altra, l'eventuale richiesta di non usare la materia nello stesso giorno di altre materie, l'eventuale richiesta di 'doppiette'.
    All'invio verranno create le pagine della classe e dell'insegnante e potete già iniziare a usarle tornando all'indice.
  9. La terza opzione è "modifica/rinomina una classe". Può capitare che durante la formulazione dell'orario cambi l'assegnazione di qualche classe, qui potete modificare una classe.Avrete anche la possibilità di assegnare alla classe un nuovo nome, non so a cosa serva ma per completezza ho messo anche questo.
  10. L'opzione '3bis)elimina una classe' vi permette di buttare semplicemente via una classe
  11. L'opzione "4) accesso" vi permette di accedere alle pagine delle classi e dei professori, a due pagine riepilogative contenenti gli orari di tutte le classi e di tutti i professori, a una pagina chiamata verifica che riporta il numero di ore assegnate, dovute e rimanenti per ogni insegnante e infine a una pagina work dove potete vedere affiancati professori e classi arbitrariamente scelti.
  12. Le opzioni "5a) esporta l'orario degli insegnanti" e "5b) esporta l'orario delle classi" permettono di esportare in un file di testo l'orario delle classi e degli insegnanti. Tale file può essere importato in un foglio di calcolo (staroffice funziona bene, gnumeric dovrebbe funzionare). E' indispensabile per stampare l'orario, per rifinire le ore buche mettendo fianco a fianco gli insegnati che interessano e, se non duplicate il database con mysqldump, per salvare i dati che avete inserito fino a un certo punto: una volta inserito nel foglio di calcolo potrete reinserire in orario_elettronico lo scenario che avete salvato.
  13. L'opzione 6)Esporta-importa un database.
    Esporta: con questa opzione potete esportare un database in un file di testo con mysqldump senza ricorrere alla linea di comando. Dovete indicare il nome del database da esportare (di default quello che state usando), il percorso e il nome del file (LA CARTELLA DEVE AVER PERMESSO DI SCRITTURA UNIVERSALE!) dove volete esportare il database e il percorso di mysqldump (su linux dovrebbe bastare semplicemente il nome del programma).
    A cosa serve? A un certo punto potete essere provvisoriamente soddisfatti del lavoro svolto e non volerlo più modificare; aquesto punto fate un dump con questa opzione nel file, ad esempio, /home/casamia/orario/orario_vecchio.txt; questo file servirà come backup e potrà essere importato in un nuovo database creato da orario_elettronico.
    Importa: serve per importare in un nuovo database i file salvati con l'opzione precedente. Scegliete questa opzione, indicate il nome di un nuovo database (ad esempio orario_nuovo), indicate il percorso e nome del file da importare (ricordate che avevamo creato /home/casamia/orario/orario_vecchio.txt?), il percorso dell'applicazione mysql (su linux dovrebbe bastare semplicemente il nome del programma) e inviate i dati.
    A partire dalla versione 3 potete anche creare 'al volo' un database uguale a quello su cui state lavorando scegliendo l'opzione 'DUPLICA IL DATABASE', potrete così scegliere il nuovo database e lasciare intatto quello vecchio. Non avrete però un file di dump che può essere utile per altri scopi.
    A questo punto avete creato il nuovo database orario_nuovo e non avete più bisogno di usare orario_vecchio che resterà intoccato e sempre accessibile. Andate a "accesso, fate un nuovo login, scegliete orario_nuovo e cominciate a lavorare sul nuovo database.
  14. L'opzione '7)elimina un database' serve a fare pulizia: se avete lavorato su diversi databse via via che il lavoro procedeva potete eliminare dal server nysql i database inutili.
    RICORDATE! Non cancellate il database 'orario_elettronico' e non duplicate un database di nuova creazione in un altro chiamato 'orario_elettronico'
  15. Infine l'opzione '8) aggiorna un vecchio database' e per compatibilità con le vecchie versioni di orario_elettronico: contiene 2 script che aggiorneranno un database creato con la versione 0.xx o la versione 1.xx del programma. Se compilate l'orario dall'inizio non ve ne dovete occupare.

Direi che è tutto, buon lavoro.

torna alla alla pagina di accesso a orario_elettronico