Eine Konfigurationsdatei hält Einstellungen eines Systems außerhalb der Oberfläche fest: Datenbankzugang, Sprachen, Pfade, Betriebsmodus. Sie liegt im Projekt und wird beim Start gelesen.
- Konfigurationsdatei (CMS)
Eine Datei, in der Einstellungen eines Systems außerhalb der Oberfläche festgelegt werden.
Beispiel: „Der Betriebsmodus steht in der Konfigurationsdatei und nicht im Backend.“Abgrenzung zu Einstellungen im Backend: Die liegen in der Datenbank und sind damit nicht Teil des versionierten Projekts.
Anwendungsfall: alles, was sich zwischen Entwicklungs-, Test- und Live-Umgebung unterscheidet.
Warum Einstellungen in Dateien nachvollziehbarer sind
Weil sie in der Versionsverwaltung liegen. Eine Änderung ist damit datiert, einer Person zugeordnet und rückgängig zu machen. Wer eine Einstellung im Backend ändert, hinterlässt in vielen Systemen keine Spur.
Der zweite Vorteil zeigt sich beim Aufbau einer weiteren Umgebung. Eine Testumgebung entsteht, indem das Projekt ausgecheckt und die Konfiguration für diese Umgebung gesetzt wird; Einstellungen aus der Datenbank müssten dagegen übertragen werden.
Wie Zugangsdaten davon getrennt bleiben
Über eine zweite Datei, die nicht im Projekt liegt. Datenbankpasswörter und Schlüssel gehören nicht in die Versionsverwaltung, weil sie dort für jeden sichtbar sind, der das Projekt bekommt, und auch in der Historie bleiben.
Üblich ist eine Umgebungsdatei je Server, die nur dort liegt, dazu eine Beispieldatei im Projekt, die zeigt, welche Werte erwartet werden. Wer einen Schlüssel versehentlich eingecheckt hat, muss ihn wechseln; aus der Historie entfernen genügt nicht.
Was nicht in die Konfigurationsdatei gehört
Alles, was die Redaktion ändern können soll. Eine Telefonnummer im Fußbereich, die in der Konfigurationsdatei steht, ist für die Redaktion unerreichbar und erzeugt bei jeder Änderung eine Anfrage an die Entwicklung.
Die Trennlinie verläuft entlang der Frage, wer etwas ändert. Technische Festlegungen gehören in die Datei, inhaltliche in das System, und Grenzfälle wie Öffnungszeiten besser einmal zu viel in die Hand der Redaktion.