Wenn ich mich recht erinnere, gab es doch irgendwo eine Einstellung, die es ermöglichte, dass Dokumenten automatisch den Gruppennamen, in den das Dokument eingeordnet wird, als Tag zu zuzuweisen. Wo finde ich das…?
Vielleicht bin ich aber auch komplett auf dem Holzweg und hab das falsch in Erinnerung
Hallo, gibt es auch die Möglichkeit einzelnen Gruppen zu sagen das sie den Gruppennamen als Tag vererben sollen? Ich hatte das mal per zufall, ich weiß aber nicht mehr wie ich das hinbekommen habe. VG
Nur dadurch, dass Tagging zunächst für alle Gruppen aktiviert wird, d.h. die Option Ablage > Datenbank-Eigenschaften > Gruppen beim Tagging ignorieren deaktiviert wird. Anschließend müsste dann allerdings jede Gruppe, bei der das nicht gewünscht, vom Tagging wiederum ausgeschlossen werden, s. Info > Allgemein-Inspektor.
Das wäre die Verwendung von Gruppen-Tags, die durch Deaktivieren der Option Datei > Datenbankeigenschaften > Gruppen von der Markierung ausschließen auf einer Datenbankbasis aktiviert werden. Dies ist jedoch eine Option, über die Sie nachdenken sollten, bevor Sie sie aktivieren. Es handelt sich um dynamisch zugewiesene Tags, sodass sich das Verschieben von Objekten von einer Gruppe in eine andere auf ihre Tags auswirkt.
Ups, ich hab noch ein kleines Problem,
Die Tags der vererbbaren Gruppen sollten mir helfen die Namensbenennung der Dateien
zu definieren.
Jetzt sagen sie das diese dynamisch sind, soweit ok.
Wenn ich jetzt mein Skript anwende welches nach dem tagging den Dateinamen benennt,
passiert da nichts.
Der sinn hinter der ganzen geschichte ist folgender.
Da viele Dateien gerne mal mit viel unsinnigen Tags versehen werden möchte ich bei der Erkennung spezifischer Merkmale wie z.B. die schon in den Datenbanken hinterlegten zusammengehörigen Tags wie (Postbank / Kontoauszug / ktnr:123456789) die dann schon in einem Dokument in der Mehrzahl zusammen erkannt wurden automatisch in den dafür vorgesehenen Ordner verschoben werden der richtig Getaggt ist, und dann alle überflüssig erkannten ist Tags löscht und dort dann den Dateinamen anhand der Soll-Tags neu definiert.
Damit will ich mir die Überprüfung sparen und die Benennungsfehler ausmerzen und somit die Arbeitsgeschwindigkeit erhöhen.
Mein Script sieht wie folgt aus.
Bearbeitet. Sie müssen drei Backticks (```) am Anfang und am Ende von Codeblöcken verwenden, damit sie in den Foren richtig angezeigt werden.
property isPrivate : false -- geschäftlich / privat
property theSeparator : " - " -- Trenner in Namen
property thePlaceholder_CustomerID : "%AKTENZEICHENKUNDENNUMMER_"
property thePlaceholder_Subject : "%BETREFF_"
property thePlaceholder_Company : "%FIRMA_"
property thePlaceholder_Name : "%NAME_"
property removeTags : false
-- entferne das # um das Skript mit ausgewählten Records zu testen (also nicht in einer Smart Rule)
-- denk dran wieder das wieder # hinzuzufügen bevor das Skript in einer Smart Rule genutzt wird
#tell application id "DNtp" to my performSmartRule(selection as list) -- nur zum testen mit ausgewählten Records
on performSmartRule(theRecords)
tell application id "DNtp"
try
repeat with thisRecord in theRecords
set theTags_CustomerID to (name of parents of thisRecord whose location starts with "/Tags/Aktenzeichen \\/ Kundennummer") -- 1
set theTags_Subject to (name of parents of thisRecord whose location starts with "/Tags/Betreff") -- 2
set theTags_Company to (name of parents of thisRecord whose location starts with "/Tags/Firma") -- 3
set theTags_Name to (name of parents of thisRecord whose location starts with "/Tags/Name") -- 4
if theTags_CustomerID = {} then set theTags_CustomerID to {thePlaceholder_CustomerID}
if theTags_Subject = {} then set theTags_Subject to {thePlaceholder_Subject}
if theTags_Name = {} then set theTags_Name to {thePlaceholder_Name}
if isPrivate = false then
if theTags_Company = {} then
set theTags_Company to (name of parents of thisRecord whose location starts with "/Tags/Finanzamt") -- Fallback 1
if theTags_Company = {} then
set theTags_Company to (name of parents of thisRecord whose location starts with "/Tags/Krankenkasse") -- Fallback 2
if theTags_Company = {} then
set theTags_Company to (name of parents of thisRecord whose location starts with "/Tags/Banken") -- Fallback 3
if theTags_Company = {} then
set theTags_Company to {thePlaceholder_Company}
end if
end if
end if
end if
set newName to my tid(theTags_Company, "; ") & theSeparator & my tid(theTags_Name, "; ") & theSeparator & my tid(theTags_Subject, "; ")
else
set newName to my tid(theTags_Name, "; ") & theSeparator & my tid(theTags_Subject, "; ") & theSeparator & my tid(theTags_CustomerID, "; ")
end if
set name of thisRecord to newName
if removeTags = true then
set thisRecord_Tags to tags of thisRecord
set newTags to my removeItemsFromList(thisRecord_Tags, (theTags_CustomerID & theTags_Subject & theTags_Company & theTags_Name))
set tags of thisRecord to newTags
end if
end repeat
on error error_message number error_number
if the error_number is not -128 then display alert "DEVONthink" message error_message as warning
return
end try
end tell
end performSmartRule
on tid(theInput, theDelimiter)
set d to AppleScript's text item delimiters
set AppleScript's text item delimiters to theDelimiter
if class of theInput = text then
set theOutput to text items of theInput
else if class of theInput = list then
set theOutput to theInput as text
end if
set AppleScript's text item delimiters to d
return theOutput
end tid
on removeItemsFromList(theList, removeItems)
set newList to {}
repeat with thisItem in theList
set thisItem to thisItem as string
if thisItem is not in removeItems then
set end of newList to thisItem
end if
end repeat
return newList
end removeItemsFromList
Ich hab in dem script ja 4 Datenbanken angelegt die für das Taggen durchsucht werden, unten stehen im Brief immer: zuständiges Gericht, bankverbindung Sparkasse, Bankverbindung Volksbank etc. und das sorgt immer für falsche Tags
Hier mal so eine Beispielfußzeile eines Briefes:
Das ist jetzt die Fußzeile für die DEW21 in Dortmund eines Energieversorgers.
Das geht noch viel schlimmer.
Der automatische Poststempel mancher Betriebe wird auch manchmal erkannt als Tag der Deutsche Post Obwohl das kein Brief der Deutschen Post ist, und der befindet sich meistens oben im Briefkopf.
Bei den Arztbriefen erkennt er die Krankenkasse und Tagt diese weil die dort angegeben ist.
Im Kontoauszug Tagt er auch alles,
Und das versuch ich zu vermeiden.
Ich hatte mal alles voller Tags, das verlangsamte die Suche immens.
Jetzt versuche ich die Rechenleistung des Rechners niedrig zu halten in dem ich nur die Tags tagge die ich für diese Briefe sinvoll halte, das klappt ganz gut.
Ist zwar anfangs viel Arbeit, aber es lohnt sich. Nur ist es immer Mühsehlig die ganzen Tags zu löschen die man nicht in dem Dokument braucht. Vielleicht haben sie da eine lösung, denn wenn diese Tags nicht währen währe das eine wirkliche Erleichterung