### Administration - Update

Hier können Sie die aktuelle Version Ihres Portals auf eine neuere Version (oder gleiche) oder auf die Entwicklungsversion (master) aktualisieren!...
Dieses Update wird in zwei Schritten durchgeführt: zuerst Dateien, dann Datenbank.

#### Datei-Update

Die Oberfläche, hauptsächlich erklärend, erlaubt tatsächlich nur die Auswahl eines Parameters: die Version, die die aktuell auf dem Portal verwendete Version ersetzt.
Der erste Bildschirm zeigt:

- Versionszusammenfassung: Version auf dem Portal und neueste verfügbare stabile Version
- eine variable Statusmeldung
- eine Dropdown-Liste zur Auswahl der Version zur Vorbereitung des Updates
- die Schaltfläche `Update vorbereiten`, die Ihnen nach Ihrer Auswahl den Zugriff auf den zweiten Bildschirm ermöglicht

Der zweite Bildschirm zeigt vorläufige Empfehlungen und Erinnerungen an gewählte oder vorgegebene Optionen für das Update. Er enthält zwei Schaltflächen:

- `Zurück` ==> (zurück zum ersten Bildschirm) ...
- `Update starten` ==> löst eine Javascript-Bestätigungsmeldung aus (oder nicht) und startet das Update-Verfahren im Deployer ...

Sie befinden sich nun in der progressiven Steuerungs- und Informationsoberfläche der Prozesse, die insgesamt zwischen 2 und 3 Minuten dauern.
Im Erfolgsfall ermöglicht eine Schaltfläche `Administration aufrufen` die Rückkehr zur Administration auf dem Bestätigungsbildschirm für erfolgreiche Dateiaktualisierung.

#### Datenbank-Migration

Wenn alles gut gelaufen ist, haben Sie jetzt Zugriff auf die Schaltfläche `Datenbank migrieren`, die eine Javascript-Bestätigungsmeldung auslöst (oder nicht) und die Datenbankmigration startet.
Rat: Führen Sie vor dem Start eines Updates eine vollständige Sicherung Ihrer Datenbank über phpMyAdmin oder NPDS `/admin.php?op=SavemySQL` durch.
Der folgende Bildschirm fasst den Kontext, die Analyse struktureller Unterschiede und generierte Abfragen zusammen, die über die Schaltfläche `Migration ausführen` ausgeführt werden und die Datenbank im Betrieb ändern...

Ein letzter Bildschirm zeigt das Ergebnis der Datenbankmigration und des gesamten Updates an.

Im Falle eines Datenbank-Migrationsfehlers ermöglicht ein Link den Neustart des Verfahrens ohne Verlust der Update-Parameter.

#### Technische Notiz

- Jedes Update erzeugt automatisch ein Backup sensibler Dateien (ein .zip-Archiv: file_backup_ gefolgt von Zeitstempel) verfügbar in `/lib/deployer/npds_backups/`
- Datenbankmigration ist ein Update der Struktur und ein Update der Daten in den Tabellen functions und metalang. Sie basiert auf einem Vergleich von zwei Dateien, die das SQL-Schema enthalten: die aktuell verwendete Datei und die Datei der neuen Version.
  - Für strukturelle Updates werden UPDATE-Abfragen basierend auf dem Vergleich generiert.
  - Für Datenupdates der Tabellen functions und metalang werden `DELETE/INSERT` Abfragen generiert. Dieser Vorgang erhält Ihre Anpassungen bei, während der Systemcode aktualisiert wird. (Dieses Update dieser beiden Tabellen ist systematisch)
- Das gesamte Portal-Update-Verfahren wird überwacht und in PHP-Logs und NPDS-Logs aufgezeichnet (`/slogs/install.log`)

NPDS - Administrationshandbuch