Hashtag umbenennen
Moin!
Ich habe in meiner DB viele POIs mit Hashtags versehen. Manche haben nur einen, andere mehrere Hashtags, z.B.:
POI1: #A
POI2: #B
POI3: #A #B
POI4: #A #B #C
Ich möchte nun den Hashtag #B in #D umbenennen – aber natürlich so, dass die anderen Hashtags unverändert erhalten bleiben.
Wie mache ich das?
Beste Grüße,
Martin
Innerhalb von TD sind alle Hashtags nur "transient" vorhanden. Es gibt also keine Datenbanktabelle die ausschließlich Hashtags enthält. Ein Hashtag ist letztlich nur ein "Schlagwort" das mit dem englischen "Hash", als oder Raute # beginnt und keine Leerzeichen enthält. Ist ein Tracks, Routen und POIs haben in der Datenbank eine Eigenschaft des Typs "Text". Dort werden die zugewiesenen Schlagworte/Hashtags als Liste abgelegt, die mit Leerzeichen voneinander getrennt sind.
Bei einer Route könnte das beispielsweise so aussehen:
#Frankreich #2024 #TourMitHerbert #RDGA
Allein dadurch, dass diese vier Hashtags verwendet wurden, existieren sie "transient" zur Laufzeit der Anwendung. Wird ein Dialog geöffnet der Hashtags anzeigen kann, werden zuvor alle Elemente innerhalb der Datenbank "abgegrast" um alle Hashtags zu ermitteln. Dabei wird eine eindeutige Schnittmenge ermittelt. In SQL gesprochen ist es ein "distinct". Haben also 100 Routen das Schlagwort #Frankreich, taucht es in der Liste der verfügbaren (transienten) Hashtags nur einmal auf!!
Weil Hashtags transient sind, kann man sie auch nicht wirklich umbenennen und löschen. Han man beispielsweise einen Hashtag #Quatsch gemeinsam mit anderen Hashtags an bspw. 100 Routen, 200 Tracks und 500 POIs verwendet und möchte ihn komplett loswerden, müssen alle Routen, Tracks und POIs geändert werden. Es sind dann also 800 Updates innerhalb der Datenbank erforderlich! Man muss aber beachten, das Tracks und Routen als GPX-Dateien separat auf der Festplatte gespeichert werden und in der Datenbank nur über einen Pfad referenziert werden. In diesem Beispiel müssten also maximal 300 GPX-Dateien (100 Routen und 200 Tracks) importiert, geändert und wieder gespeichert werden. Das würde unglaublich lange dauert und ist daher nicht praxisgerecht.
Werden Hashtags von Tracks und Routen in der Datenbank geändert, werden die zugehörigen GPX-Dateien also zunächst nicht aktualisiert. Dies erfolgt erst, wenn die Tracks oder Routen aus der Datenbank importiert werden. Dann werden die jeweiligen Hashtags in die "Viewmodels" der Tracks und Routen aufgenommen. Bei der Anzeige der Tracks und Routen tauchen sie dann auf und werden dem Hashtag-Autofilter hinzugefügt.
Speichert man danach alles wieder in der Datenbank und überschreibt dabei die vorhandenen Tracks und Routen, sind die Hashtags auch in den referenzierten GPX-Dateien enthalten. Es ist letztlich ein überaus komplexes Konstrukt. Aber es ist trotz aller Herausforderungen der einzige Weg, um ein "Ordnungskriterium" für Tracks und Routen via GPX-Datei an andere Nutzer weiterzugeben zu können. Im Vergleich können die Ordnerstrukturen aus BaseCamp niemals mit anderen Nutzern geteilt werden. Sie sind immer nur auf einem Computer vorhanden. Wer mit mehreren Installation von BaseCamp auf mehreren privaten Computern arbeitet, wird seine Ordnerstrukturen nur mit großer Mühe konsistent halten können.
Will man einen Hashtag umbenennen, ist also immer die Frage, an welchen Elementen man ihn umbenennen will. Daher gibt es im Dialog für die Verwaltung der Hashtags ans Tracks und Routen die Möglichkeit nur ein "selektiertes" oder "alle Elemente" aktualisieren. Außerdem gibt es eine "Tabula Rasa"-Funktion die einen Hashtag wirklich überall sucht und ändert. Diese sollte man nur mit allergrößter Umsicht verwenden!!
Zurück zum Beispiel: #Frankreich #2024 #TourMitHerbert #RDGA
- Will man #TourMitHerbert löschen, kann man diese bei einem selektierten Element tun. Der Hashtag bleibt an anderen Elementen weiterhin vorhanden.
- Ändert man #TourMitHerbert nach #TourMitAllenKumpels an einer Route und aktualisiert nur diese Route, taucht danach ein neuer transienter Hashtag zusätzlich auf: #TourMitAllenKumpels
- Gibt es nur ein Route mit dem Hashtag #TourMitHerbert, ist dieser Hashtag nach dem Umbenennen WEG! Warum? Weil er transient ist!!
- Gibt es mehr als eine Route mit dem Hashtag #TourMitHerbert und wurde nur eine Route geändert, gibt es danach #TourMitHerbert UND #TourMitAllenKumpels
- Gibt es bspw. 10 Routen die #TourMitHerbert verwenden und ändert man alle diese 10 Routen (Funktion: Alle ändern), ist danach #TourMitHerbert WEG und es gibt stattdessen #TourMitAllenKumpels
Ok, nicht verstanden? Kein Thema, Du bist nicht allein :-)
Doch, das habe ich verstanden. Sogar alles :-)
Unabhängig von der technischen Implementierung (Speicherung der Hashtags in Textfeldern an den Objekten versus in einer eigenen Tabelle) gibt es aktuell in TD keine Funktion, mit der ich ein Hashtag umbenennen kann, das in Kombination mit unterschiedlichen weiteren Hashtags vorkommt. Das, was ich mit dem Beispiel #A #B #C angefragt hatte, funktioniert nicht.
Man sollte sich daher die Namen seiner Hashtags im Vorwege gut überlegen, denn eine nachträgliche Umbenennung führt -je nach Komplexität der verwendeten Hashtags- zu erheblichem manuellen Aufwand.
Gut, das du das so detailliert erläutert hast. Ich hatte noch einige weitere Fragen zu Hashtags, die haben sich damit alle erübrigt.
Hallo Martin,
ich hatte das gleiche Problem. Wie das 'Umbenennen' aus dem Bereich 'Hashtag verwalten' funktioniert habe ich nicht recht verstanden ;-(
Ich konnte das Problem aber wie folgt lösen:
Man kann ja auf Smart-Ordner umschalten und dann werden die Hashtags als Ordner-Name angezeigt. Diesen Ordnernamen kann man dann ändern und somit auch den Hashtag.
Gruß
Chris