Kendrick Bollens f223f55933 Release v2.3.3
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 10:37:24 +02:00
2026-06-18 10:37:24 +02:00
2026-06-18 10:37:24 +02:00
2026-06-18 10:37:24 +02:00

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:

{
  "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

# 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.

{
  "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.

Auto-Update (self-hosted über Gitea)

Installierte Add-ons aktualisieren sich automatisch über updates.json in diesem Repo (manifest.jsonbrowser_specific_settings.gecko.update_url).

⚠️ Dieses Repository muss public bleiben. Der Thunderbird-Auto-Updater greift anonym (ohne Token) auf updates.json und die Release-.xpi zu. Ist das Repo privat, liefert Gitea 401 — die automatischen Updates funktionieren dann nicht mehr.

Neue Version veröffentlichen:

  1. version in manifest.json hochzählen, .xpi ohne defaults.local.json neu bauen.
  2. GITEA_TOKEN=… ./release.sh — hasht die .xpi, aktualisiert updates.json, legt das Gitea-Release an und lädt die .xpi als Asset hoch.
  3. updates.json + manifest.json committen & pushen.

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

Description
No description provided
Readme GPL-3.0 6.9 MiB
v2.3.4 Latest
2026-06-18 09:08:34 +00:00
Languages
JavaScript 71.2%
HTML 18.7%
CSS 9%
Shell 1%
Dockerfile 0.1%