Files
DEVONthink-Belegversand-Aut…/Change.log
T
2026-10-12 20:42:57 +00:00

185 lines
8.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Änderungshistorie
Version 1.5 – 2026-10-12
========================
Neue Funktionen
---------------
- Versandmodus ZIP_ARCHIVE=true/false: Belege als ZIP-Archiv (wie bisher)
oder als einzelne Anhänge, z.B. für DATEV-Belegtransfer per Mail.
Im Einzeldatei-Modus entfällt der Passwort-Dialog.
- MAX_MAIL_SIZE_MB: Sendungen werden automatisch auf mehrere Mails verteilt
(größte Belege zuerst). Budget für Anhänge = 70 % der Mailgröße wegen
Base64-Kodierung. Betreff "(1/2)", Batch-ID "<bid>-1". Belege, die allein
schon zu groß sind, werden gemeldet. Gilt in beiden Versandmodi.
- SUPPORTED_FILE_TYPES_FOR_SENDING (Default: pdf, tif, tiff): nicht erlaubte
Dateitypen werden vor dem Versand gemeldet – Abbrechen oder ohne diese weiter.
Prüfung über die Dateiendung.
- Smart Rule "Fotos → PDF" als Export unter extras/Belege-Foto-zu-PDF.dtSmartRule.
Wandelt Fotos beim Import in (durchsuchbare) PDFs um und verschiebt die
Originale nach /Originale. Nach dem Import "Suchen in" und
"Verschieben nach" auf die eigenen Gruppen setzen.
- Stage-Ordner jetzt unter ~/Library/Caches/DT-Belegversand/ (optional STAGE_DIR).
Wird nicht mehr sofort gelöscht; Läufe älter als 7 Tage werden beim nächsten
Start aufgeräumt (nur in Pfaden, die "Belegversand" enthalten).
Setup (_belegversand_setup)
---------------------------
- Fragt den Versandmodus ab; ZIP-Passwort nur noch im ZIP-Modus.
- Schreibt ZIP_ARCHIVE, MAX_MAIL_SIZE_MB, SUPPORTED_FILE_TYPES_FOR_SENDING
mit Kurzkommentaren in die belegversand.conf.
- Prüft vorhandene Jahres-/Monatsordner: fehlende werden ergänzt, vorhandene
bleiben unverändert; sind alle da, entfällt die Frage.
- Legt die Gruppe /Originale auf oberster Datenbank-Ebene an.
- Abschlussdialog mit Anleitung zur Smart Rule; dieselbe Anleitung im README.
- Verständlichere Dialoge beim Start und bei der Ersteinrichtung,
inkl. Abbrechen-Button.
Hauptscript (_belegversand)
---------------------------
- Mail-Vorlage wird bei mehreren Mails nur einmal abgefragt.
- NDJSON-Log um die Felder "mail" (x/y) und "mode" (zip/single) erweitert.
- Markdown-Log: Spalte ZIP zeigt im Einzeldatei-Modus "einzeln".
- !Ergebnis und Benachrichtigung zeigen Versandmodus und Anzahl der Mails.
- Dry Run zeigt die Aufteilung nach Mails inkl. Größen.
Bugfixes
--------
- START: doppelter Home-Pfad (/Users/x//Users/x/Library/...) beim Start des
Setups. Ursache: showWelcomeDialogIfNeeded() überschrieb die Property
basePath. Trat nur bei SHOW_README=true auf. Pfade werden jetzt zentral
in helperScriptPath() gebaut.
- Setup: verschachtelte Gruppe Belege/Belege, wenn die gewählte Hauptgruppe
bereits "Belege" hieß.
- Setup: Jahres-/Monatsordner wurden bei erneutem Lauf doppelt angelegt
("create record" erzeugt in DEVONthink stillschweigend Duplikate).
- Setup: Loggruppe im Jahresordner hieß fest "Versendet" und ignorierte
LOG_SENT_GROUP_NAME.
- Setup: doppelter debugInfoText-Block und fehlerhafte basePath-Zuweisung entfernt.
Kompatibilität
--------------
- Fehlen die neuen Schlüssel in einer bestehenden belegversand.conf, verhält
sich alles wie in 1.4 (ZIP-Modus, 20 MB, pdf/tif/tiff).
- Das Setup schreibt die Conf nur bei der Ersteinrichtung; bestehende
Installationen bei Bedarf von Hand ergänzen.
Bekannte Einschränkungen
------------------------
- ZIP-Verschlüsselung weiterhin über zip -P (ZipCrypto, schwach);
Umstieg auf AES steht noch aus.
- Im Einzeldatei-Modus werden Belege unverschlüsselt versendet (nur TLS).
- Das Tag "gesendet" wird beim Erstellen der Entwürfe vergeben,
nicht beim tatsächlichen Absenden.
Version 1.4 (Final):
(1)
Bei mehreren Buchungsjahren wurden die Protokolle in die verkehrte /Versendet-Gruppe geschrieben.
Beispiel:
/Belege
├── /2026
├── /01-Januar
└── [Quittung-1]
└── [Beleg-x]
[...]
/Versendet
├── /2027
├── /01-Januar
└── [Quittung-1]
└── [Beleg-y]
[...]
/Provisionsabrechnungen
/Versendet
Die Protokolle landen jetzt in der /Versendet-Gruppe des Jahres, aus dem die versendeten Belege stammen.
(2)
Beleg-Versand über mehrere Jahre wird untersagt:
Die Protokolle liegen in einer einzigen /Versendet-Gruppe. Um eine Split-Funktion zu vermeiden
(beleg-1 in 2026, beleg-2 in 2027), wird vor der Pack-/Sende-Routine sichergestellt, dass lediglich
Dokumente aus einem einzigen Buchungsjahr in der Auswahl sind.
(3)
Kompilierungs-Automation via compile.sh:
— .applescript Quelldateien werden nach Clone automatisiert zu .scpt kompiliert
— compile.sh übernimmt: Kompilierung aller .applescript → .scpt, automatisches Löschen der Quelldateien
— Sichere Pfadverwaltung während Kompilierung (relative basePath → absolute Pfade via echo ~)
— Repositories speichern lesbare .applescript-Quelldateien (git-friendly)
— Deployment-Verzeichnis enthält nur .scpt-Binärdateien (produktiv)
— Reproduzierbarer Fresh-Install-Flow: git clone → ./compile.sh → Ready
(4)
Mehrere Mail-Templates mit Dialog-Auswahl:
— Mehrere Mail-Vorlagen können in _config/mail_vorlagen/ gespeichert werden
— Das Script zeigt beim Start einen Dialog zur Auswahl des gewünschten Templates
— Jede Vorlage kann individuell angepasst werden
— Änderungen in Templates werden beim nächsten Versand automatisch berücksichtigt
— Standardtemplate: belegversand (wird bei Erstkonfiguration angelegt)
(5)
Robustere Pfadverwaltung:
— Basis-Pfade auf relative Struktur umgestellt (z.B. "Library/Application Scripts/...")
— Expansion zu absoluten Pfaden erfolgt zentral via (do shell script "echo ~") & "/" & basePath
— Verhindert Pfad-Verdopplungen und erhöht Portabilität über verschiedene Benutzer hinweg
— Interne Pfade sind nun versionsstabil und unabhängig vom Script-Speicherort
(6)
Code-Cleanup und Robustness:
— compileAllScripts()-Handler aus _belegversand_setup.scpt entfernt (jetzt extern in compile.sh)
— Alle Scripts mit aktualisierter Pfadverwaltung
— Redundante Zeilen eliminiert
— Erweiterte Kommentierung für AppleScript-Fallstricke
(7)
About-Dialog in DEVONthink-Menü:
— Neuer Menü-Befehl "About..." zeigt Versionsinformation und Links
— Willkommensdialog beim Start (optional, konfigurierbar via SHOW_README)
— Zentrale Text-Generierung (_text_about.scpt)
— Minimale interne README (verweist auf externe Wiki-Dokumentation)
— Keine Doppelverwaltung von Texten mehr
(8)
Wiki-Dokumentation:
— Externe Dokumentation im öffentlichen MediaWiki
— Link zur Wiki in About-Dialog und README
— Ausführliche Anleitung ohne Passwort-Sperre
— Interne Doku bleibt minimal und verweist auf Wiki
Version 1.3:
Dry Run schreibt immer eine vollständige Vorschau-Datei
Dry Run zeigt zusätzlich eine Kurzliste direkt im Dialog
Vorschau-Datei kann direkt im Finder angezeigt werden
Echtlauf läuft nach Bestätigung ohne zweite Rückfrage weiter
Abschlussmeldung weist auf die Prüfung des automatisch eingefügten Mailtexts hin
menschenlesbares Markdown-Log wird in Sendelauf-Blöcken gegliedert
neuer Config-Key PATH_TO_DRYRUN_PREVIEW
README und Konfigurationsbeschreibung entsprechend erweitert
Version 1.2.1:
interne Scripts in Unterordner Scripts
Mailbody in _config/mail_vorlagen/belegversand
Mail-Betreff ohne Batch-ID
konfigurierbares Dokument-Tag (SENT_TAG_FOR_DOCS)
Konfigurationsdatei klarer gegliedert
interne README und Archiv-README ergänzt
Version 1.2:
Mailbody-Datei in DEVONthink eingeführt
README in DEVONthink eingeführt
Welcome-/Hinweisdialog über SHOW_README
Konfiguration in _config weiter ausgebaut
Version 1.1:
Konfiguration in DEVONthink eingeführt
Setup-Script ergänzt
Startscript ergänzt
Root-relative Suche der Konfiguration
Version 1.0:
erster funktionaler Versandablauf
ZIP-Erzeugung
Mail-Entwurf
Tagging
NDJSON-/Markdown-Logging