Struktur
Das Projekt ist wie folgt strukturiert:
- subprograms "Unterprogramme", unterschiedlich aussehende Webseiten. Zum Beispiel "web" oder "administrator". subprograms haben ein oder mehrere modules.
- modules
Unterteilen das Programm in einzelne Funktionalitäten wie "Kurswahlsystem"
oder "Schulbuchausleihesystem". Können & werden über die subprograms hinweg
dupliziert. So hat "web" ein module namens "Kuwasys" für
Schüleranmeldungen und "administrator" ein module namens "Kuwasys" um
diese zu verwalten.
modules können wiederrum modules als Kinder haben, die die Funktionalitäten nochmals unterteilen, zum Beispiel "Kurwahlen ansehen" oder "Schüler hinzufügen".
Ordnerstruktur
/codeEnthält den eigentlichen Code des Programmes./code/administratorEnthält alle PHP-Dateien für das subprogram administrator./code/webEnthält alle PHP-Dateien für das subprogram web./code/publicDataEnthält alle PHP-Dateien für das subprogram publicData. Wird benutzt für öffentliche Daten, erreichbar ohne vorherigem Login./code/includeEnthält Dateien die über die subprograms hinweg im ganzen Projekt benutzt werden./code/include/3rdPartyPHP-Bibliotheken/code/include/<ModuleName>PHP-Klassen die zu einem Modul gehören und über mehrere Subprograms hinweg genutzt werden./code/include/modelsEnthält Daten zur Datenbank-Struktur für die Doctrine2-Bibliothek./code/include/sql_accessGrößtenteils Wrapper-Klassen für SQL-Befehle. Wird nach und nach durch Doctrine2 ersetzt./code/include/tmpFilesEnthält temporär generierte Dateien. Kann/sollte regelmäßig gelöscht werden./code/include/cjsCoffeescript-Dateien, die mithilfe von gulp zu Javascript-Dateien konvertiert werden. Die JS-Dateien landen in/code/include/js./code/include/cjs/modulesCoffeescript-React-Dateien. Diese werden ebenfalls mithilfe von gulp in Javascript übersetzt und mithilfe von browserify gebündelt. Die JS-Dateien landen in/code/include/js/dist./code/localeEnthält die Lokalisierungsdateien für Übersetzungen des Programmes. Wird momentan nicht mehr weiter in das Programm integriert.- /code/smarty_templates Enthält Html-Templates, die von der Smarty-Bibliothek geparst werden.
Beachtenswerte Dateien
/code/include/sql_access/databaseValues.orig.phpEnthält die Daten für den Login zur Datenbank. Muss nach "databaseValues.php" kopiert werden und diese dann ausgefüllt werden./doctrine_update_entities.shBei Änderung der Datenbank-Struktur müssen die Daten in /code/include/models/mapping angepasst werden. Um diese Änderungen zu übernehmen, wird die Shell-Datei ausgeführt.