Public Access
185 lines
8.1 KiB
Plaintext
185 lines
8.1 KiB
Plaintext
Ä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
|