# Anpassungen über die config.json

Alle Einstellungen von FINN.ghost stehen in einer Datei: der `config.json` im
Installationsordner. Fast alles darin wird über die Oberfläche gepflegt — für einige
Sonderfälle gibt es keine Maske.

<p class="callout danger">Diese Datei enthält die gesamte Konfiguration einschließlich der verschlüsselten Kennwörter. Änderungen von Hand nur mit angehaltenem Dienst und nur mit einer Kopie der bisherigen Datei — eine ungültige Datei verhindert den Start.</p>

## Wo sie liegt

```text
C:\DAKO\SelectLine.ghost\config.json
```

Der Pfad richtet sich nach dem gewählten Installationsordner.

| | |
| ------------------------- | -------------------------------------------- |
| **Beim Update** | wird nicht überschrieben |
| **Kennwortfelder** | werden verschlüsselt gespeichert |
| **`config.json.tmp`** | Sicherheitskopie |

## Die Sicherheitskopie

Im gleichen Verzeichnis liegt `config.json.tmp`. Sie wird **stündlich** von der Systemaufgabe
*Backup Config* geschrieben.

<p class="callout warning">Sie ist damit der Stand der letzten vollen Stunde — <strong>nicht</strong> der Stand unmittelbar vor der letzten Änderung. Wer eine Einstellung zurücknehmen will, findet dort den Stand von vorher nur, wenn seit der letzten Sicherung noch nichts geändert wurde.</p>

<p class="callout success">Vor größeren Änderungen deshalb selbst eine Kopie anlegen und mit Datum benennen. Das kostet nichts und erspart im Zweifel viel.</p>

Siehe [Wartung und Systemaufgaben](https://wiki.dako-it.com/books/finnghost-systemhandbuch/page/wartung-und-systemaufgaben).

## Vorgehen bei Änderungen von Hand

1. Windows-Dienst `SL_<Ordnername>` anhalten.
2. Kopie der `config.json` anlegen.
3. Ändern und die Datei als **gültiges JSON** speichern.
4. Dienst starten.
5. Im Protokoll prüfen, dass er gestartet ist.

<p class="callout danger">Wird bei laufendem Dienst geändert, geht die Änderung verloren: Die Anwendung hält die Einstellungen im Speicher und schreibt die Datei beim nächsten Speichern komplett neu.</p>

## Dateien im Dateisystem ablegen

Standardmäßig legt FINN.ghost die Dateien von Journalen in der Datenbank ab. Sollen sie
stattdessen im Dateisystem liegen, wird der Pfad zum **SYSTEM-Ordner der SelectLine**
hinterlegt:

```json
{
  "systemPath": "\\sql03\SelectLineSQL2022_SRV\SYSTEM"
}
```

<p class="callout info">Läuft FINN.ghost nicht auf demselben System wie die SelectLine, muss es ein <strong>Netzwerkpfad</strong> sein. Im JSON werden Backslashes doppelt geschrieben — <code>\</code> statt <code>\</code>.</p>

<p class="callout warning">Der Benutzer, unter dem der Windows-Dienst läuft, braucht Schreibrechte auf diesen Pfad. Läuft der Dienst als lokales Systemkonto, hat er auf einem Netzwerkpfad in der Regel keine Rechte — dann gehört dem Dienst ein Domänenkonto zugewiesen.</p>

### Datenbank oder Dateisystem

| | Datenbank (Standard) | Dateisystem |
| --------------------- | ------------------------------ | ---------------------------- |
| In der Datensicherung | enthalten | nur wenn der Ordner mitgesichert wird |
| Größe der Datenbank | wächst mit den Dateien | bleibt klein |
| Zugriff | nur über die SelectLine | auch direkt im Ordner |

<p class="callout success">Bei FINN.mail2SL lohnt die Überlegung: Dort entsteht je abgelegter Mail eine Datei. Über Jahre summiert sich das in der Datenbank deutlich.</p>

## Einstellungen, die es nur hier gibt

Ein Teil der Einstellungen hat keine Maske: eigene Abfragen für die Bestandsermittlung,
Zuordnungen einzelner Felder und Sonderfälle der einzelnen Module. Welche das sind und was
sie bewirken, steht im Kapitel
[Einstellungen ohne Maske](https://wiki.dako-it.com/books/finnghost-systemhandbuch/page/grundlagen).

## Was hier nicht geändert werden sollte

<p class="callout warning">Alles, wofür es eine Maske gibt, gehört über die Oberfläche geändert — dort werden Werte geprüft, Kennwörter verschlüsselt und nötige Neustarts ausgelöst. Der direkte Eingriff ist für die Fälle gedacht, die keine Maske haben.</p>

Eine Ausnahme ist der Notfall: Hat man sich durch die eingeschaltete Benutzeranmeldung
ausgesperrt, lässt sie sich hier zurücksetzen. Siehe
[Server und Oberfläche](https://wiki.dako-it.com/books/finnghost-systemhandbuch/page/server-und-oberflache).

## Nächster Schritt

[Wartung und Systemaufgaben](https://wiki.dako-it.com/books/finnghost-systemhandbuch/page/wartung-und-systemaufgaben)