Neue Features in paperless-ngx v2.13: Support für Outlook (Microsoft365) und Gmail, Suchfunktion für benutzerdefinierte Felder und mehr

Das Update v2.13 von paperless-ngx steht kurz vor dem Release und ich möchte euch darauf hinweisen, dass damit ein paar richtig gute Features dazukommen:

  • Support für OAuth (Microsoft365 und Gmail) für Email-Konten
  • Suchfunktion für benutzerdefinierte Felder
  • Verbesserte Speicherpfad-Vorschau

Sobald das Update veröffentlicht ist, werde ich ein YouTube-Video dazu hochladen und die neuen Features natürlich in der paperless-ngx Masterclass ausführlich beschreiben.

Edit: Hier sind die neuen Videos aus der paperless-ngx Masterclass zu OAuth (funktioniert nur für Kunden):

OAuth

Speicherpfade

Das erste der Videos habe ich auch für Nicht-Kunden der Masterclass bereitgestellt, um es zu sehen, musst du einfach nur auf der Shop-Seite des Kurses ins Inhaltsverzeichnis gehen und dort auf die Vorschau klicken.

Edit: Hier ein kurzes Video zum Update:

2 „Gefällt mir“

Jetzt blühen die benutzerdefinierten Felder erst richtig auf :star_struck:

1 „Gefällt mir“

Ja, das Update hat es wirklich in sich. Auch die Anbindung an Outlook (Office 365) ist vor allem für Unternehmer eine unglaubliche Erleichterung.

Hallo Stefan,

weist Du, ob es auch neue Möglichkeiten zur Benennung der Dateien geben wird, zb durch Hinzunahme von der Speicherpfade oder der Felder in den Dateinamen?

Hallo Stefan
Hello everyone

Kann man im neuen Release bestimmte benutzerdefinierte Felder zum Beispiel einem Dokumententyp automatisch bzw. fix zuweisen. Wie Rechnung bezahlt oder bezahlt am?

@thomas11
Das musst du ein bisschen genauer erklären. Die Benennung der Dateien ist genau das, was der Speicherpfad macht. Oder meinst du die Titel?

@gio:
Das geht bereits seit Längerem. Und zwar mit Hilfe der Workflows (Arbeitsabläufe).

Hallo @Stefan,

ich meine die Benennung der einzelnen Dateien. Mein Ziel wäre es die einzelnen Dateien vollständig unter Nutzung aller möglichen Metadatenfeldern, inkl. Dokumentenpfad und der individuellen Feldern benennen zu können. Sodass eine Datei vollständig definiert ist und alle Files in einem Ordner liegen können und dazu nicht hierarchische Ordner, wie z.B. mit Dokumentenpfaden benötigt werden.
Damit ist auch der hierachiearme (lesende) Zugriff per Filesystem möglich.

Viele Grüße,

Thomas

Hallo @Stefan,
hast Du das Paperless NGX 2.13RC Image bereits zum Laufen bekommen? Ich habe das Image entsprechend konfiguriert: paperless-ngx:2.13.0-beta.rc1 innerhalb des webinterface bekomme ich immer noch die Versions-Anzeige 2.12.1.
Viele Grüße
Thomas

Das geht wohl mit dem neuen Update, da jinja2 für das Templating der Speicherpfade genutzt wird.

Es soll auch so etwas wie

{{ created_year - 1 }}

oder auch

{% if "Invoice" in custom_fields %}
  invoices/{{ custom_fields | get_cf_value('Invoice') }}
{% else %}
  not-invoices/{{ title }}
{% endif %}

möglich sein. Viel Stoff, der bald in der paperless-ngx Masterclass enthalten sein wird :smile:

Quelle: Feature: Enhanced templating for filename format by stumpylog · Pull Request #7836 · paperless-ngx/paperless-ngx · GitHub

Ja habe ich, ich habe das Image aber lokal gebaut und nicht das fertige Image genommen.

Nimm mal stattdessen:

webserver:
    image: ghcr.io/paperless-ngx/paperless-ngx:beta

Das war ein Bug, den ich sogar gemeldet habe und es gefixt wurde :wink: Wobei es weniger ein echter Bug war, sie haben das Versions-Inkrement schlicht und einfach noch nicht gemacht, weil noch kein Release.
Siehe:

1 „Gefällt mir“

Also den Dokumentenpfad im Dateinamen haben zu wollen ist sinnfrei.

Desweiteren kommst du bei diesem Vorgehen doch schon in die Nähe der Begrenzungen des Filesystems kommst. In BTRFS kann ein Dateiname/Ordnername 255 Zeichen lang sein, der kompletter Pfad (also alle Ordner/Unterordner/Dateiname zusammen) 4096 Byten. Packst du nun alles nur in den Dateinamen kommst du den 255 Bytes schon recht nahe, desweiteren wird der Dateinname dann so lang bzw am Bildschrim so breit, dass du den vollständigen Namen gar nicht mehr erkennen kannst und immer hin und her scrollen musst.

Ein weiterer Fallstrick ist der Zugriff mittels anderer Computer auf das NAS. Windows mit NTFS hat als Dateilänge auch 255 Zeichen und in der Gesamtlänge sogar 32768 Zeichen für den Gesamtpfad, aber viele Schnittstellen sind mit MAX_PATH = 260 kompiliert und können im Gesamtpfad nicht mehr als 260 Zeichen.

Das sollte man zumindest bei der Planung wie PLNGX den Dateinamen bilden soll, bedenken.

Hallo Stefan,
ich bin sehr gespannt auf die Neuerungen :slightly_smiling_face:

Werden die Neuerungen in den Kurs eingearbeitet oder wird es ein separates Kapitel geben?
Gruß Michael

Bedeutet das etwa, dass das GoBD-konforme Abgreifen von E-Mails zwecks der unveränderbaren Archivierung der Original-Mail VOR der Auslieferung an den Empfänger möglich wird? Das brauche ich gerade und wollte mir eigentlich ein entsprechendes Programm zulegen, dann würde ich noch warten.

Die Idee dahinter ist ein flaches Verzeichnis zu haben und keine Verzeichnisstruktur. Deine Argumentation ist natürlich valide. Wenn ich ein weiteres Attribut neben den bestehenden Metadatenfeldern hinzufügen könnte, zb auch ein ein custom Field, wäre ich zufrieden. Aktuell ist das bei mir der Speicherpfad und eine weitere Hierachie/Verzeichnis, zB. Versicherung / Gesundheit. Ich würde ungern mehrer Tags verwenden, was ja eine Option wäre. Leider werden diese mit einem Komma getrennt, was ich im Filenamen sehr ungünstig finde.

Ob es GoBD-konform ist, kann (darf) ich nicht beurteilen, aber ja, das wäre damit möglich.
Streng genommen kannst du nicht garantieren, dass paperless-ngx die Mail konsumiert, bevor es der nutzer tut (paperless kannst du nur in Intervallen die Mails holen lassen, standardmäßig 10 min, es geht auch weniger).
Aber ja, mit den richtigen Einstellungen kannst du dann die Mails als .eml archivieren.

Das geht ab 2.13 und ich werde auch in der Masterclass eine eigene Lektion nur dafür bringen.

Auch das kann ab 2.13 gelöst werden, da kann man dann beliebige Zeichen zwischen die Tags setzen.

Hallo Stefan, das Release 2.13 ist ja nun draussen. Weisst Du ob man den Storage Path „Namen“ mit der neuen Anpassungen auch mit in den Filename packen kann?

Mit den Folgendem Schema und der Variable „storage_path“ hat es nicht funktioniert.

{% if "Invoice" in custom_fields %}
  invoices/{{ custom_fields.Invoice.value }}
{% else %}
  not-invoices/{{ title }}
{% endif %}

Vielen Dank für einen Hinweis.

Das Update ist nun veröffentlicht, hier ein kurzes Video von mir, das die neuen Features zusammenfasst:

1 „Gefällt mir“

Das Feature der neuen Speicherpfade mit der Jinja Engine](Template Designer Documentation — Jinja Documentation (3.1.x)) hat mich letzte Woche wieder ein paar Haare gekostet. Ich wollte was nachschauen, war erstaunt dass mir das bisher durch die Lappen gegangen ist und wollte es gleich umsetzen. Es hat eine Weile gedauert bis ich gemerkt habe dass die Dokumenration schon auf dem Stand der 2.13 war, ich die aber noch gar nicht hatte :face_with_symbols_over_mouth:

Update: Die ersten drei Videos zu den neuen Features sind produziert und in der paperless-ngx Masterclass enthalten (Links funktionieren nur für Kunden):

Ich freue mich auf euer Feedback! Als nächstes wird noch das Thema der neuen Speicherpfad-Templating-Language angegangen.

Ist in dem Video dann auch drin, dass man PAPERLESS_FILENAME_FORMAT manuell umsetzen muss? Ich werds ja nicht gucken und daher kein Feedback geben können

Ja das kommt mit ins Speicherpfad-Video rein. Danke dennoch für den Hinweis :smiley: