Tag mit "/" wird getrennt gespeichert

Hallo zusammen,
ein neues Problem das heute Abend plötzlich bei mir auftritt:
Lege ich ein neues Tag zu einem Dokument an, das z.B. so aussieht: “X 23/21” dann macht DT3 nun plötzlich “X 23” und “21” daraus.
Zunächst sieht es in der Tagzeile unter dem Dokument ganz normal aus, und wenn man dann auf das nächste Dokument übergeht, wird das Tag zerrissen.
Woran kann das liegen?
Aktuellste Version, aber meiner Ansicht nach auch schon vor einigen Tagen geupdatet, und seit dem, bis gerade eben, problemlos genutzt!

Die Änderung kam mit Version 3.6.2. Es geht um das “nested tagging”, also verschachtelte tags. Als Trennzeichen zwischen den Ebenen gibt man einen Schrägstrich (slash) ein (eine Notation wie bei Dateipfaden).

Aus “X23/21” werden dann nicht einfach zwei tags, sondern der tag “X23” mit dem Unter-tag “21”.

Im (englischsprachigen) Handbuch wird es auf S. 16 erklärt.

Mit Zeichen wie Schrägstrichen, Stern oder Doppelpunkt sollte man bei Benennungen grundsätzlich sehr vorsichtig sein.

Ob Ihnen das Update sämtliche tags mit Schrägstrich in verschachtelte tags umbenannt hat oder das nur beim Eingeben neuer Tags passiert, weiß ich nicht, aber das können Sie ja nachsehen.

Falls alles geändert wurde, müssten Sie sich überlegen, ob Sie mit der neuen, verschachtelten Struktur ebenfalls arbeiten können. Oder wenn nicht, müssten Sie sich eine andere Notation, z. B. “X32-21”, überlegen. Und dann müssten entweder Sie alles per Hand ändern oder, bei sehr vielen Dokumenten, müsste ein Skript das erledigen …

1 Like

Die Änderung betrifft nur neu eingegebene Tags. Falls aber bereits ein Tag mit einem Schrägstrich existiert, wird dieser auch weiterhin verwendet und keine neuen angelegt. Ein möglicher Workaround wäre also, den Tag zunächst manuell anzulegen.

1 Like

Die Version 3.6.2 wurde meines Wissens nach bereits Anfang Februar veröffentlicht, und hier installiert.
Die aktuelle Version 3.6.3 ist auch schon wieder fast einen Monat alt.
Noch am Freitag habe ich problemlos die Tags nach dem Muster “X23/21” direkt beim Dokument eingeben können, Gestern geht es plötzlich nicht mehr. Wie kommt es, dass diese Funktion mit so einer Verspätung hier zu buche schlägt, wenn ich automatische Updates aktiviert habe, und die tägliche Suche danach?

Zu dem Problem selber:
Vor Devonthink habe ich alle Dokumente in einer sauberen Ordnerstruktur im Finder gehabt. Das war etwas Arbeit das auf Stand zu halten, aber es hat gut funktioniert, und man hat alles leicht gefunden.
Mit Devonthink kam dann das Chaos in den Finder, und es wurde damals als ganz toll verkauft, dass man nun keine Ordnerstrukturen mehr benötigt, sondern die Dateien völlig wild verteilt auf der Festplatte liegen.
Nun wird, offenbar weil viel dies nicht mochten die Ordnerstruktur quasi wieder eingeführt, aber nur als Tags, die dann auch nur von DT verstanden zu werden scheinen, aber im Finder nicht hilfreich zu sein scheinen.
Die nested Tags sind also ein Heilmittel, für die bisherige Philosophie, warum man dann nicht einfach hingeht, und tatsächlich die DT-Dateien in eine vernünftige, auch von anderen Programmen nutzbare, Ordnerstruktur bringt, ist mir schleierhaft!?
Das man dann aber plötzlich nicht mehr mit “/” arbeiten können soll, ist ein echter Fehler der (amerikanischen?) Programmierer!
Es gibt zumindest in Deutschland eine lange Tradition in Behörden- und Gerichtsakten die Aktenzeichen mit der von mir genannten Struktur zu benennen. “/21” bedeutet dabei “aus 21” oder “aus dem Jahr 2021”.
Andere Apps, wie z.B. Evernote, die “nested tagging” schon seit bald 10 Jahren nutzen, weil sie aufgrund des Aufbaus der App keine Ordnerstrukturen nutzen können, kann dies selbstverständlich völlig Problemlos.

Hier muss DT dringendsten nachbessern, um die App auch für Leute weiter nutzbar zu halten, die mit solchen Akten hantieren müssen.
Ein Umweg über das Anlegen des Tags, und dann erst die Eingabe beim Dokument ist aufgrund des erheblichen zusätzlichen Zeitaufwandes völlig indiskutabel!
Also, entweder wird für dieses “nesting” hier ein besonders Zeichen eingeführt (z.B. “////” oder “/*” o.ä.) oder die Funktion wird abschaltbar gemacht.
Übrigens, sauber programmierte Programme können im 21. Jahrhundert problemlos unterscheiden ob “Zeichen wie Schrägstriche, Stern oder Doppelpunkt” Teil der Bezeichnung sind, oder aber eine Dateiendung darstellen sollen! Warum kann DT das nicht?

Was hat DEVONthink mit irgendeinem “Chaos im Finder” zu tun? Dateien in DEVONthink sind in den Datenbanken, und wenn sie vorher aus dem Finder importiert worden sind, dann sind die Originale da immer noch.

Außerdem gibt es in DEVONthink von jeher Gruppen, die man wie Ordner im Finder nutzen kann. Ob man lieber Gruppen oder tags verwendet oder beides, liegt am Verwendungszweck und an den eigenen Vorlieben.

Es ist ein neues Feature, um ein nested tag direkt beim ersten Eingeben anlegen zu können und nicht erst im tag-Baum erstellen zu müssen. Das erspart denjenigen Arbeit, die nested tags verwenden. Sie dagegen stört es.

Wir reden hier nicht über Papierakten, sondern über elektronische Datenverarbeitung.

Sie sollten über einen Plattformwechsel nachdenken, denn macOS lässt zum Beispiel keine Dateinamen mit Doppelpunkt zu. Aber verhalten sich Windows oder Linux wirklich anders?

Es ist ziemlich einfach: Wenn man Dateipfade als Text darstellen will – und das muss man, wie sollte man sie sonst in Programmcode erfassen? –, muss es Trennzeichen geben, um den Pfad zu strukturieren. Diese Trennzeichen dürfen nicht Teil der Ordner- und Dateinamen sein, denn wie sollte das unterschieden werden?

Um programm- und plattformübergreifend auf der sicheren Seite zu sein, sollte man bei Dateinamen und Metadaten wie tags daher auf manche Zeichen besser verzichten. Beispiel: DEVONthink unterscheidet bei tags Groß- und Kleinschreibung und erlaubt auch Leerzeichen. Andere Programme tun das nicht. In macOS ist Groß- und Kleinschreibung zwar erlaubt, wird aber nicht unterschieden, also “test” = “Test”.

Oder (und damit ist Ihr entweder – oder kaputt) es bleibt, wie es jetzt ist. Dazu kann sich aber nur der “amerikanische” Programmierer äußern.

2 Likes

@suavito
Welche Plattform ich für irgendwas benutze, dass dürfen Sie schon mir überlassen! Darüber hinaus geht es hier um Tags, und keine Dateinamen, und ein Produkt das bisher wie beim Kauf vereinbart funktioniert hat, und dies nun nach einer plötzlichen Änderung nicht mehr tut!
Ich habe hier für ein Produkt teuer bezahlt, und möchte dies auch so nutzen, wie ich es gekauft habe!
Was das Ganze mit “Papierakten” zu tun haben soll, erschließt sich mir nicht, aber es macht deutlich, dass Sie das Problem nicht verstanden haben!
Die Aktenzeichen bleiben natürlich auch in der elektronischen Datenverarbeitung erhalte, und sind hier wichtiger als vorher!
Die Dokumente bei Devonthink werden im Übrigen nicht in irgendwelchen Datenbanken abgelegt, sondern die liegen wie alle Dateien und Dokumente auf einem Mac in (in dem Fall chaotischen) Ordnern im Finder! Die “Datenbanken” enthalten im Grunde lediglich die Links auf diese Dateien, und der Order ist nach dem Namen der Datenbank benannt, das ist aber auch schon alles! Das Ganze ist dann als Programmpaket verkleidet. Die Daten sind im Finder über den Paketinhalt, oder die Suche, problemlos aufzufinden, aber eben in keiner (für mich) nachvollziehbaren Struktur innerhalb diese Paketes abgelegt. Und das wurde bisher auch als ganz großes Feature hier verkauft…!
Andere Anbieter arbeiten ebenfalls mit nested tags, aber offenkundig ohne diese Probleme. Das DT nun den “/” als Trennzeichen nutzt, ist offenbar völlig willkürlich gewählt, und dabei eben nicht für die Kundschaft in Deutschland (und vermutlich auch anderen Ländern!?) durchdacht worden.

Entweder das wird insgesamt wieder abgeschafft, es ist abschaltbar, oder der Nutzer kann wenigstens das für ihn am besten geeignete Trennzeichen frei wählen.

Ansonsten hat das Produkt nicht mehr die ursprünglichen vertragsgemäßen Eigenschaften, und man müsste sich dann über die rechtlichen Konsequenzen hieraus Gedanken machen.

Klar, wenn Sie beim Kauf mit DEVONtech eine Individualvereinbarung über die Eigenschaften der Software geschlossen haben, dann ist der Rest von uns natürlich raus; vielleicht wäre es dann am Günstigsten, sich direkt mit der entsprechenden Abteilung bei DEVONtech in Verbindung setzen.

Ich denke das wird dann auch einfacher sein als z.B. ein eigenes Metadatenfeld für Aktenzeichen anzulegen oder das Aktenzeichen als Finderkommentar über den Inspektor zu hinterlegen.

Das ist nicht der Fall.

Na, da kann ich, und andere betroffene zahlende Nutzer, ja glücklich sein, dass dies zur Durchsetzung etwaiger Ansprüche aus diesem plötzlichen, und unerwarteten, Mangel nach dem deutschen Zivilrecht, und der Nutzervereinbarung von DT, nicht notwendig ist!

@Ulli nach diesem Post steig ich aus, weil ich nicht glaube Ihnen persönlich mit dem eigentlichen Problem helfen zu können. Ich möchte davor aber gerne berichten, dass ich sehr positive Erfahrungen mit DEVONtech gemacht habe - Nutzervorschläge werden aus meiner Sicht häufig, und häufig schnell umgesetzt. Und das ganz ohne Drohung oder Zwang. Ich habe - wie viele andere Nutzer - bislang einfach nur meinen Usecase beschrieben, sowie warum ich glaube, dass eine Änderung sinnvoll ist. Dabei muss ich mich nicht auf mein Wissen zum Thema Recht verlassen, weil ich gar keinen Druck aufbauen möchte. Wer entspannt arbeitet, arbeitet nach meiner Erfahrung besser; und während ein freundliches nachfragen oft ganz schnell bearbeitet wird, dauert ein Rechtsstreit mitunter Jahre; das Problem besteht in der Zwischenzeit dann fort.

Ich habe in der Vergangenheit mehrere Änderung, die ich vorgeschlagen hatte, nur kurze Zeit später umgesetzt gesehen. Ich glaube also, dass mein Vorgehen erfolgreich ist.

Sie haben sicher nochmal die Möglichkeit hier emotionslos Ihren Usecase zu beschrieben, zu umschreiben, warum es für Sie nicht in Frage kommt, das Aktenzeichen entweder in den selbst erstellten Metadaten oder als Tag mit einem Ersatzsymbol abzulegen.

4 Likes

Dieses Smart Rule Skript könnte helfen. Es

  • vergibt z.B. den Tag X 23/21 und
  • entfernt alle leeren Tags der Datenbank

Mit property deleteEmptyTags kann gesteuert werden ob leere Tags direkt gelöscht oder nur in den Papierkorb verschoben werden. Direkt gelöschte Tags können nicht wiederhergestellt werden.

Nutzung erfolgt auf eigene Gefahr.

Bitte gründlich testen bevor es in der Praxis zum Einsatz kommen würde.

Dazu bitte:

  • eine neue Test-Datenbank anlegen

  • einige Records dorthin duplizieren
    Vorsicht: Keine indizierten Records duplizieren, nur importierte.

  • eine Smart Rule anlegen

    • Suchen in: der neuen Test-Datenbank
    • Bedingungen: Art ist Beliebiges Dokument
    • Folgende Aktionen ausführen: Nach Tagging
    • Skript ausführen: Eingebettet
    • “Skript bearbeiten” klicken und Skript einfügen

    1

-- Smart Rule: Replace nested Tags

property deleteEmptyTags : false -- immediately delete empty tags instead of moving them to the trash. deleting can not be undone

on run
	tell application id "DNtp" to my performSmartRule(selection as list)
end run

on performSmartRule(theRecords)
	tell application id "DNtp"
		try
			repeat with thisRecord in theRecords
				set theDatabase to database of thisRecord
				set theTags to (parents of thisRecord whose location starts with "/Tags/")
				
				set theTagNames_unnested to {}
				
				repeat with thisTag in theTags
					set thisTag_Name to name of thisTag
					set thisTag_Location to location of thisTag
					if thisTag_Location ≠ "/Tags/" then
						set thisTag_Name_unnested to (characters 7 thru -1 in thisTag_Location as string) & thisTag_Name
						create location "/Tags/" & my escapeSlash(thisTag_Name_unnested) in theDatabase
						set end of theTagNames_unnested to thisTag_Name_unnested
					else
						set end of theTagNames_unnested to thisTag_Name
					end if
				end repeat
				
				if (tags of thisRecord) ≠ theTagNames_unnested then
					set tags of thisRecord to theTagNames_unnested
					set theEmptyTags to search "kind:tag size:0" in theDatabase
					repeat with thisEmptyTag in theEmptyTags
						if (children of thisEmptyTag whose location does not start with "/Tags/") = {} then
							if deleteEmptyTags = true then
								try
									delete record thisEmptyTag
								end try
							else
								move record thisEmptyTag to trash group of theDatabase
							end if
						end if
					end repeat
				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 escapeSlash(theText)
	set d to AppleScript's text item delimiters
	set AppleScript's text item delimiters to "/"
	set theTextItems to every text item of theText
	set AppleScript's text item delimiters to "\\/"
	set theText_escaped to theTextItems as string
	set AppleScript's text item delimiters to d
	return theText_escaped
end escapeSlash

3 Likes