| background | ||
| dialog | ||
| docs | ||
| icons | ||
| lib | ||
| options | ||
| .gitignore | ||
| manifest.json | ||
| README.md | ||
| updates.json | ||
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)
- Thunderbird → Menü → Add-ons und Themes → Zahnrad → Add-on aus Datei installieren … oder zum Testen:
- Adresszeile:
about:debugging→ Dieses Thunderbird → Temporäres Add-on laden … →manifest.jsonin 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)
⚠️ Das Passwort wird unverschlüsselt in
storage.localgespeichert (v1). Für den Produktiveinsatz sollte auf den DocuWare Identity Service / OAuth umgestellt werden (lib/auth.jsist dafür gekapselt).
Benutzung
- E-Mail öffnen → Button „In DocuWare ablegen" (oder Rechtsklick in der Nachrichtenliste → In DocuWare ablegen).
- Aktenschrank wählen → Felder prüfen/ergänzen (Pflichtfelder mit
*). - Auswählen, was abgelegt wird (eml / PDF / Anhänge).
- 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_nameLL_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.jsonstehen keine Zugangsdaten. Das DocuWare-Passwort liegt ausschließlich lokal instorage.localund wird nie mitverteilt.
Einmalige Einrichtung:
- In
manifest.json→applications.gecko.update_urldie DomainGITEA.EXAMPLE.DEdurch deine (HTTPS-)Gitea-Adresse ersetzen. HTTPS ist Pflicht (TB lehnt HTTP ab). updates.jsonebenfalls auf deine Gitea-URLs anpassen und in dein Repo committen (erreichbar unter derupdate_url, z.B. via raw-Link aufmain).
Bei jedem neuen Release:
versioninmanifest.jsonerhöhen (z.B.0.8.0→0.8.1).- XPI bauen (
manifest.jsonmuss im Archiv-Wurzelverzeichnis liegen). - XPI bei AMO hochladen → „Selbstständig" wählen → signiertes XPI herunterladen.
- Signiertes XPI als Release-Anhang in Gitea hochladen (passend zum
update_link). - In
updates.jsoneinen neuen Eintrag mitversion+update_linkergä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.
- Auth nur Cookie-Logon; OAuth/Identity Service noch nicht implementiert.
- Upload-Multipart-Format ggf. je nach DocuWare-Version anpassen
(
docuware.js → uploadDocument). - Mehrfachauswahl von Mails: aktuell wird die erste markierte Mail abgelegt.