Funktionswunsch: Gruppe mit intelligenter Funktion

Hallo zusammen,
nachdem DT ja zum Glück stetig entwickelt wird, würde ich hier kurz vor Weihnachten :santa: :christmas_tree: gerne einen Wunsch :gift::scroll:äussern:

Ich würde mich sehr über eine Funktion freuen, mit der man einer regulären Gruppe eine intelligente Eigenschaft zuweisen kann.
Hintergrund ist der, dass ich meine Dokumente versuche, halbwegs vernünftig in Gruppen zu speichern, um den Überblick zu behalten, Datenbanken sinnvoll aufzutrennen, und Dokumente auch ohne Suche zu finden.
Wenn ich den Dokumenten z.B. ein bestimmtes Tag zuweise, mit dem es dann zu einer Gruppe orientiert werden soll, dann muss ich entweder mit einer bisher vorhandenen intelligenten Gruppe arbeiten, die aber die Datei nur innerhalb dieser Gruppe anzeigt, aber nicht auch tatsächlich hierin verschiebt, oder ich muss eine Intelligente Regel erstellen, oder aber ich muss die Datei von Hand verschieben.
Die Zahl der intelligente Regeln nimmt bei mir bereits jetzt überhand, und ich stehe noch relativ am Anfang, zumal man die intelligenten Regeln nicht vernünftig Gruppieren kann, um hier den Überblick zu behalten.

Ich würde mich über die Möglichkeit freuen, einer “normalen” Gruppe ein Tag (oder gerne auch mehrere), quasi als Adresse, zuweisen zu können, damit dann automatisch alle Dokumente mit diesem Tag in dieser Gruppe landen.
Quasi eine intelligente Gruppe, die aber eben auch physikalisch existiert, und die Dokumente auch wirklich hierin verschiebt.
Das würde die Sortierung wesentlich erleichtern, und die Zahl der notwendigen intelligenten Regeln für mich auf ein Minimum reduzieren.

Kannst du bitte detaillierter erläutern, warum die Verwendung von intelligenten Gruppen und/oder der AI für dich nicht die richtige Lösung ist?

Die intelligenten Gruppen sind ja keine Gruppen in dem Sinne, sondern eigentlich nur feste Suchanfragen.
Ich möchte die Dokumente aber in echten Gruppen haben, und ggfls. auch in verschiedenen Datenbanken ablegen können, alleine schon um die Speicherlast zu vermindern.
Die so genannte AI funktioniert bei mir leider überhaupt nicht, und stellt daher keine Alternative dar.
Ich habe nichts davon, wenn ich anschließend zig Gruppen durchsuchen muss, um dann die Dokumente die falsch gelaufen sind, wieder aufzufinden, und in die richtigen Ordner zu verschieben.
Das Ganze soll ja eine Arbeitserleichterung sein, und keine Arbeitsbeschaffungsmaßnahme… :innocent:

Folgt die Benennung Ihrer Ablage-Tags und der dazugehörigen Gruppen einem festen Schema? Wenn ja, könnte eine einzige Intelligente Regel das Verschieben übernehmen.

Ich erinnere mich da an eine Diskussion über Aktenzeichen. Würden die Tags und die Gruppen zum Beispiel immer mit „AZ “ beginnen, könnte die Intelligente Regel darauf anspringen.

Ich weiß gerade nicht, ob man die Existenz einer Gruppe per Skript abfragen kann, meine aber schon. Dann könnte das Skript Dokumente mit dem Tag „AZ 1234/56“ in der Gruppe „AZ 1234/56“ ablegen, falls diese existiert. Und wenn nicht, wird sie erst angelegt und dann wird verschoben.

Das ist nur mal eine Idee, ohne detaillierte Kenntnis von Ihrem Setting zu haben.

Nein, ich habe da zwar ein gewisses Schema, ich denke aber nicht, dass es sich für die Umsetzung mit einem einzigen, oder von mir aus auch mit einer Handvoll von Skripten, eignet.
Dazu kommt, dass Skripte etwas ganz tolles sein mögen, ich kenne die dahinterliegende Sprache aber nicht, und obwohl ich aus der Vergangenheit gewisse Programmierkenntnisse habe, muss ich zugeben, dass sich mir die Skripte auch nicht so erschließen, dass ich davon ausgehe, diese Sprache mit vertretbarem Aufwand, quasi nebenbei, auch noch zu lernen.

Im Ergebnis kommt aber, egal ob man mit intelligenten Regeln, oder einer Vielzahl von Skripten, oder innerhalb der Skripte mit einer Vielzahl von Variablen, arbeitet, immer noch der Punkt mit der fehlenden Übersichtlichkeit hinzu.
Ich habe bereits jetzt über 100 intelligente Regeln, und verliere hier offen gestanden den Überblick, bzw. Verbrauche eine erhebliche Zeit darauf, jeweils zu prüfen, ob ich nun für ein bestimmtes Dokument schon eine passende Regel habe, oder eine neue anlegen müsste. In der Zeit habe ich das Dokument dann auch von Hand verschoben, was aber ja irgendwie nicht der Sinn der Sache ist, zumal hier aktuell eine recht hohe 5stellige Zahl an Dokumenten auf die Bearbeitung wartet.

Gerade auch im Hinblick auf die Übersichtlichkeit wäre es in meinen Augen eben toll, wenn ich einer Gruppe ein bestimmtes Tag (bzw. Idealerweise für Untergruppen auch mehrere) in den Einstellungen zuweisen könnte, und die Gruppen würden (vergleichbar mit intelligenten Gruppen) die Dokumente quasi automatisch anziehen, nachdem sie getaggt sind.

Das funktioniert im Prinzip mit Intelligenten Gruppen ja super, was mich halt stört ist, dass die Dokumente in der Intelligenten Gruppe quasi nur virtuell liegen, ich hätte sie gerne tatsächlich verschoben!

Man kann.

Wäre das nicht euch etwas eigenartige Duplizierung? Zumal Tags und Gruppen ja fast dasselbe sind und man ja auch erstmal das Tag vergeben muss.

Zum Thema automatisch Einsortieren gab es schon etliche Threads hier, vielleicht findet sich da ja noch die eine oder andere Idee.

Tags und Gruppen sind eben nur “fast” dasselbe.
Mithilfe der Gruppen (hoffe) ich die großen Anzahl an Dokumenten so sortiert zu bekommen, dass ich sie u.a. in verschiedenen, dann jeweils kleineren, Datenbanken abgelegt bekomme.
Darüber hinaus kann ich mir, unabhängig von Suchfunktionen und Tags auch innerhalb einer Gruppe einen schnellen Überblick darüber verschaffen, was ich dort alles an Unterlagen zur Verfügung habe.
Taggen muss ich so, oder so, da ich damit auch andere Funktionen nutze, und das geht mittlerweile auch relativ zügig, u.a. mit Textexpander.

Stimmt. Aber man die Tags nach dem Verschieben durch ein Skript auch von diesem entfernen lassen, wenn man das möchte. Ich arbeite zum Beispiel mit reinen Ablage-Tags (die Dokumente kommen von außerhalb von DEVONthink und enthalten entweder macOS-Tags oder Hashtag-Tags, die beim Importieren in macOS-Tags umgewandelt werden), die vom Skript in einem letzten Arbeitsschritt entfernt werden. Und nur die. Alle anderen Tags, die Dokumente inhaltlich, oft über Gruppenstrukturen hinweg, verbinden, bleiben unangerührt.

Ein weiteres Beispiel ist eventuell auch das mitgelieferte Skript Objekte anhand @Ziel im Namen ablegen für intelligente Regeln. Ein ähnlicher Ansatz müsste sich eigentlich auch für Tags nutzen lassen.

Ich kann nur aus eigener Erfahrung sprechen – ich habe auch nur viele Jahre alte, grundlegende Programmierkenntnisse und konnte mir das eine oder andere kleine funktionierende Apple-Script-Skript zusammenbasteln. Oft zusammenkopiert aus den Skripten, die schon bei DEVONthink dabei sind oder die man hier im Forum findet.

Und das ist der wichtigere Teil: Sie sind nicht allein mit Ihrer Problemlösung! Es gibt hier einige Apple-Script- oder JavaScript-Experten, die mit ihrem Expertenwissen nicht hinterm Berg halten, sondern schon so manchem eine maßgeschneiderte Lösung präsentiert haben.

Aber dazu muss auch, um im Bild des Maßschneiders zu bleiben, zuallerst ausgemessen werden.

Zum Beispiel ist mir das noch nicht klar:

  • Verwenden Sie ausschließlich Tags zur Ablage oder auch noch für andere Zwecke?

  • Wie steht das Tag im Verhältnis zum Namen der Gruppe, in der das Dokument abgelegt werden soll? Gibt es zum Beispiel ein Tag Willy Müller, und alle Dokumente mit diesem Tag landen in der Gruppe Willy Müller?

  • Wenn Sie Tags nicht nur zur Ablage verwenden, müssen die Ablage-Tags von allen Nicht-Ablage-Tags unterschieden werden können, um sie zur automatischen Ablage zu verwenden. Wäre es für Sie ein vertretbarer Mehraufwand, wenn Sie statt des Tags Willy Müller stattdessen ABLAGE Willy Müller verwenden würden? Textpander das Sie erwähnt haben, wäre das egal, sage ich mal … Aber das Skript wüsste anhand dieser (oder einer anderen) Kennung dann, dass es sich um das Dokument mit diesem Tag zu kümmern hat.

Ein Beispiel:
Ich habe z.B. eine Rechnung meines Faxdienstes aus dem November. Diese bekommt die Tags: “fax.de”, “rechnung”, “november”, “2021”, “steuer 2021”,
Einsortiert ist diese Rechnung in der Gruppe “Geschäft” → “IT” → “Rechnungen” → “fax.de”.
Die Tags “november” und “2021” will ich in Zukunft zum internen Sortieren nutzen, der Tag “steuer 2021” sortiert die Rechnung in die intelligente Gruppe “Steuer 2021” ein. Der Tag “fax.de” dient derzeit in einer intelligenten Regel zum Einsortieren in die Gruppe.
Er dient mir aber eben auch dazu, in anderen Funktionen die Rechnung als eine von fax.de zu identifizieren, der Tag sollte also nicht entfernt werden, und mit einem Wort davor, wird es meiner Meinung nach auch unübersichtlicher.
So ähnlich sind alle meine Tags aufgebaut. Ich habe in der Regel ein oder mehrer Tags, zum Sortieren in Gruppen, und eine Reihe von anderen Tags, mit denen ich intelligente Gruppen nutzen will, oder andere Suchen etc. durchführen können will.

Im Prinzip gibt es die von mir gewünschte Funktion ja bereits, den eine intelligente Gruppe kann ich ja schon so einstellen. Ich kann sie nur nicht dazu bringen, den Inhalt auch “physikalisch” zu speichern.
Also entweder eine intelligente Gruppe, die auch die Inhalte “physikalisch” aufnimmt, oder eine “normale” Gruppe, in der ich einen, oder mehrere, Tags als eine Art Adresse einstellen kann.

Wie “bekommt” sie die - manuell? Mit einem Script in DT? Irgendwie anders?

Warum hat sie ein Tag, das genauso heißt wie die Gruppe? Ich weiß natürlich nicht, wie umfangreich deine Buchhaltung ist, aber mir erscheint das ein klein wenig over-engineered zu sein: Wenn das Dokument in “Rechnungen” liegt und das Tag “fax.de” hat, wozu dann noch eine eigene Gruppe nur für diesen einen Rechungsversender? Man kann doch die Gruppe jederzeit nach Tags sortiert anzeigen und hat dann alle diese Dokumente zusammen.

Wenn Du magst, erklär doch mal, was Du eigentlich tun willst (oder musst) mit deinen Dokumenten und um welche Mengen es geht. Ich packe zwar auch alle meine Rechnungen etc. in DT, muss die aber idR nur einmal im Jahr angucken, weil ich nicht USt-pflichtig bin.

Die Tags vergebe ich manuell, einen Automatismus, der auch zuverlässig funktioniert, habe ich leider noch nicht gefunden.
Ich bin seit einiger Zeit dabei, mein Büro komplett von Papier zu befreien. Ich habe hier aus den letzten rund 30 Jahren (fast) alle Dokumente gescannt, und bin dabei diese in DT hinzuzufügen, und verfügbar zu machen. Es werden wohl mittlerweile an die 100.000 Dokumente sein, und wöchentlich kommen so 50-150 hinzu.
Ich benötige die Dokumente aus beruflichen, geschäftlichen und privaten Gründen, und muss regelmäßig auf einzelne Dokumente zugreifen können, um mit diesen zu arbeiten.

Der Tag, und die dazugehörige Gruppe, heißen gleich, weil ich dies so übersichtlicher finde. Vor allem weil ich ja im Eingang erst einmal einen Tag zuweise, und dann bisher über eine intelligente Regel dieses so getaggte Dokument in die entsprechende Gruppe habe verschieben lassen. Leider ist die Erstellung der Regeln sehr zeitaufwendig, und das Ganze ist auch maximal unübersichtlich (welche Regeln habe ich schon, welche brauche ich noch etc?).

Ich arbeite auch mit Untergruppen weil ich eben auch ohne Suchfunktion den Überblick behalten möchte. Wenn ich alles in die Gruppe Rechnungen einsortiere, dann werden das zig tausend Dokumente sein. Klar kann ich die dann, wenn ich etwas suche, sortieren lassen, aber so muss ich dies eben nicht.
Dazu kommt, dass bei mir leider regelmäßig die Suchfunktion in DT3 fehlerhaft funktioniert, und ich so Dokumente nicht wiederfinde. Durch die Gruppen, kann ich dann von Hand danach suchen, und komme dennoch in vertretbarer Zeit zum Ziel.
Weiter nutze ich Links aus DT3 in OF3, meinem Kalender und an anderen Stellen, und finde es auch hier praktisch, wenn der Link dann direkt auf das Dokument in der richtigen Gruppe geht, und ich gleich auch noch zusätzliche Dokumente zur Verfügung habe.

Auch für mich klingt das wahnsinnig kompliziert - was natürlich drauf hindeutet, dass ich nicht verstehe um was es geht. Ich drehe das was du geschrieben hast um, und zeige auf, wie ich vorgehen würde. Das hilft dir vielleicht meine Denke zu verstehen - und so besser die Unterschiede zu deinen Bedürfnissen aufzuzeigen:

Ich habe eine Rechnung von fax.de. Diese stecke ich in meinen (Unter-) Ordner Rechnungen. Ich kennzeichne sie händisch (oder automatisiert) mit einem Tag als Steuerrelevant. Alles andere mache ich mit intelligenten Gruppen - d.h. wenn es mir wichtig ist, alle Rechnungen von fax.de in einer Gruppe zu haben, lege ich eine intelligente Gruppe an, die nach fax.de, dem Wort Rechnung, der IBAN, meiner Kundennummer o.ä. sucht, um zuverlässig diese Art von Rechnung anzuzeigen. Brauche ich nun eine intelligente Gruppe, die Rechnungen aus dem November 2021 anzeigt, lege ich eine an, die alle Rechnungen mit Datum 01.11.2021 bis 30.11.2021 anzeigt. Weil die Rechnungen alle in einer Gruppe liegen, können sich hieraus zig intelligente Gruppen bedienen. So bin ich auch zukunftssicher - ich kann mich jederzeit aus dieser einen Datenquelle bedienen und neue “Suchen” (d.h. intelligente Gruppen) anlegen.

Edit:

Das verlangt fast nach weiteren Angaben, vor allem in Kombination mit deiner Aussage, dass die AI nicht funktioniert. Das klingt danach, als wären die Dokumente nicht mit einer korrekten Textschicht hinterlegt.

Mein Post habe ich geschrieben während du den Post unmittelbar darüber geschrieben hast; ich glaube die Antwort auf meine Frage ist “Geschmackssache”. Es bleibt für mich das Gefühl, dass du das Potenzial von DT hier nicht nutzt, sondern viel mehr ein digitales Abbild einer analogen Welt schaffst.

So, aber dieser Thread fing mit einem Wunsch deinerseits an - davon möchte ich nicht ablenken :slight_smile: Danke, dass du dir die Zeit genommen hast, deinen Weg und so deine Beweggründe zu erklären.

1 Like

Das Skript kann ich interessanter Weise gar nicht in DT3 finden, obwohl ich dachte alle Skripte installiert zu haben.
Es würde mir, wenn ich den Namen richtig verstehe, aber auch nicht weiterhelfen, da meine Dokumente zum größten Teil beim Scannen alle als Namen das Scanndatum erhalten, und eine Unterscheidung danach eben nicht sinnvoll möglich ist.
Ich habe auch schon damit experimentiert, den Namen des Dokumentes aus dem Inhalt automatisch erstellen zu lassen, aber das funktioniert leider nur bei einem kleinen Teil der hier vorliegenden Dokumente halbwegs vernünftig, und der zusätzliche Aufwand, den Namen dann wieder zu korrigieren, ist mir ehrlich gesagt zu hoch.

Wenn das systematisch genauso passiert, würde ich das mit einem Script erledigen lassen, das von einer smart rule ausgeführt wird.

Ist natürlich dein Bier, aber Rechnungen aus 30 Jahren, bei einer Aufbewahrungspflicht von 10? Es gibt sicherlich Dokumente, die man länger als 10 Jahre braucht, aber das sind doch eher wenige.

Dann würde ich in der Regel, die das OCR macht, gleich den Namen richtig vergeben. Ggf in Zusammenarbeit mit einem Script.

Ich habe nie behauptet, kein komplizierter Mensch zu sein… :innocent:
Nein, im Ernst, auch Du packst die Rechnung in einen Unterordner, und taggst sie anschließend.
Ich würde gerne im Eingang die Rechnung taggen, und das verschieben in den Unterordner der Automatik überlassen.
Beim taggen ist es vom Aufwand her eigentlich Wurscht, ob ich hier nur ein Tag erfasse, oder 5. Ich schreibe 10-Finger-Blind, das geht sehr schnell, das manuelle verschieben hingegen dauert immer recht lange im Vergleich dazu.
Und wie legst Du die intelligente Gruppe mit dem Rechnungsdatum an?
Dazu muss ja entweder Deine Rechnung das Datum als Tag haben, oder im Dateinamen so benannt sein.
Alternative ist eine Suche, und da bekomme ich dann regelmäßig eben auch andere Dokumente (z.B. Kontoauszüge) mit angezeigt, die dann in der intelligenten Gruppe nichts zu suchen haben.

Zur Tante Edit:
Ich habe regelmäßig das Problem, dass DT3 Dokumente nicht findet, und ich den Suchindex neu aufbauen muss. Woran das liegt, kann ich nicht sagen.
Die Dokumente sind alle als PDF+Text hinterlegt, das OCR mache ich zumeist in DT3Pro direkt.
Und ja, ich nutze von der AI die in DT3 vorhanden sein soll, zumindest bewusst, nichts.
Immer wenn ich versuche, nach Anleitung, eine Funktion hiervon sinnvoll zu nutzen, stoße ich an Grenzen, und bekomme Resultate, die eben für mich nicht funktionieren. Das fängt schon bei so einfache Sachen an, wie dem Suchergebnis nach “Relevanz”. Das was ich dann wirklich suche, liegt in der Mehrzahl der Fälle irgendwo mitten drinnen, und hat eine relativ geringe Relevanz von DT3 zugewiesen bekommen. Warum? Keine Ahnung!?
Ich bin überzeugt davon, dass es auch andere, und mit Sicherheit sogar wesentlich bessere Wege gibt, mit Dokumenten in DT3 umzugehen, aber die stehen mir (im Moment) leider nicht zur Verfügung.

Eine Funktion, wie ich sie mir im Ausgangsbeitrag gewünscht habe, würde mir die Arbeit wesentlich erleichtern, da ich dann nur noch taggen müsste, und nicht umständlich zu jedem Tag eine eigene Regel schreiben müsste, die dann ebenfalls in einem völlig unübersichtlichen Haufen an Regeln irgendwo verschwindet, um im Zweifelsfall dann sogar mehrfach geschrieben wird, weil ich mich nicht erinnere, dies schon mal gemacht zu haben.

Wie müsste dieses Skript den aussehen, dass sämtliche Tags, und Gruppen beinhaltet, und eben auch für neue Tags funktionieren würde?

Ich habe darüber hinaus nie behauptet, dass es alles Rechnungen sind, oder? :wink:
Unabhängig davon habe ich aber die Erfahrung gemacht, dass es nicht nur immer mal wieder ein altes Dokument gibt, dass man dann eventuell doch noch braucht (habe erst kürzlich wegen einer solchen Konstellation einen Rechtsstreit mit rund 100.000€ Streitwert gewonnen, weil ich ein 15 Jahre altes Dokument vorlegen konnte, von dem der Gegner gehofft hatte, dass es nicht mehr existiert), sondern der Aufwand diese alten Dokumente raus zu sortieren, und zu löschen, steht im Prinzip auch in keiner Relation zu den heutigen Kosten von Speicherplatz.

Und die Vergabe eines richtigen, sinnvollen Namens beim OCR scheitert bei mir leider daran, dass dies hier nur für einen kleinen Teil meiner Dokumente sinnvoll funktioniert. Bei allen anderen müsste ich mühsam nacharbeiten, was überhaupt keinen Sinn macht, zumal es aus meiner Sicht relativ sinnfrei ist, sich einerseits bei der Namensgebung zu verbiegen, um einen “sprechenden Namen” zu vergeben, wenn ich andererseits das Ganze auch über eine sinnvolle Arbeit mit Tags und Gruppen lösen kann.

Siehe

Ich würde das so umbauen, dass das Objekt am Anfang nur die Zuordnung zwischen Tags und Datenbank/Gruppe definiert. Das ist ein bisschen Schreibarbeit am Anfang, aber der Code selbst ist trivial. Und neue Tags muss man manuell hinzufügen.
Alternativ könnte das Script auch für die Tags eines Datensatzes die richtige Gruppe suchen. Das funktioniert aber vermutlich nur, wenn die Zuordnungen eineindeutig (aka bijektiv) sind.

Manuelles Vergeben von Tags für 100000 Dokumente ist nicht unbedingt kostenfrei. Aber wie gesagt: dein Bier.

Alleine die Tatsache, dass ich eben jedes Tag dem Skript hinzufügen müsste, disqualifiziert diese Option leider völlig, zumal ich vom fachlichen her nicht in der Lage wäre, es umzuschreiben.
Was bringt es mir den für einen Vorteil, dann irgendwann ein Monster von Skript mit hunderten oder tausenden von Tags zu haben, das weder noch überschaubar ist, noch (vermutlich) in einer vertretbaren Zeit abgearbeitet werden kann.
Ich sehe so schon häufig genug Zini (Spaß am Dienstag – Wikipedia) in DT3, das muss ich nicht auch noch durch solche Skripte verschlimmern.

Und ja, die Dokumente zu taggen ist nicht kostenfrei, weil es meine Arbeitszeit kostet, aber es geht wesentlich schneller, einfach alle Dokumente quasi stumpfsinnig (mache ich jeden Tag 20Min. vor dem zu Bett gehen mit müdem Kopp) zu taggen, als vorher noch bei jedem Dokument überlegen zu müssen, was es nun ist, ob es weg kann, und wenn ja, nach welcher Zeit (es gilt nämlich bei weitem nicht für alles eine 10 Jahres Frist, das wäre nun wirklich zu einfach), und ob diese dann auch schon abgelaufen ist, und es nicht möglicherweise eben doch noch mal gebraucht wird!