Download Latest Version Orario_Elettronico-j.0.zip (1.4 MB)
Email in envelope

Get an email when there's a new version of orario_elettronico

Home
Name Modified Size InfoDownloads / Week
orario_elettronico-j.0 (java) 2019-05-12
0 orario_elettronico-7 2017-09-06
0 orario_elettronico-6 2012-09-27
1 orario_elettronico5 2008-07-20
readme .txt 2019-05-12 28.5 kB
Totals: 5 Items   28.5 kB 1
Version orario_elettronico-j.0 (java)

This program is the result of years of work. Born to have a program capable of running on Linux to build a school timetable, I initially wrote it in php, basing my searches on a MYSQL database (the program can still be found on my site https://www.alessandroxbrunelli.com ), but required some complicated - at least for Windows users - configuration (an Apache server, the MYSQL database).
For this reason I decided to rewrite it in java: it is sufficient to install java> = 8 to use it in any operating system.
The program is open source, so you can find the source codes in the archive (folder /src; it was written using Netbeans). Feel free to modify them and compile the program again.

Questo programma è il risultato di anni di lavoro.  Nato per avere un programma capace di girare su Linux per costruire un orario scolastico, inizialmente l'ho scritto in php, basando le ricerche su un database MYSQL (il programma si può ancora trovare sul mio sito https://www.alessandroxbrunelli.com), ma esigeva qualche complicata - almeno per gli utenti Windows - operazione di installazione (un server Apache, il database MYSQL).
Per questo ho deciso di riscriverlo in java: è  sufficiente installare java  >=8 per usarlo in qualsiasi sistema operativo. 
Il programma è open source, dunque trovate nell'archivio anche i codici sorgenti ( cartella \src; è stato scritto usando Netbeans), siete liberi di modificarli e ricompilare il programma.

Versione 7 aggiornata per uso con  php.7 (mysqli).
Nel rivedere corretti alcuni errori e testato dall'inizio, sembra funzionare tutto.

Version 7, updated for use with php.7 (mysqli).
Same bug fixed and tested from scratch, everythhing seems to be working.

ITALIAN (ENGLISH BELOW)
                              ORARIO_ELETTRONICO
Questo programma nasce dal bisogno di uno strumento comodo e flessibile per
compilare l'orario scolastico.
Esistono programmi commerciali, ma quando ho cominciato questo lavoro avevano
il difetto, oltre a essere piuttosto costosi, di non funzionare su linux e io
non avevo nessuna voglia di aprire windows, un sistema operativo che mi
innervosisce, solo per lavorare al'orario.
Nel frattempo la comunità  open source ha lavorato anche a programmi per la
compilazione dell'orario scolastico e sono nati altri programmi a volte simili,
a volte molto diversi da questo. Ho inserito una pagina di link_ai_programmi_di
cui_sono_a_conoscenza.
Il risultato è questo lavoro, scritto interamente in phpe basato sul database
mysql; per poterlo usare avete bisogno di questi due programmi, dovete inoltre
installare il server apache in quanto il programma gira interamente in un
browser, un po' come accade nelle pagine di commercio elettronico.
Le pagine sono state costruite, e ottimizzate, per Mozilla.

Questa versione è l'ultima: lavoro da anni a orario_elettronico e a questo
punto ho altro da fare. L'applicazione non sarà più aggiornata. Per questa
ragione ho anche eliminato le restrizioni per l'uso su piattaforme windows.
Il programma funziona bene su linux, ma su windows (non capisco perchè) è lento
e ci sono bug in alcune funzioni. Sconsiglio fortemente di usarlo su windows,
benchè, tecnicamente, sia possibile farlo.


****** Storia dei cambiamenti ******
                                       Cambiamenti nella versione 6.0
Ho introdotto la possibilità di differenziare il carico massimo di lavoro degli
ionsegnanti nei giorni della settimana. Es: il prof xyz può fare al massimo 4
ore di lezione al giorno, ma il martedi e il giovedì può farne 5.
Ho ulterirmente riscritto gli script per l'assegnazione automatica delle ore e
l'eliminazione dei buchi. Adesso dovrebbero essere più veloci e soprattutto,
nella maggior parte dei casi, dovrebbero capire se un'ora non può essere
assegnata sulla base delle condizioni fissate e dovrebbero rinunciare in tempi
ragionevoli
Questa versione è l'ultima: lavoro da anni a orario_elettronico e a questo
punto ho altro da fare. L'applicazione non sarà più aggiornata. Per questa
ragione ho anche eliminato le restrizioni per l'uso su piattaforme windows.
Il programma funziona bene su linux, ma su windows (non capisco perchè) è lento
e ci sono bug in alcune funzioni. Sconsiglio fortemente di usarlo su windows,
benchè, tecnicamente, sia possibile farlo.
                        Cambiamenti nella versione 5.0
Ho completamente riscritto gli script per l'assegnazione automatica delle ore e
l'eliminazione dei buchi. Adesso queste funzioni lavorano a livelli di sempre
maggiore profondità (e l'esecuzione richiede via via più tempo): a un primo
livello il programma si limita a cercare di assegnare a un insegnante un'ora di
lezione dove siano liberi sia la classe sia l'insegnate, a un livello
successivo cercherà di liberare l'insegnante e la classe spostando le ore già
assegnate: qui cominciano le complicazioni: se l'ora assegnata è una doppietta
il programma cercherà di ricostruirla in un'altra giornata; se l'ora di
destinazione confligge con qualche condizione (separazione dei giorni,
compresenza con altre materie, numero di ore che l'insegnate può lavorare nella
stessa giornata) cercherà di risolvere il conflitto; a un livello ancora
successivo cercherà di spostare l'insegnante in un'ora già eventualmente
impegnata, dunque si tratterà di spostare un'altra classe e un altro insegnante
e di risolvere gli eventuali conflitti e così via (virtualmente all'infinito).
Nella mia esperienza tutte le ore che posono essere assegnate vengono collocate
già al livello 4, qualche volta può essere necessario procedere al livello 5.
Il programma può richiedere molto tempo (io consiglio di impostare le classi e
di lasciarlo lavorare durante la notte) e se avete inserito qualche condizione
che non può essere soddisfatta il programma - se non ci sono bug - continuerà a
girare a livelli sempre più profondi senza mai violare le condizioni da voi
poste.
REQUISITI:
- molta memoria: il programma di assegnazione automatica lavora interamente
nella memoria ram e credo che per un lavoro proficuo siano necessaria almeno
512 MB di memoria, meglio 1GB o più;
- tempo: è necessario modificare i file php.ini per aumentare il tempo
disponibile per l'esecuzione; seguite le indicazioni persenti nella pagina di
assegnazione automatica delle ore; può essere necessario modificare anche le
impostazione del browser per aumentare generosamente il tempo di timeout.
AVVERTENZE:
- ho limitato quanto più possibile i messaggi del programma in fase di
assegnazione delle ore: mentre lavoravo a scrivere questi script chiedevo molti
output per trovare gli errori ma ho spesso avuto dei crash dell'x-server. Non
dovrebbe più accadere, ma usate questo programma a vostro rischio!
- proprio per evitare rischi di congelamento il programma, dopo il livello 2,
resterà per parecchio tempo silenzioso, senza stampare messaggi e senza che il
browser riceva alcun input. Ho inserito dei contatori che vi mostrano quanto
tempo passa durante l'esecuzione di ogni fase dell'assegnazione, ma una volta
partiti si fermeranno solo quando l'operazione è finita. Per fermare
l'esecuzione del programma avete dunque due metodi:
1) premere il pulsante stop del browser, ma l'azione avrà effetto solo quando
il browser riceve un nuovo input (possono passare molti minuti, anche delle
ore);
2) da una shell, come root (è scomodo, ma non conosco altre soluzioni)
riavviare apache. Nella mia distribuzione gentoo : /etc/init.d/apache2 restart
, in altre distribuzioni il comando può essere diverso; in windows ci sarà
qualche bottone che produce questo risultato, ma un vero uomo o una vera donna
non schiacciano bottoni!

Con questa versione è possibile assegnare più materie allo stesso insegnante
nella stessa classe (es.: storia e filosofia, latino e greco ecc.) La funzione
dovrebbe essere utile per stabilire meglio la distribuzione delle ore nei
giorni della settimana, specialmente se si assegnano automaticamente le ore.
Esempio: nella vecchia versione a un insegnante che insegnasse 4 ore di latino
e 3 di greco nella stessa classe si poteva solo assegnare la materia latino (o
greco) per un totale di 7 ore e chiedere la programma di non dare più di due
ore nella stessa giornata: poteva così accadere che il programma assegnasse 2
ore il lunedì, 2 il martedì, 2 il mercoledì e una il giovedì senza
contravvenire alle nostre richieste. Adesso potete attribuire 4 ore di latino,
chiedendo di non assegnare più di un'ora nella stessa giornata (ed
eventualmente di lasciare un giorno vuoto tra una lezione e l'altra, ma per un
monte di 4 ore la condizione è piuttosto pesante) e 3 ore di greco, chiedendo
di non assegnare più di un'ora nella stessa giornata e di lasciare un giorno
vuoto tra almeno una lezione e un'altra (qui la richiesta ha decisamente
senso.) Per quanto riguarda le 'doppiette', in questo caso durante la creazione
della classe indicherete che volete 2 ore consecutive di latino (e
eventualmente anche di greco: il programma cercherà la materia, tra quelle
assegante allo stesso insegnante, per cui è richiesto il maggior numero di ore
consecutive, dunque è ininfluente che mettiate 2 ore consecutive a latino, a
greco o entrambe le materie): nell'assegnazione automatica la doppietta verrà
costruita assegnando in almeno una giornata, prima dell'intervallo, due ore
consecutive: una di latino e una di greco

Adesso è possibile bloccare alcune ore: durante l'assegnazione manuale il
programma si rifiuterà di sostituire o eliminare un'ora bloccata e un pop-up vi
chiederà di sbloccarla prima di spostarla; l'assegnazione automatica non
toccherà le ore che voi abbiate deciso di bloccare. Attenzione:i 'segnaposto'
(lib o free - per il giorno libero - ext - per le ore in cui l'insegnante è
impegnato in altro istituto- D - per le ore a disposizione - ## - per le ore da
non utilizzare per l'insegnante o la classe) vengono automaticamente bloccati
dal programma al momento dell'asssegnazione e devono essere bloccati se li
sbloccate badate a sostituirli con una classe - nella pagina dell'insegnante -
o un insegnante - nella pagina della classe - o un'ora vuota. In caso contrario
ricordatevi di tornare a bloccarli

Al momento della creazione o modifica delle classi è possibile stabilire che
una materia non sia assegnata nello stesso giorno di un'altra materia. Questa
funzione dovrebbe servire per evitare di dare a una classe giornate troppo
leggere o troppo pesanti. Esempio: nella scuola in cui mi sono di recente
trasferito vige la regola di non assegnare nello stesso giorno e alla stessa
classe educazione fisica e religione: materie di solito considerate leggere che
è meglio distribuire in diversi giorni della settimana

La pagina 'quadro di controllo' è completamente riscritta, e lo sono anche le
pagine di statistiche che non ho eliminato. La lettura è più laboriosa che
nella versione precedente, ma con l'opzione 'più materie per insegnante' era
inevitabile

                        Cambiamenti nella versione 4.0
1) Questa versione introduce l'assegnazione automatica delle ore all'interno di
orario_elettronico mediante una serie di script in linguaggio php.
REQUISITI:
- una buona quantità di memoria (per lavorare bene credo siano necessari 512
MB: funziona, ma lentamente, con 256 MB, va bene con 1 GB)
- modificare adeguatamente il file php.ini (seguite le istruzioni nella pagina
di accesso all'assegnazione automatica)
per accedere a questa nuova funzione scegliete l'opzione 'amministrazione e
gestione' --> 'ASSEGNAZIONE AUTOMATICA DELLE ORE' e seguite le istruzioni.

2) Sono molto migliorate le pagine dedicate alle statistiche; in particolare la
pagina 'amministrazione e gestione' --> 'QUADRO DI CONTROLLO' vi dà una visione
generale di tutte le caratteristiche (ed eventuali errori) dell'orario che
avete compilato.

- Le funzioni di assegnazione manuale delle ore non hanno subito alcuna
modifica.

                        Cambiamenti nella versione 3.5
Aggiornati alla versione3.6.6 di FET_-_Free_Evolutionary_Timetabling i file per
esportare e importare i dati
                        Cambiamenti nella versione 3.4
cambiamenti minori per consentire l'uso della nuova restrizione
ConstraintTeachersNoMoreThanXHoursDaily nella versione 3.6.1 di FET - Free
Evolutionary Timetabling
                  Cambiamenti nella versione 3.3 e superiori
Solo per linux
Ho integrato il programma con FET_-_Free_Evolutionary_Timetabling, un programma
per l'assegnazione automatica delle ore creato da Liviu Lalescu. Potete
esportare la struttura dall'orario in fet, fare elaborare le ore dal programma
e importare i risultati in orario_elettronico per lavorarci a mano.
Scegliete l'opzione 'ASSEGNA LE ORE CON FET' dal menu 'amministrazione e
gestione' e seguite le istruzioni.

                  Cambiamenti nella versione 3.0 e superiori
Versione multilingua e multisistema, lavora sia su linux che su windows,
all'ingresso si sceglie tra italiano e inglese.
Aggiunta un'opzione per duplicare al volo il database su cui si lavora.
Aggiunta una pagina per vedere le ore fatte da ogni insegnante in ogni classe.
Aggiunti colori per una migliore leggibilità.

                  Cambiamenti nella versione 2.0 e superiori
ATTENZIONE!! Questa versione introduce la gestione delle aule speciali: al
momento della creazione della classe potrete indicare per ogni insegnante in
quale aula è impegnato: quando assegnerete le ore, se l'aula è già  impegnata,
potrete comunque andare avanti (nella mia scuola due classi condividono la
stessa palestra), ma riceverete un messaggio di avviso e avrete a disposizione
una tabella con la situazione delle aule speciali impiegate da ogni classe.
Avete a disposizione uno script per aggiornare database creati con vecchie
versioni di orario elettronico. Al momento dell'aggiornamento a tutti gli
insegnanti di ogni classe verrà  assegnata un'aula con il nome della classe,
sta a voi andare a 'modifica una classe' e inserire le aule speciali.

                  Cambiamenti nella versione 1.0 e superiori
ATTENZIONE!! Con questa versione ho modificato la struttura delle tabelle,
adesso i dati sono meglio organizzati e le ricerche leggermente più veloci.
Questo vuol dire che se usate un database creato con una vecchia versione di
orario_elettronico il programma non troverà  alcuni campi e riceverete messaggi
di errore. Dalla pagina amministra potete accedere (opzione "8)Aggiorna un
vecchio database") a uno script che aggiornerà  automaticamente i vecchi
database per essere usati con questa versione di orario_elettronico.
L'operazione è stata da me più volte eseguita e funziona, tuttavia è comunque
consigliabile fare prima un backup del database con l'opzione 6) Esporta -
importa un database
Ho inoltre aggiunto alcune opzioni alla pagina amministra, adesso potete
cancellare un database che non vi interessa più senza usare la linea di comando
di mysql.

                  CAMBIAMENTI NELLA VERSIONE 0.2 e superiori
Questa versione cambia molte cose: non dovete più creare una cartella per ogni
database (da un'unica cartella avrete l'opzione di scegliere su quale database
lavorare) e potete accedere al database con un account da amministratore o con
uno da ospite per la sola consultazione.
Cambiano dunque anche i primi passi: 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 definire 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).
Dovete poi indicare il nome del primo database di orario_elettronico: nel 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.
              

ENGLISH
This program is born from the lack of a comfortable and flexible tool to
compile a school timetable.
There are a lot of commercial programs out there, but they are rather expensive
and, when I started this program, I could not find any program working on
linux, and I had no wish to launch windows, an O. S. which gets on my nerves,
only in order to work at the timetable.
In the meanwhile the open source community has been working also to programs to
compile school timetables. Here you find a page with links_to_the_programs_I
know.

The outcome is this work, entirely written in phpand based on the database
mysql; to use it you need these two programs, moreover you must install the
server apache as the program works inside a browser.
The pages are built on and optimized for Mozilla.

This is the last version: orario_elettronico will no more be mantained.
Limitations for the use on widows systems have been removed
The program works fine on linux, is slow and buggy on windows. I discourage the
use on windows systems


  ****** Change log ******
                             Changes in version 6.0
The scripts for the automatic allocation of hours and the removing of the
blanks between the assigned hours are again rewritten from scratch. Now they
should be faster and, in ost cases, undestand if it's impossible to satisfy a
constraint and give up in a reasonable time
This is the last version: orario_elettronico will no more be mantained.
Limitations for the use on widows systems have been removed
The program works fine on linux, is slow and buggy on windows. I discourage the
use on windows systems
                            Changes in version 5.0
The scripts for the automatic allocation of hours and the removing of the
blanks between the assigned hours are rewritten from scratch. Now these
functions work at progressively deeper levels (and are progressively slower):
at 'level' 0 the script simply searches for a free hour of teachers and
classes; when you go on, the script moves already allocated hours and tries to
resolve conflicts: this may become very complicated and if it's impossible to
satisfy some constraints the program will finish in a never ending loop. In my
experience everything that can be done is done at level 4; in some very
complicated case you may need level 5. The execution of the program may take a
very long time: I suggest you to let it work over night.
REQUIREMENTS:
- a lot of memory: the script works in the RAM and at least 512 MB, or better 1
GB are required;
- time: you must modify the file php.ini in order to increase the maximum
execution time; follow the instructions inserted in the page for the automatic
allocation of hours; you may also need to increase the timeout limit of your
browser.
WARNINGS:
- While testing and debugging the program I have had several freezes of the x-
server. In order to avoid it the script gives very few output messages. These
freezes shouldn't happen any more, but be advised: you use the program at your
own risk!
- in order to avoid freezes, after level 2 the script will not give any output
for long times, it will seem to sleep. There are two ways to stop the execution
of the script:
1) press the button 'stop loading' of your browser, but the order will have
effect only when the browser receives some input form the script (it may take a
long time);
2) from a shell, as root, restart apache. In my gentoo distribution : /etc/
init.d/apache2 restart , in other distributions it will be different; in
windows you'll find a button which gives this result, but a real man or woman
does not press buttons!

With version 5.0 you can assign more than one subject to the same teacher in
the same class.

Now you can lock some hours: the scripts will not move hours signed as locked.
Remember: placeholders as 'lib' 'free' 'ext' '##' are locked as you insert them
and must remain locked

You can state that a subject may not be teached in the same class and day with
another subject (we may not want very 'light' subjects to be teached in the
same day)

'Control panel' is interely rewritten

                            Changes in version 4.0
1) This version supports the automatical allocation of hours inside
orario_elettronico via some php scripts.
REQUIREMENTS:
- a good amount of memory (512MB should be ok; works good with 1GB, rather slow
with 256MB);
- edit file php.ini as said in autoamtic allocation enter page.
In order to use this option choose 'ADMINISTRATION'-->'AUTOMATIC ALLOCATION OF
HOURS'

2) Much better statistic pages. From ''ADMINISTRATION'-->'CONTROL PANEL' you
get an overview on the whole timetable and are noticed about errors.

The manual allocation of hours had no changes.
                            Changes in version 3.5
Import/export files updated to FET_-_Free_Evolutionary_Timetabling version
3.6.6
                            Changes in version 3.4
Minor changes in order to take advantage of the new constraint
ConstraintTeachersNoMoreThanXHoursDaily in version 3.6.1 of FET - Free
Evolutionary Timetabling
                        Changes in version 3.3 and over
Only for linux
I have integrated the program with FET_-_Free_Evolutionary_Timetabling, a
program for automatic allocation of hours created by Liviu Lalescu. You can
export basic data from orario_elettronico into fet, let it allocate hours and
import the results into orario_elettronico for manual work.
Just select option 'ALLOCATE HOURS WITH FET" from menu "ADMINISTRATION" and
follow the instructions

                        Changes in version 3.0 and over
This version works on both windows and linux systems and lets you choose
between italian and english.
Added option to duplicate database 'on the fly''.
Added colors for better readability.

                        Changes in version 2.0 and over
ATTENTION!! This version introduces the management of special rooms: when you
create a class you can define for each teacher in which classroom he will work.
When you will assign working hours to teachers, if the classroom is already
busy, you will be allowed to keep working (in my school two classes share the
same gymnasium), but you will become an alert and see a table containing the
state of all special rooms used by the class.
I've written a script which updates databases created with older versions of
orario_elettronico. As you update the database, a classroom with the same name
of the class (1a, 1b ecc) will be assigned to each teacher working in every
class. It will be your care to use the link 'modify a class' to insert special
rooms.

                        Changes in version 1.0 and over
ATTENTION!! In this version the structure of tables is changed, now data are
better organized and queries a little faster.
This means that if you use a database created with an older version of
orario_elettronico the program will not be able to find some fields and you
will get error messages. From page 'manage database' you can gain access to a
script (option '8)Update an old database') which will automatically update old
databases in order to be used with this version of orario_elettronico. I have
often used this option and it works, anyway I strongly suggest you to make a
backup of the old database with option '6) Export - import a database' before
updating.
I have also added some options to the page 'manage database', now you can
delete an old database without using the command line.

                        Changes in version 0.2 and over
This version changes many things: you will no more need to create a folder for
each database (from one folder you can choose on which database you want to
work), you can also choose whether to access the database as administrator or
as guest (only consultation).
The first steps are therefore changed too: the first thing you must do after
unpacking the program and moving the folder in the root directory of the http
server (on linux it depends on the choices you made installing apache, on
windows normally c:\Programs\Apache Group\Apache\htdocs), is launch from the
sever the page "1_START_AND_DELETE_ME.php" . Here you must insert name and
password of the root mysql user, necessary for the first access. Normally
should be OK the option I offer: user 'root' and no password.
Then you MUST choose a name and password for the user provided with
administrator rights (the form offers 'admin' with password to be MANDATORY
defined: from the login form users will be unable to enter the program without
a password, in order to avoid that users access the program as root in systems
where the root user has no password) and for the guest (the form offers
'guest', 'guest' and it can be OK)
You Must also choose the name for the first database created with
orario_elettronico: from the login page the user can access only databases
whose name contains the string defined in file includes/connect.php (YOU MAY
EDIT IT AS YOU LIKE). I chose the string 'orar', therefore only databases
containing this string may be accessed and if no such database exists the user
won't be able to enter the program.
Further databases will be created inside the program and you will no more need
the file "1_START_AND_DELETE_ME.php". I strongly suggest to throw it away or,
at least, move it to a folder inaccessible from the server: it is the only file
which allows the root user to access the mysql server without a password.
Finally you must choose the highest number of hours and teachers for class
(refer to the class which has the maximum number of hours and the one with the
maximum number of teachers; this defines the size of the tables).
I say it again: once the users are defined and the first database created you
need no more this file, throw it away. The administrator will be able to access
the first database, add classes, modify them and create new databases from the
program. Security should be granted by the fact that name and pass of the user
accessing the program aren't written in any file, but stored in cookies which
expire at the end of each session and newly created at each login.
The following link allows you to enter the page 1_START_AND_DELETE_ME,on
condition that your host is named 'localhost' and the folder containing the
program is named 'orario_elettronico' and is located in the root directory of
the server. Anyway the address you must type in the browser will be something
like: http://localhost/orario_elettronico/1_START_AND_DELETE_ME.php
changing, of course, the server name and the path to the folder.    
Source: readme .txt, updated 2019-05-12