- Background-Sync: SHA-Check alle 5s, voller Pull nur bei Änderung - Sync-Hashes werden nach Pull im Storage geschrieben → grüne Dots - UI refreshed automatisch bei Background-Sync (storage.onChanged) - Scope-Badge-Bug gefixt (folderToScope normalisiert den Vergleich) - defaults.local.json: optionale vorkonfigurierte Verbindungsdaten - README: Doku für defaults.local.json und XPI-Build mit/ohne Defaults
114 lines
4.3 KiB
Markdown
114 lines
4.3 KiB
Markdown
# HPS Vorlagen & Signaturen
|
|
|
|
Thunderbird-Plugin (v2.2.0) zur zentralen Verwaltung von E-Mail-Vorlagen und Signaturen für Hotel Park Soltau. Vorlagen und Signaturen werden über ein Gitea/Forgejo-Repository synchronisiert und stehen so allen Mitarbeitern zur Verfügung.
|
|
|
|
## Features
|
|
|
|
- **E-Mail-Vorlagen** erstellen, bearbeiten und per Klick in Compose-Fenster einfügen
|
|
- **3 Sichtbarkeitsstufen** pro Vorlage:
|
|
- **Persönlich** — nur für den eigenen Account, gesynct in `_benutzer/{email}/`
|
|
- **Abteilung** — für alle in der Abteilung, gesynct in den Abteilungsordner
|
|
- **Alle Abteilungen** — firmenweit, gesynct in `_gemeinsam/`
|
|
- **Signaturen-Verwaltung** mit persönlichem Kopfbereich + gemeinsamer Fußzeile pro Abteilung
|
|
- **Git-Sync** über Gitea/Forgejo API (Pull + Push, automatisch alle 15 Min.)
|
|
- **Auto-Erkennung** von Abteilung und Benutzer via `_config/abteilungen.json`
|
|
- **WYSIWYG-Editor** mit Schriftart, Farben, Listen, Bildern, Links
|
|
- **Sichtbarkeit direkt änderbar** per klickbarem Badge in der Vorlagenliste
|
|
|
|
## Repository-Struktur (Gitea)
|
|
|
|
```
|
|
repo/
|
|
├── _gemeinsam/ # Vorlagen für alle Abteilungen
|
|
│ └── beispiel-vorlage.html
|
|
├── _benutzer/ # Persönliche Vorlagen pro User
|
|
│ ├── max@hotel-park-soltau.de/
|
|
│ └── anna@hotel-park-soltau.de/
|
|
├── _config/
|
|
│ └── abteilungen.json # E-Mail → Abteilung Mapping
|
|
├── Rezeption/ # Abteilungsvorlagen
|
|
├── IT/
|
|
├── signatures/
|
|
│ ├── headers/ # Persönliche Signatur-Köpfe
|
|
│ │ └── max@hotel.de.max-mustermann.html
|
|
│ └── footers/ # Gemeinsame Fußbereiche
|
|
│ └── Rezeption.html
|
|
```
|
|
|
|
### `_config/abteilungen.json`
|
|
|
|
Mapping von Abteilungs-E-Mail-Adressen zu Ordnernamen. Wird vom Plugin gelesen, um Abteilung und persönliche E-Mail automatisch zu erkennen:
|
|
|
|
```json
|
|
{
|
|
"info@hotel-park-soltau.de": "Rezeption",
|
|
"veranstaltungs@hotel-park-soltau.de": "Veranstaltungsbuero",
|
|
"it@hotel-park-soltau.de": "IT",
|
|
"haustechnik@hotel-park-soltau.de": "Haustechnik"
|
|
}
|
|
```
|
|
|
|
## Plugin-Aufbau
|
|
|
|
| Datei | Funktion |
|
|
|---|---|
|
|
| `manifest.json` | Extension-Manifest (Thunderbird WebExtension v2) |
|
|
| `background.js` | Template-Insertion ins Compose-Fenster |
|
|
| `popup.html` / `popup.js` | Popup beim Klick auf "Vorlagen" im Compose |
|
|
| `lib/gitea-sync.js` | Gitea-API-Client + Sync-Manager |
|
|
| `lib/mdi/` | Material Design Icons (Subset) |
|
|
| `templates_options/` | Einstellungsseite (Vorlagen, Signaturen, Verbindung) |
|
|
| `defaults.local.json` | Optionale vorkonfigurierte Verbindungsdaten (gitignored) |
|
|
|
|
## Installation
|
|
|
|
### Lokal (Entwicklung)
|
|
|
|
1. Thunderbird öffnen
|
|
2. Extras → Add-ons und Themes
|
|
3. Zahnrad-Icon → Add-on aus Datei installieren
|
|
4. `templates-reply-hotel.xpi` auswählen
|
|
|
|
### XPI bauen
|
|
|
|
```bash
|
|
# Ohne vorkonfigurierte Verbindungsdaten:
|
|
7z a templates-reply-hotel.xpi manifest.json background.js popup.html popup.js lib/ templates_options/ icons/
|
|
|
|
# Mit vorkonfigurierten Verbindungsdaten (für Deployment):
|
|
7z a templates-reply-hotel.xpi manifest.json background.js popup.html popup.js lib/ templates_options/ icons/ defaults.local.json
|
|
```
|
|
|
|
### Vorkonfigurierte Verbindungsdaten (`defaults.local.json`)
|
|
|
|
Wenn eine `defaults.local.json` im Plugin-Root existiert und in die XPI eingebaut wird, werden die Verbindungsdaten beim ersten Start automatisch gesetzt. Der User muss dann nur noch "Verbindung speichern" klicken.
|
|
|
|
```json
|
|
{
|
|
"baseUrl": "https://git.example.com",
|
|
"owner": "organisation",
|
|
"repo": "email-vorlagen",
|
|
"branch": "main",
|
|
"token": "dein-api-token"
|
|
}
|
|
```
|
|
|
|
Die Datei ist in `.gitignore` — Tokens landen nicht im Repository.
|
|
|
|
## Einrichtung
|
|
|
|
1. **Verbindung konfigurieren**: Einstellungen-Tab (⚙) → Server-URL, Repository, Token eingeben → Verbindung speichern (entfällt bei vorkonfigurierter XPI)
|
|
2. **Abteilung wählen** (oder automatisch erkannt via `abteilungen.json`)
|
|
3. **Vorlagen erstellen**: Vorlagen-Tab → Neue Vorlage → Sichtbarkeit wählen → Speichern
|
|
4. **Signaturen einrichten**: Signaturen-Tab → Identität wählen → Kopfbereich bearbeiten → Speichern
|
|
|
|
## Voraussetzungen
|
|
|
|
- Mozilla Thunderbird >= 109.0
|
|
- Gitea/Forgejo-Server mit API-Zugang
|
|
- API-Token mit Repository-Schreibrechten
|
|
|
|
## Lizenz
|
|
|
|
MIT License
|