# Setup

## Setup starten

Das initiale Setup wird bei der Neuinstallation des Frameworks automatisch angestoßen.&#x20;

Eine weitere Möglichkeit ist es, das Setup als Administrator im "Backend" zu starten.

Dabei werden folgende Installationspunkte von der Setup-Routine analysiert und dem Administrator zur Ausführung angeboten:

![Das Setup führt eine Analyse der notwendigen Aktivitäten durch...](https://2547061836-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaV7PHur_BU6MA3-5lA%2F-Lc6ax6pAIx7wQeTOGhA%2F-Lc6dMeQIGzp-3EQXg_1%2Fsetup.png?alt=media\&token=e3d9b489-3ace-4d8c-b74d-33ab57dc7043)

* Anlage der benötigten Datenbanktabellen
* Anpassung bestehender Datenbanktabellen (Strukturänderungen)
* Ausführung von Setup-Skripten
* Löschen von veralteten Dateien

## Datenbanktabellen

Neue oder zu ändernde Datenbanktabellen werden aus der modulbezogenen Konfigurationsdatei `tabledef.xml` im jeweiligen Unterordner `modules/Modul_123/core/` ermittelt.

## Setup-Skripte

Während eines Setups ist es möglich, dass Datensätze überarbeitet bzw. angelegt werden.

Die Datenmanipulationen werden aus der modulbezogenen Konfigurationsdatei `tabledata.php` im jeweiligen Unterordner `modules/Modul_123/core/` ermittelt.

### Beispiel:

{% content-ref url="beispiele/tabledata.php" %}
[tabledata.php](https://alaniso-de.gitbook.io/alaf-framework/beispiele/tabledata.php)
{% endcontent-ref %}

## Alte Dateien zur Löschung

Gerade bei Versionswechsel von Softwaremodulen kommt es vor, dass sich die Dateistruktur der Programm- oder Konfigurationsdateien ändert. Um alte Dateien vom Webserver zu löschen, bietet die Setup-Funktion vom alaf-Framework folgende Möglichkeit an:

Zu löschende Dateien werden aus der modulbezogenen Konfigurationsdatei `cleanup.files.php` im jeweiligen Unterordner `modules/Modul_123/core/` ermittelt.

Falls vorhanden, enthält diese Datei 2 array-Variablen (`$deldirs[]` und `$delfiles[]` ), die während der Setup-Funktion die zu löschenden Betriebssystem-Verzeichnisse und -Dateien enthält.

### Beispiel:&#x20;

{% content-ref url="beispiele/cleanup.files.php" %}
[cleanup.files.php](https://alaniso-de.gitbook.io/alaf-framework/beispiele/cleanup.files.php)
{% endcontent-ref %}
