2026-06-03 11:15:59 +00:00
|
|
|
|
# DocuWare Ablage – Thunderbird-Extension
|
|
|
|
|
|
|
|
|
|
|
|
Legt eine markierte E-Mail aus Thunderbird in DocuWare ab. Nach Klick auf den Button
|
|
|
|
|
|
erscheint ein **Ablage-Dialog**: Aktenschrank wählen, Indexfelder ausfüllen (aus der
|
|
|
|
|
|
Mail vorbefüllt), ablegen. Hochgeladen werden – je nach Auswahl – die Mail als `.eml`,
|
|
|
|
|
|
die Mail als PDF und die Anhänge als separate Dokumente.
|
|
|
|
|
|
|
|
|
|
|
|
## Funktionsweise
|
|
|
|
|
|
|
|
|
|
|
|
- **Direkte Anbindung** an die DocuWare **Platform REST-API** (kein eigener Server).
|
|
|
|
|
|
Auth v1 per **Cookie-Logon** (`/Account/Logon`).
|
|
|
|
|
|
- **Dynamische Felder**: Die Eingabemaske wird aus dem *Store-Dialog* des gewählten
|
|
|
|
|
|
Schranks erzeugt (Felder, Pflichtfelder, Auswahllisten).
|
|
|
|
|
|
- **Vorbefüllung** der `EML_*`-Felder aus der Mail (Absender, Empfänger, Betreff,
|
|
|
|
|
|
Datum, Richtung, Größe, Body …).
|
|
|
|
|
|
|
|
|
|
|
|
## Projektstruktur
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
manifest.json MailExtension-Manifest (Manifest v2)
|
|
|
|
|
|
background/background.js Button + Kontextmenü, öffnet den Dialog
|
|
|
|
|
|
dialog/ Ablage-Dialog (HTML/CSS/JS)
|
|
|
|
|
|
options/ Einstellungen (Server, Login, Defaults)
|
|
|
|
|
|
lib/
|
|
|
|
|
|
store.js Einstellungen (browser.storage.local)
|
|
|
|
|
|
auth.js Cookie-Logon (Auth-Abstraktion)
|
|
|
|
|
|
docuware.js Platform-REST-Client (Schränke, Dialoge, Felder, Upload)
|
|
|
|
|
|
mail.js Mail-Extraktion (eml, Metadaten, Anhänge)
|
|
|
|
|
|
pdf.js abhängigkeitsfreier Text-PDF-Generator
|
|
|
|
|
|
icons/
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## Installation (Entwicklung)
|
|
|
|
|
|
|
|
|
|
|
|
1. Thunderbird → Menü → **Add-ons und Themes** → Zahnrad → **Add-on aus Datei
|
|
|
|
|
|
installieren …** *oder* zum Testen:
|
|
|
|
|
|
2. Adresszeile: `about:debugging` → **Dieses Thunderbird** → **Temporäres Add-on
|
|
|
|
|
|
laden …** → `manifest.json` in diesem Ordner wählen.
|
|
|
|
|
|
|
|
|
|
|
|
> Hinweis: Bei einem Self-Signed-Zertifikat des DocuWare-Servers muss dieses einmalig
|
|
|
|
|
|
> in Thunderbird akzeptiert werden, sonst schlagen die `fetch`-Aufrufe fehl.
|
|
|
|
|
|
|
|
|
|
|
|
## Einrichtung
|
|
|
|
|
|
|
|
|
|
|
|
Add-on-Einstellungen öffnen und ausfüllen:
|
|
|
|
|
|
|
|
|
|
|
|
- **Server-URL** – Basis ohne `/DocuWare/Platform`, z.B. `https://docuware.firma.de`
|
|
|
|
|
|
- **Organisation**, **Benutzername**, **Passwort**
|
|
|
|
|
|
- **Verbindung testen** → lädt die Aktenschränke (Bestätigung, dass Login & URL passen)
|
|
|
|
|
|
- optional **Standard-Aktenschrank** und Default-Optionen (eml/pdf/Anhänge)
|
|
|
|
|
|
|
2026-06-03 13:14:05 +00:00
|
|
|
|
> 🔒 **Das Passwort wird nicht gespeichert.** Es wird beim ersten Ablegen pro
|
|
|
|
|
|
> Thunderbird-Sitzung einmal abgefragt, daraus ein OAuth-Token geholt und sofort
|
|
|
|
|
|
> verworfen. Nur der Token bleibt im Speicher des Hintergrundskripts (überlebt keinen
|
|
|
|
|
|
> Neustart). In `storage.local` liegen ausschließlich Server, Organisation, Benutzer
|
|
|
|
|
|
> und Standardwerte – keine Zugangsdaten. Auch der Einstellungs-Export enthält **kein**
|
|
|
|
|
|
> Passwort.
|
2026-06-03 11:15:59 +00:00
|
|
|
|
|
|
|
|
|
|
## Benutzung
|
|
|
|
|
|
|
|
|
|
|
|
1. E-Mail öffnen → Button **„In DocuWare ablegen"** (oder Rechtsklick in der
|
|
|
|
|
|
Nachrichtenliste → *In DocuWare ablegen*).
|
|
|
|
|
|
2. Aktenschrank wählen → Felder prüfen/ergänzen (Pflichtfelder mit `*`).
|
|
|
|
|
|
3. Auswählen, was abgelegt wird (eml / PDF / Anhänge).
|
|
|
|
|
|
4. **Ablegen**. Bei Erfolg wird die Mail optional mit dem Tag *DocuWare* markiert.
|
|
|
|
|
|
|
|
|
|
|
|
## Verifikation (End-to-End)
|
|
|
|
|
|
|
|
|
|
|
|
Gegen den **Test-Schrank `LL_TEST_BELEGE`** ablegen, dann per DocuWare-MCP gegenprüfen:
|
|
|
|
|
|
|
|
|
|
|
|
- `docuware_search` (file_cabinet_name `LL_TEST_BELEGE`, query = Betreff) → Treffer?
|
|
|
|
|
|
- `docuware_get_document` → Indexfelder (`EML_SENDER`, `EML_SUBJECT`, …) korrekt?
|
|
|
|
|
|
- `docuware_download_document` → `.eml`/PDF herunterladen & prüfen
|
|
|
|
|
|
- Anhänge erscheinen als eigene Dokumente
|
|
|
|
|
|
- Aufräumen: `docuware_delete_document` (nur im Test-Schrank!)
|
|
|
|
|
|
|
|
|
|
|
|
## Verteilung & automatische Updates (eigenes Gitea, nicht öffentlich)
|
|
|
|
|
|
|
|
|
|
|
|
Das Add-on wird **nicht** öffentlich auf addons.thunderbird.net gelistet, sondern
|
|
|
|
|
|
über AMO als **„Selbstständig" (self-distribution)** signiert und über dein eigenes
|
|
|
|
|
|
Gitea verteilt + aktualisiert.
|
|
|
|
|
|
|
|
|
|
|
|
> Im XPI und in `updates.json` stehen **keine** Zugangsdaten. Das DocuWare-Passwort
|
2026-06-03 13:14:05 +00:00
|
|
|
|
> wird ohnehin nirgends gespeichert (nur Sitzungs-Token im Speicher) und nie mitverteilt.
|
2026-06-03 11:15:59 +00:00
|
|
|
|
|
|
|
|
|
|
**Einmalige Einrichtung:**
|
|
|
|
|
|
|
|
|
|
|
|
1. In `manifest.json` → `applications.gecko.update_url` die Domain `GITEA.EXAMPLE.DE`
|
|
|
|
|
|
durch deine (HTTPS-)Gitea-Adresse ersetzen. **HTTPS ist Pflicht** (TB lehnt HTTP ab).
|
|
|
|
|
|
2. `updates.json` ebenfalls auf deine Gitea-URLs anpassen und in dein Repo committen
|
|
|
|
|
|
(erreichbar unter der `update_url`, z.B. via *raw*-Link auf `main`).
|
|
|
|
|
|
|
|
|
|
|
|
**Bei jedem neuen Release:**
|
|
|
|
|
|
|
|
|
|
|
|
1. `version` in `manifest.json` erhöhen (z.B. `0.8.0` → `0.8.1`).
|
|
|
|
|
|
2. XPI bauen (`manifest.json` muss im Archiv-Wurzelverzeichnis liegen).
|
|
|
|
|
|
3. XPI bei AMO hochladen → **„Selbstständig"** wählen → **signiertes** XPI herunterladen.
|
|
|
|
|
|
4. Signiertes XPI als Release-Anhang in Gitea hochladen (passend zum `update_link`).
|
|
|
|
|
|
5. In `updates.json` einen neuen Eintrag mit `version` + `update_link` ergänzen,
|
|
|
|
|
|
committen/pushen.
|
|
|
|
|
|
|
|
|
|
|
|
Thunderbird prüft die `update_url` periodisch und aktualisiert automatisch auf die
|
|
|
|
|
|
neueste dort gelistete Version.
|
|
|
|
|
|
|
|
|
|
|
|
## Bekannte Grenzen / nächste Schritte
|
|
|
|
|
|
|
|
|
|
|
|
- **PDF** ist v1 ein einfaches Text-PDF (Kopf + Klartext-Body) ohne HTML-Layout/Bilder.
|
2026-06-03 13:14:05 +00:00
|
|
|
|
- **Auth**: primär DocuWare Identity Service (OAuth, ROPC mit öffentlichem Client),
|
|
|
|
|
|
Fallback Cookie-Logon für alte On-Prem-Server. Passwort wird nicht gespeichert
|
|
|
|
|
|
(Token nur im RAM, 1× Abfrage pro Sitzung).
|
2026-06-03 11:15:59 +00:00
|
|
|
|
- **Upload-Multipart-Format** ggf. je nach DocuWare-Version anpassen
|
|
|
|
|
|
(`docuware.js → uploadDocument`).
|
|
|
|
|
|
- Mehrfachauswahl von Mails: aktuell wird die erste markierte Mail abgelegt.
|