{"id":1819,"date":"2024-03-15T20:05:51","date_gmt":"2024-03-15T19:05:51","guid":{"rendered":"https:\/\/digital-cleaning.de\/?p=1819"},"modified":"2024-10-08T19:39:56","modified_gmt":"2024-10-08T17:39:56","slug":"paperless-ngx-teil-14-automatisierte-ablage-auf-speicherpfaden","status":"publish","type":"post","link":"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-14-automatisierte-ablage-auf-speicherpfaden\/","title":{"rendered":"Paperless-ngx, Teil 14: Automatisierte Ablage auf Speicherpfaden"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"256\" src=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_3-1024x256.jpg\" alt=\"\" class=\"wp-image-1823\" srcset=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_3-1024x256.jpg 1024w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_3-300x75.jpg 300w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_3-768x192.jpg 768w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_3-1536x384.jpg 1536w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_3-1140x285.jpg 1140w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_3.jpg 1554w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>In <strong>Teil 4<\/strong> der Serie bin ich bereits auf Speicherpfade eingegangen. Mit dieser Funktion erh\u00e4lt die Dokumentenablage eine Ordner-Struktur, die sich in jedem Filemanager aufrufen l\u00e4sst. Der besondere Pluspunkt ist aus meiner Sicht, dass man mit der Verwendung von Speicherpfaden unabh\u00e4ngiger von dem Paperless-ngx-Tool wird. Sollte je einmal etwas gar nicht mehr funktionieren, so kann man ohne zus\u00e4tzliche Konvertierung auf alle Dokumente zugreifen. Denn die \u00dcbersicht via Ordnerstruktur funktioniert immer und \u00fcberall. <strong>Diese Art der Ablage l\u00e4sst sich nun sehr einfach automatisieren, so dass neue Dokumente sofort im gew\u00fcnschten Ordner landen.<\/strong> <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Keep it simple!<\/h2>\n\n\n\n<p>Ich werde hier eine sehr einfache Struktur beschreiben, die trotzdem auch f\u00fcr langj\u00e4hrige Archive mit gro\u00dfen Datenmengen tauglich ist. Grunds\u00e4tzlich hat man es dabei nur mit zwei Ordner-Varianten zu tun:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>&#8222;zeitlose&#8220; Basisordner<br>In diese Ordner wandern besonders wichtige Dokumente, die \u00fcber Jahre hinweg ihre G\u00fcltigkeit behalten: Vertr\u00e4ge, Haus-\/Autokauf, Versicherungen, Zeugnisse usw. Im einfachsten Fall gen\u00fcgt daf\u00fcr ein einziger Ordner, die Dokumente unterscheidet man dann nach Namen. Bew\u00e4hrt haben sich aber zwei bis vier Unterordner, z. B. alle Versicherungsunterlagen in den Ordner &#8222;Versicherungen&#8220;.<br><\/li>\n\n\n\n<li>chronologische Archiv-Ordner<br>Steuerunterlagen, Handwerkerrechnungen, Reisebelege, Projektentw\u00fcrfe &#8211; f\u00fcr den gr\u00f6\u00dften Teil der Dokumente gen\u00fcgt ein Archivbereich, der nach Jahren geordnet ist. Also jeweils Ordner f\u00fcr das Jahr &#8222;2022&#8220;, &#8222;2023&#8220;, &#8222;2024&#8220; usw. Falls z. B. im Jahr 2024 eine Solaranlage installiert wird, so kann dieses Jahr einen Unterordner &#8222;2024\/Solaranlage&#8220; erhalten. Aber in allen F\u00e4llen sollte sich die Anzahl solcher Unterordner in Grenzen halten, da die Suchfunktion von Paperless-ngx super-schnell fast jedes Dokument einblendet, von dem man ein Stichwort in Erinnerung hat. Alternativ kann es auch sein, dass man Ordner f\u00fcr Korrespondenten &#8211; Arbeitgeber, Kunden &#8211; in einen Jahresordner aufnehmen m\u00f6chte.<\/li>\n<\/ol>\n\n\n\n<p>Die fertige Struktur k\u00f6nnte dann beispielsweise so aussehen:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_4.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"588\" src=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_4-1024x588.jpg\" alt=\"\" class=\"wp-image-1835\" style=\"width:599px;height:auto\" srcset=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_4-1024x588.jpg 1024w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_4-300x172.jpg 300w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_4-768x441.jpg 768w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_4-1140x654.jpg 1140w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_4.jpg 1253w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\">Automatisierung f\u00fcr Archivordner<\/h2>\n\n\n\n<p>K\u00fcmmern wir uns zun\u00e4chst um die Archivordner, da hier die Automatisierung besonders unkompliziert ist. Durch einen einfachen Kniff kann man Paperless-ngx veranlassen, jedes neue Dokument sofort im korrekten Jahresordner einzuordnen. Daf\u00fcr gen\u00fcgen zwei Zeilen in der Konfigurationsdatei. Dazu wird im Filemanager auf dem Pfad &#8222;paperless-ngx&#8220; die Datei &#8222;docker-compose.env&#8220; aufgerufen. Diese enth\u00e4lt nur vier Zeilen. F\u00fcr die erste der beiden Zeilen gibt es nun folgende M\u00f6glichkeiten:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">puristische Anweisung<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"PAPERLESS_FILENAME_FORMAT={created_year}\/{title}\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9\">PAPERLESS_FILENAME_FORMAT<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">{<\/span><span style=\"color: #D8DEE9\">created_year<\/span><span style=\"color: #ECEFF4\">}<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #ECEFF4\">{<\/span><span style=\"color: #D8DEE9\">title<\/span><span style=\"color: #ECEFF4\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Speichert man eine Datei mit dem Namen &#8222;kobold.pdf&#8220;, die als Datum &#8222;15.03.2024&#8220; enth\u00e4lt in Paperless-ngx, so erh\u00e4lt findet man unter<\/p>\n\n\n\n<p>paperless-ngx\/documents\/archive\/2024\/kobold.pdf<\/p>\n\n\n\n<p>W\u00e4re in der Datei ein Datum aus 2019 enthalten, so w\u00fcrde sie automatisch in dem Pfad &#8222;..\/2019&#8220; gespeichert. Enth\u00e4lt ein Dokument kein Datum oder m\u00f6chte man ein erkanntes Datum anpassen, so nimmt man den \u00fcblichen Eintrag im Feld &#8222;Ausgestellt am&#8220; vor &#8211; sofort wandert das Dokument in den entsprechenden Ordner.<\/p>\n\n\n\n<p>Auf diese Weise erh\u00e4lt man eine sehr flache Hierarchie &#8211; die Dokumente wandern einfach in den jeweiligen Jahresordner. In vielen F\u00e4llen gen\u00fcgt das auch. Aber man kann die Anweisung erweitern.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">erweiterte Anweisungen<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Dokumententyp\/Korrespondent<\/h4>\n\n\n\n<p>Nehmen wir an, man m\u00f6chte f\u00fcr den Bereich &#8222;Energie&#8220; gerne einen Unterordner im betreffenden Jahr haben. Dort k\u00f6nnen Stromrechnungen, Tarif\u00e4nderungen, Heizungsangelegenheiten usw. aufgenommen werden. Daf\u00fcr kann man wahlweise einen Korrespondenten oder einen Dokumenttyp anlegen. Die Zeile wird in diesem Fall um einen Platzhalter erweitert:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"PAPERLESS_FILENAME_FORMAT={created_year}\/{document_type}\/{title} oder\nPAPERLESS_FILENAME_FORMAT={created_year}\/{correspondent}\/{title}\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9\">PAPERLESS_FILENAME_FORMAT<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">{<\/span><span style=\"color: #D8DEE9\">created_year<\/span><span style=\"color: #ECEFF4\">}<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #ECEFF4\">{<\/span><span style=\"color: #D8DEE9\">document_type<\/span><span style=\"color: #ECEFF4\">}<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #ECEFF4\">{<\/span><span style=\"color: #D8DEE9\">title<\/span><span style=\"color: #ECEFF4\">}<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">oder<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">PAPERLESS_FILENAME_FORMAT<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">{<\/span><span style=\"color: #D8DEE9\">created_year<\/span><span style=\"color: #ECEFF4\">}<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #ECEFF4\">{<\/span><span style=\"color: #D8DEE9\">correspondent<\/span><span style=\"color: #ECEFF4\">}<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #ECEFF4\">{<\/span><span style=\"color: #D8DEE9\">title<\/span><span style=\"color: #ECEFF4\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Zun\u00e4chst wird die Datei wie gewohnt in Paperless-ngx aufgenommen. Anschlie\u00dfend &#8211; oder zu einem sp\u00e4teren Zeitpunkt &#8211; weist man etwa den Korrespondent &#8222;Energie&#8220; zu. In der gleichen Sekunde wandert die Datei in den Pfad &#8222;..\/2024\/Energie&#8220;. (Das k\u00f6nnte man zwar auch \u00fcber die Definition eines gesonderten Speicherpfads innerhalb der Web-Oberfl\u00e4che erreichen, aber das beschriebene Vorgehen hat bei gro\u00dfen Datenmengen Vorteile.)<\/p>\n\n\n\n<p>Wichtig ist: F\u00fcr die meisten Dateien ist die Zuweisung eines Korrespondenten oder Dokumententyps unwichtig &#8211; diese <strong>sollen <\/strong>ja gerade in dem eigentlichen Jahres-Ordner gespeichert werden. F\u00fcr all diese Dateien gilt, dass man keine zus\u00e4tzlichen Einstellungen vornehmen muss &#8211; die Anweisung in der Konfigurationsdatei gen\u00fcgt bereits.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Platzhalter f\u00fcr Titel<\/h4>\n\n\n\n<p>Noch eine zweite Erweiterung der Konfigurationszeile kann sinnvoll sein. Ich pers\u00f6nlich ordne meine Archivdokumente seit Jahren mit Dateinamen nach dem Muster &#8222;Jahr-Monat-Tag_Titel&#8220;. Dieses Muster kann man beibehalten durch folgende Platzhalter:<\/p>\n\n\n\n<p>{created_year}-{created_month}-{created_day}_{title}<\/p>\n\n\n\n<p>Die ganze Zeile lautet dann:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"PAPERLESS_FILENAME_FORMAT={created_year}\/{document_type}\/{created_year}-{created_month}-{created_day}_{title}\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9\">PAPERLESS_FILENAME_FORMAT<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">{<\/span><span style=\"color: #D8DEE9\">created_year<\/span><span style=\"color: #ECEFF4\">}<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #ECEFF4\">{<\/span><span style=\"color: #D8DEE9\">document_type<\/span><span style=\"color: #ECEFF4\">}<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #ECEFF4\">{<\/span><span style=\"color: #D8DEE9\">created_year<\/span><span style=\"color: #ECEFF4\">}<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #ECEFF4\">{<\/span><span style=\"color: #D8DEE9\">created_month<\/span><span style=\"color: #ECEFF4\">}<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #ECEFF4\">{<\/span><span style=\"color: #D8DEE9\">created_day<\/span><span style=\"color: #ECEFF4\">}<\/span><span style=\"color: #D8DEE9\">_<\/span><span style=\"color: #ECEFF4\">{<\/span><span style=\"color: #D8DEE9\">title<\/span><span style=\"color: #ECEFF4\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Das Ergebnis sieht dann so aus:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_5.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"641\" src=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_5-1024x641.jpg\" alt=\"\" class=\"wp-image-1838\" style=\"width:447px;height:auto\" srcset=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_5-1024x641.jpg 1024w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_5-300x188.jpg 300w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_5-768x480.jpg 768w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_5-1140x713.jpg 1140w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_5.jpg 1410w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div>\n\n\n<p>Klar, das ist eine gewisse Doppelung. Das Jahr ist ja bereits im Ordnernamen enthalten. Muss man auch nicht machen &#8211; aber auf diese Weise habe ich die gewohnten Dateinamen, wenn ich z. B. mal Dokumente aus Paperless-ngx exportiere und in einen Projektordner auf einem anderen Speichermedium schiebe.<\/p>\n\n\n\n<p>Alle Platzhalter sind <strong><a href=\"https:\/\/docs.paperless-ngx.com\/advanced_usage\/#file-name-handling\" data-type=\"link\" data-id=\"https:\/\/docs.paperless-ngx.com\/advanced_usage\/#file-name-handling\">auf dieser Seite<\/a><\/strong> zu finden.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Die zweite Zeile<\/h3>\n\n\n\n<p>Bei diesem System ist noch eine zweite Anweisung wichtig, die ebenfalls in &#8222;docker-compose.env&#8220; aufgenommen werden muss. Ohne diese Anweisung w\u00fcrden, bei Nicht-Zuweisung eine Korrespondenten, unsere Pfade ein &#8222;none&#8220; erhalten. Das wird vermieden durch die Zeile<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"PAPERLESS_FILENAME_FORMAT_REMOVE_NONE=true\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9\">PAPERLESS_FILENAME_FORMAT_REMOVE_NONE<\/span><span style=\"color: #81A1C1\">=true<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Basisordner zuweisen<\/h2>\n\n\n\n<p>Im einfachsten Fall werden f\u00fcr die Basisordner Speicherpfade mit Platzhaltern ohne Jahreszahl definiert:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_9.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"903\" height=\"888\" src=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_9.jpg\" alt=\"\" class=\"wp-image-1843\" style=\"width:470px;height:auto\" srcset=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_9.jpg 903w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_9-300x295.jpg 300w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_9-768x755.jpg 768w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_9-75x75.jpg 75w\" sizes=\"auto, (max-width: 903px) 100vw, 903px\" \/><\/a><\/figure><\/div>\n\n\n<p>Bei der Aufnahme eine Versicherungsdokuments landet die Datei zwar zun\u00e4chst auf &#8222;..\/2024\/Versicherung\/xyz.pdf&#8220;. Dies wird aber durch die Zuweisung des Speicherpfads \u00fcberschrieben, so dass sich Unterlagen danach in &#8222;..\/Versicherung\/xyz.pdf&#8220; befindet. M\u00f6chte man sich die Zuweisung des Dokumenttyps ersparen, so ersetzt man in der Pfadanweisung die Zeile mit &#8222;Versicherung\/{title}&#8220;.<\/p>\n\n\n\n<p>Eleganter ist es, wenn man sich erst gar keine Gedanken dar\u00fcber machen muss, auf welchem Ordnerpfad ein Dokument landen soll. Dies kann man \u00fcber einen Arbeitsablauf bewerkstelligen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Wenn-dann-Anweisungen<\/h3>\n\n\n\n<p>Bei diesem Vorgehen hat man es im Feld &#8222;Dokumenttyp&#8220; (oder &#8222;Korrespondent&#8220;) mit einer einheitlichen Liste zu tun. Der Auswahlliste sieht man die Unterscheidung in diesem Fall nicht an:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_6.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"448\" src=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_6-1024x448.jpg\" alt=\"\" class=\"wp-image-1840\" style=\"width:526px;height:auto\" srcset=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_6-1024x448.jpg 1024w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_6-300x131.jpg 300w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_6-768x336.jpg 768w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_6.jpg 1039w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div>\n\n\n<p>F\u00fcr die wenigen Basisordner legen wir einfach &#8222;Arbeitsabl\u00e4ufe&#8220; an. Das ist in einer Minute geschehen und zahlt sich sp\u00e4ter aus. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_7.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"418\" src=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_7-1024x418.jpg\" alt=\"\" class=\"wp-image-1841\" style=\"width:640px;height:auto\" srcset=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_7-1024x418.jpg 1024w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_7-300x122.jpg 300w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_7-768x314.jpg 768w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_7-1536x627.jpg 1536w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_7-1140x465.jpg 1140w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_7.jpg 1656w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div>\n\n\n<p>Der Men\u00fcpunkt &#8222;Arbeitsabl\u00e4ufe&#8220; ist in der linken Sidebar zu finden. Als &#8222;Ausl\u00f6ser&#8220; wird in diesem Beispiel die Zuweisung des Dokumenttyps &#8222;Versicherung&#8220; gew\u00e4hlt:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_8.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"543\" src=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_8-1024x543.jpg\" alt=\"\" class=\"wp-image-1842\" style=\"width:608px;height:auto\" srcset=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_8-1024x543.jpg 1024w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_8-300x159.jpg 300w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_8-768x407.jpg 768w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_8-1536x815.jpg 1536w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_8-1140x605.jpg 1140w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_8.jpg 1848w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div>\n\n\n<p>Ausl\u00f6ser f\u00fcr den Ablauf ist die Zuweisung des Dokumenttyps &#8222;Versicherung&#8220;. Das muss nicht gleich bei der ersten Aufnahme passieren. Entscheidet man sich zu einem sp\u00e4teren Zeitpunkt, dass die Unterlage in diesen Basisordner soll, so weist man erst dann den Dokumenttyp zu.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_10.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"751\" src=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_10-1024x751.jpg\" alt=\"\" class=\"wp-image-1845\" style=\"width:624px;height:auto\" srcset=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_10-1024x751.jpg 1024w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_10-300x220.jpg 300w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_10-768x563.jpg 768w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_10-1536x1127.jpg 1536w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_10-1140x836.jpg 1140w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_10.jpg 1816w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div>\n\n\n<p>Bei &#8222;Aktionen&#8220; w\u00e4hlt man unter &#8222;Speicherpfad zuweisen&#8220; den dazugeh\u00f6rigen Speicherpfad aus. Fertig. Das wiederholt man dann noch f\u00fcr den Basisordner &#8222;Vertrag&#8220; oder &#8222;Zeugnisse&#8220; &#8211; nach ein paar Minuten ist alles erledigt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Vorhandene Dokumente einsortieren lassen<\/h2>\n\n\n\n<p>Sofern schon eine Reihe von Dokumenten aufgenommen wurden, so kann man mit einem einfachen Befehl den vorhandenen Bestand von Paperless-ngx neu arrangieren lassen. <\/p>\n\n\n\n<p>Also, auf dem Paperless-ngx-Pfad einfach folgende Zeile eingeben:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"sudo docker-compose exec webserver document_renamer\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9\">sudo<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">docker<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">compose<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">exec<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">webserver<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">document_renamer<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Je nach Anzahl der Dokumente kann das etwas dauern, es m\u00fcssen ja auch die Datenbankeintr\u00e4ge neu vorgenommen werden. Aber anschlie\u00dfend finden sich die Dateien in der neuen Ordnerstruktur.<\/p>\n\n\n\n<p>Das gesamte System sieht also so aus:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_11.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"481\" src=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_11-1024x481.jpg\" alt=\"\" class=\"wp-image-1846\" style=\"width:696px;height:auto\" srcset=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_11-1024x481.jpg 1024w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_11-300x141.jpg 300w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_11-768x361.jpg 768w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_11-1536x722.jpg 1536w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_11-2048x963.jpg 2048w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2024\/03\/paper14_11-1140x536.jpg 1140w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div>\n\n\n<p>Wie immer gilt: zuvor den Export-Befehl durchf\u00fchren bzw. ein Backup. Es kann ja sein, dass man eine sehr komplexe Struktur urspr\u00fcnglich eingef\u00fchrt hatte &#8211; dann sollte man zun\u00e4chst testen, ob man mit dem Ergebnis zufrieden ist. Falls nicht: Wie bereits beschrieben ein Restore durchf\u00fchren &#8211; und alles ist wie gehabt. Allgemein ist zu empfehlen, ein zweites Paperless-ngx (mit einem anderen Port) aufzusetzen und mit einer geringen Anzahl zu testen. (Bei mir liegt mein Hauptsystem auf einem Raspberry Pi 5, f\u00fcr die Tests mit Paperless-ngx nehme ich meinen 4-er.)<\/p>\n\n\n\n<p><strong>Bisherige Teile der Paperless-ngx-Serie:<\/strong><\/p>\n\n\n\n<p>Teil 1: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-auf-dem-raspberry-pi-erstaunlich-gut-teil-1\/\">Ausf\u00fchrlicher \u00dcberblick<\/a><\/strong><br>Teil 2: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-2-suche-tags\/\">Suche &amp; Tags<\/a><\/strong><br>Teil 3: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-3-consume-der-laub-sauger-fur-dokumente\/\">consume-Ordner &#8211; Einsatz von Scannern<\/a><\/strong><br>Teil 4: <a href=\"https:\/\/digital-cleaning.de\/?p=1600\"><strong>Speicherpfade konfigurieren<\/strong><\/a><br>Teil 5: <a href=\"https:\/\/digital-cleaning.de\/?p=1623\"><strong>Installation auf dem Raspberry Pi<\/strong><\/a><br>Teil 6: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-6-neue-funktionen-in-version-2\/\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-6-neue-funktionen-in-version-2\/\">Neue Funktionen in Version 2<\/a><\/strong><br>Teil 7: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-7-dokumente-unterwegs-ueber-das-eigene-modem-abrufen\/\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-7-dokumente-unterwegs-ueber-das-eigene-modem-abrufen\/\">Dokumente unterwegs \u00fcber das eigene Modem abrufen<\/a><\/strong><br>Teil 8: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-8-exportfunktion-nutzen\/\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-8-exportfunktion-nutzen\/\">Exportfunktion nutzen<\/a><\/strong><br>Teil 9: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-9-update-durchfuehren\/\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-9-update-durchfuehren\/\">Update durchf\u00fchren<\/a><\/strong><br>Teil 10: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-10-das-rundum-sorglos-backup\/\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-10-das-rundum-sorglos-backup\/\">Das Rundum-sorglos-Backup<\/a><\/strong><br>Teil 11: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-11-mail-abruf-mit-vielen-extras\/\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-11-mail-abruf-mit-vielen-extras\/\">Mail-Abruf mit vielen Extras<\/a><\/strong><br>Teil 12: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-12-mein-alltag-mit-paperless-ngx\/\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-12-mein-alltag-mit-paperless-ngx\/\">Mein Alltag mit Paperless-ngx<\/a><\/strong><br>Teil 13: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-13-ein-quanten-code-fuer-das-papier-archiv\/\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-13-ein-quanten-code-fuer-das-papier-archiv\/\">Ein Quanten-Code f\u00fcr das Papier-Archiv<\/a><\/strong><br>Teil 14: <strong><a href=\"https:\/\/digital-cleaning.de\/?p=1819\">Automatisierte Ablage auf Speicherpfaden<\/a><\/strong><br>Teil 15: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-15-neue-funktion-fuer-das-verbinden-und-trennen-von-dokumenten\/\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-15-neue-funktion-fuer-das-verbinden-und-trennen-von-dokumenten\/\">Neue Funktion f\u00fcr das Verbinden und Trennen von Dokumenten<\/a><\/strong><br>Teil 16: <a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-16-dashboard-smarte-widgets-und-erweiterte-ansichten\/\"><strong>Dashboard, smarte Widgets und erweiterte Ansichten<\/strong><\/a><br>Teil 17: <strong><a href=\"https:\/\/digital-cleaning.de\/?p=2105\">Unterordner des consume-Verzeichnisses nutzen<\/a><\/strong><br>Teil 18: <a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-18-synology-nas-ohne-docker-nutzen\/\"><strong>Paperless-ngx auf Synology\/NAS ohne Docker nutzen<\/strong><\/a><br>Teil 19: <a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-19-praxisbeispiel-kleine-hausverwaltung\/\" data-type=\"post\" data-id=\"2648\"><strong>Praxisbeispiel \u2013 kleine Hausverwaltung<\/strong><\/a><br>Teil 20: <a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-20-dokumente-per-mail-aus-dem-heimnetz-versenden\/\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-20-dokumente-per-mail-aus-dem-heimnetz-versenden\/\u2197\"><strong>Dokumente per Mail aus dem Heimnetz versenden<\/strong><\/a><br>Teil 21: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-21-die-1-klick-sicherung-mit-allem-drum-und-dran\/\">Die 1-Klick-Sicherung mit allem Drum und Dran<\/a><\/strong><br>Teil 22: <strong><a href=\"https:\/\/digital-cleaning.de\/?p=2911\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/?p=2911\">Update der Datenbank &#8211; super-simpel<\/a><\/strong><br>Teil 23: <strong><a href=\"https:\/\/digital-cleaning.de\/?p=2962\">Neuer PDF-Editor<\/a><\/strong><br>Teil 24: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-24-sofortinstallation\/\">Der Mega-All-in-One-Befehl f\u00fcr die Sofortinstallation<\/a><\/strong><br>Teil 25: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-25-der-briefmarken-pc\/\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-25-der-briefmarken-pc\/\">Der Briefmarken-PC f\u00fcr die Weitergabe<\/a><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Teil 4 der Serie bin ich bereits auf Speicherpfade eingegangen. Mit dieser Funktion erh\u00e4lt die Dokumentenablage eine Ordner-Struktur, die sich in jedem Filemanager aufrufen l\u00e4sst. Der besondere Pluspunkt ist aus meiner Sicht, dass man mit der Verwendung von Speicherpfaden unabh\u00e4ngiger von dem Paperless-ngx-Tool wird. Sollte je einmal etwas gar nicht mehr funktionieren, so kann man ohne zus\u00e4tzliche Konvertierung auf alle Dokumente zugreifen. Denn die \u00dcbersicht via Ordnerstruktur funktioniert immer und \u00fcberall. Diese Art der Ablage l\u00e4sst sich nun sehr einfach automatisieren, so dass neue Dokumente sofort im gew\u00fcnschten Ordner landen. Keep it simple! Ich werde hier eine sehr einfache Struktur beschreiben, die trotzdem auch f\u00fcr langj\u00e4hrige Archive mit gro\u00dfen Datenmengen tauglich ist. Grunds\u00e4tzlich hat man es dabei nur mit zwei Ordner-Varianten zu tun: Die fertige Struktur k\u00f6nnte dann beispielsweise so aussehen: Automatisierung f\u00fcr Archivordner K\u00fcmmern wir uns zun\u00e4chst um die Archivordner, da hier die Automatisierung besonders unkompliziert ist. Durch einen einfachen Kniff kann man Paperless-ngx veranlassen, jedes neue Dokument sofort im korrekten Jahresordner einzuordnen. Daf\u00fcr gen\u00fcgen zwei Zeilen in der Konfigurationsdatei. Dazu wird im Filemanager auf dem Pfad &#8222;paperless-ngx&#8220; die Datei &#8222;docker-compose.env&#8220; aufgerufen. Diese enth\u00e4lt nur vier Zeilen. F\u00fcr die erste der beiden Zeilen gibt es nun folgende M\u00f6glichkeiten: puristische Anweisung Speichert man eine Datei mit dem Namen &#8222;kobold.pdf&#8220;, die als Datum &#8222;15.03.2024&#8220; enth\u00e4lt in Paperless-ngx, so erh\u00e4lt findet man unter paperless-ngx\/documents\/archive\/2024\/kobold.pdf W\u00e4re in der Datei ein Datum aus 2019 enthalten, so w\u00fcrde sie automatisch in dem Pfad &#8222;..\/2019&#8220; gespeichert. Enth\u00e4lt ein Dokument kein Datum oder m\u00f6chte man ein erkanntes Datum anpassen, so nimmt man den \u00fcblichen Eintrag im Feld &#8222;Ausgestellt am&#8220; vor &#8211; sofort wandert das Dokument in den entsprechenden Ordner. Auf diese Weise erh\u00e4lt man eine sehr flache Hierarchie &#8211; die Dokumente wandern einfach in den jeweiligen Jahresordner. In vielen F\u00e4llen gen\u00fcgt das auch. Aber man kann die Anweisung erweitern. erweiterte Anweisungen Dokumententyp\/Korrespondent Nehmen wir an, man m\u00f6chte f\u00fcr den Bereich &#8222;Energie&#8220; gerne einen Unterordner im betreffenden Jahr haben. Dort k\u00f6nnen Stromrechnungen, Tarif\u00e4nderungen, Heizungsangelegenheiten usw. aufgenommen werden. Daf\u00fcr kann man wahlweise einen Korrespondenten oder einen Dokumenttyp anlegen. Die Zeile wird in diesem Fall um einen Platzhalter erweitert: Zun\u00e4chst wird die Datei wie gewohnt in Paperless-ngx aufgenommen. Anschlie\u00dfend &#8211; oder zu einem sp\u00e4teren Zeitpunkt &#8211; weist man etwa den Korrespondent &#8222;Energie&#8220; zu. In der gleichen Sekunde wandert die Datei in den Pfad &#8222;..\/2024\/Energie&#8220;. (Das k\u00f6nnte man zwar auch \u00fcber die Definition eines gesonderten Speicherpfads innerhalb der Web-Oberfl\u00e4che erreichen, aber das beschriebene Vorgehen hat bei gro\u00dfen Datenmengen Vorteile.) Wichtig ist: F\u00fcr die meisten Dateien ist die Zuweisung eines Korrespondenten oder Dokumententyps unwichtig &#8211; diese sollen ja gerade in dem eigentlichen Jahres-Ordner gespeichert werden. F\u00fcr all diese Dateien gilt, dass man keine zus\u00e4tzlichen Einstellungen vornehmen muss &#8211; die Anweisung in der Konfigurationsdatei gen\u00fcgt bereits. Platzhalter f\u00fcr Titel Noch eine zweite Erweiterung der Konfigurationszeile kann sinnvoll sein. Ich pers\u00f6nlich ordne meine Archivdokumente seit Jahren mit Dateinamen nach dem Muster &#8222;Jahr-Monat-Tag_Titel&#8220;. Dieses Muster kann man beibehalten durch folgende Platzhalter: {created_year}-{created_month}-{created_day}_{title} Die ganze Zeile lautet dann: Das Ergebnis sieht dann so aus: Klar, das ist eine gewisse Doppelung. Das Jahr ist ja bereits im Ordnernamen enthalten. Muss man auch nicht machen &#8211; aber auf diese Weise habe ich die gewohnten Dateinamen, wenn ich z. B. mal Dokumente aus Paperless-ngx exportiere und in einen Projektordner auf einem anderen Speichermedium schiebe. Alle Platzhalter sind auf dieser Seite zu finden. Die zweite Zeile Bei diesem System ist noch eine zweite Anweisung wichtig, die ebenfalls in &#8222;docker-compose.env&#8220; aufgenommen werden muss. Ohne diese Anweisung w\u00fcrden, bei Nicht-Zuweisung eine Korrespondenten, unsere Pfade ein &#8222;none&#8220; erhalten. Das wird vermieden durch die Zeile Basisordner zuweisen Im einfachsten Fall werden f\u00fcr die Basisordner Speicherpfade mit Platzhaltern ohne Jahreszahl definiert: Bei der Aufnahme eine Versicherungsdokuments landet die Datei zwar zun\u00e4chst auf &#8222;..\/2024\/Versicherung\/xyz.pdf&#8220;. Dies wird aber durch die Zuweisung des Speicherpfads \u00fcberschrieben, so dass sich Unterlagen danach in &#8222;..\/Versicherung\/xyz.pdf&#8220; befindet. M\u00f6chte man sich die Zuweisung des Dokumenttyps ersparen, so ersetzt man in der Pfadanweisung die Zeile mit &#8222;Versicherung\/{title}&#8220;. Eleganter ist es, wenn man sich erst gar keine Gedanken dar\u00fcber machen muss, auf welchem Ordnerpfad ein Dokument landen soll. Dies kann man \u00fcber einen Arbeitsablauf bewerkstelligen. Wenn-dann-Anweisungen Bei diesem Vorgehen hat man es im Feld &#8222;Dokumenttyp&#8220; (oder &#8222;Korrespondent&#8220;) mit einer einheitlichen Liste zu tun. Der Auswahlliste sieht man die Unterscheidung in diesem Fall nicht an: F\u00fcr die wenigen Basisordner legen wir einfach &#8222;Arbeitsabl\u00e4ufe&#8220; an. Das ist in einer Minute geschehen und zahlt sich sp\u00e4ter aus. Der Men\u00fcpunkt &#8222;Arbeitsabl\u00e4ufe&#8220; ist in der linken Sidebar zu finden. Als &#8222;Ausl\u00f6ser&#8220; wird in diesem Beispiel die Zuweisung des Dokumenttyps &#8222;Versicherung&#8220; gew\u00e4hlt: Ausl\u00f6ser f\u00fcr den Ablauf ist die Zuweisung des Dokumenttyps &#8222;Versicherung&#8220;. Das muss nicht gleich bei der ersten Aufnahme passieren. Entscheidet man sich zu einem sp\u00e4teren Zeitpunkt, dass die Unterlage in diesen Basisordner soll, so weist man erst dann den Dokumenttyp zu. Bei &#8222;Aktionen&#8220; w\u00e4hlt man unter &#8222;Speicherpfad zuweisen&#8220; den dazugeh\u00f6rigen Speicherpfad aus. Fertig. Das wiederholt man dann noch f\u00fcr den Basisordner &#8222;Vertrag&#8220; oder &#8222;Zeugnisse&#8220; &#8211; nach ein paar Minuten ist alles erledigt. Vorhandene Dokumente einsortieren lassen Sofern schon eine Reihe von Dokumenten aufgenommen wurden, so kann man mit einem einfachen Befehl den vorhandenen Bestand von Paperless-ngx neu arrangieren lassen. Also, auf dem Paperless-ngx-Pfad einfach folgende Zeile eingeben: Je nach Anzahl der Dokumente kann das etwas dauern, es m\u00fcssen ja auch die Datenbankeintr\u00e4ge neu vorgenommen werden. Aber anschlie\u00dfend finden sich die Dateien in der neuen Ordnerstruktur. Das gesamte System sieht also so aus: Wie immer gilt: zuvor den Export-Befehl durchf\u00fchren bzw. ein Backup. Es kann ja sein, dass man eine sehr komplexe Struktur urspr\u00fcnglich eingef\u00fchrt hatte &#8211; dann sollte man zun\u00e4chst testen, ob man mit dem Ergebnis zufrieden ist. Falls nicht: Wie bereits beschrieben ein Restore durchf\u00fchren &#8211; und alles ist wie gehabt. Allgemein ist zu empfehlen, ein zweites Paperless-ngx (mit einem anderen Port) aufzusetzen und mit einer geringen Anzahl zu testen. (Bei mir liegt mein Hauptsystem auf einem Raspberry Pi 5, f\u00fcr die Tests mit Paperless-ngx nehme ich meinen 4-er.)<\/p>\n","protected":false},"author":1,"featured_media":1820,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[97,100,98,99,101],"class_list":["post-1819","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-allgemein","tag-2e3440ff","tag-81a1c1","tag-d8dee9","tag-d8dee9ff","tag-eceff4"],"_links":{"self":[{"href":"https:\/\/digital-cleaning.de\/index.php\/wp-json\/wp\/v2\/posts\/1819","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digital-cleaning.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digital-cleaning.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digital-cleaning.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/digital-cleaning.de\/index.php\/wp-json\/wp\/v2\/comments?post=1819"}],"version-history":[{"count":10,"href":"https:\/\/digital-cleaning.de\/index.php\/wp-json\/wp\/v2\/posts\/1819\/revisions"}],"predecessor-version":[{"id":2156,"href":"https:\/\/digital-cleaning.de\/index.php\/wp-json\/wp\/v2\/posts\/1819\/revisions\/2156"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digital-cleaning.de\/index.php\/wp-json\/wp\/v2\/media\/1820"}],"wp:attachment":[{"href":"https:\/\/digital-cleaning.de\/index.php\/wp-json\/wp\/v2\/media?parent=1819"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digital-cleaning.de\/index.php\/wp-json\/wp\/v2\/categories?post=1819"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digital-cleaning.de\/index.php\/wp-json\/wp\/v2\/tags?post=1819"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}