STrojette
Returning Observer

Content-Referenz präziser finden/lokalisieren

Jump to solution

Hallo zusammen!

wir haben aktuell das Problem, dass wir eine Seite löschen wollen die jedoch noch irgendwo in einem der Globalen Content referenziert wird.

Das Problem:

FirstSpirit nennt uns nur die ID und den Namen des GC, dieser besteht aber aus ca einem Dutzend Links und das ganze auch noch für ca zwei Dutzend Sprachkanäle.

Ich bin inzwischen zweimal händisch durch alle Links durchgegangen und konnte nirgends eine Referenz auf die Seite entdecken!?

Es muss doch einen Weg geben die Referenz stäker zu lokalisieren/einzugrenzen?!

Der/Die Sprachkanäle würden ja schon helfen.

Aber noch besser wäre natürlich auch die ID oder zumindest irgendeine weitere Info der Referenz selbst.

Hat hier jemand eine schlaue Idee?

0 Kudos
1 Solution

Accepted Solutions
hoebbel
Crownpeak employee

Hallo STrojette,

wenn es nur um den einen Fall geht, würde ich es so machen (ich gehe davon aus, dass die GCA sehr viel Content hat)
Beanshell Konsole auf der GCA öffnen (oder diese über ein Skript laden, dann im folgenden Aufruf e durch das Objekt der GCA ersetzen)

In der Konsole "e.getData();" eingeben (ja, ist deprecated, hat aber den Vorteil, dass man die gesamte Persistenz des Knotens bekommt (alle Sprachen, alle Eingabekomponenten)

Das resultierende XML kopieren und in einem Texteditor den String "</CMS_VALUE><CMS_VALUE" so ersetzen, dass ein Zeilenumbruch zwischen den beiden Tags steht. (Jede Zeile also anschließend mit <CMS_VALUE beginnt)

Nach dem referenzierten UID suchen. Das sollt ein irgendeinem Attribut stehen. Am Anfang der Zeile steht nun die Eingabekomponente, in der es steht <CMS_VALUE name="<Eingabekomponetenname>"
Wenn Du von der gefundenen UID im XML nach links gehst, findest Du irgendwann einen lang="..." Knoten. Da steht die Sprache drin, in der die Referenz gepflegt ist.

Im Idealfall kannst Du nun die Referenz in der Eingabekomponente finden. Es kann aber sein, dass Du geschachtelte Eingabekomponenten hast (z.B. FS_CATALOG) - dann musst Du die Zeilen nach oben durchgehen, bis zu eine Eingabekomponente findest, die es auf dem Seite/dem Absatz gibt.

Wenn es dumm läuft, kann es aber sein, dass die Referenz in der GUI gar nicht sichtbar ist - das passiert dann, wenn eine sprachabhängige geschachtelte Eingabekomponente sprachabhängige Inhalte hat. Wenn eine FS_CATALOG in DE einen Absatz hat, in dessen sprachabhängiger Eingabekomponente in EN etwas gepflegt ist, ist der Inhalt in der GUI nicht sichtbar. Um diese Inhalte loszuwerden, wende dich bitte an den TechSupport (der einfachste Weg dazu wäre die Benutzung eines Backend Tools, dessen nicht korrekter Einsatz in komplettem Datenverlust enden kann)

Viele Grüße
Holger

View solution in original post

2 Replies
hoebbel
Crownpeak employee

Hallo STrojette,

wenn es nur um den einen Fall geht, würde ich es so machen (ich gehe davon aus, dass die GCA sehr viel Content hat)
Beanshell Konsole auf der GCA öffnen (oder diese über ein Skript laden, dann im folgenden Aufruf e durch das Objekt der GCA ersetzen)

In der Konsole "e.getData();" eingeben (ja, ist deprecated, hat aber den Vorteil, dass man die gesamte Persistenz des Knotens bekommt (alle Sprachen, alle Eingabekomponenten)

Das resultierende XML kopieren und in einem Texteditor den String "</CMS_VALUE><CMS_VALUE" so ersetzen, dass ein Zeilenumbruch zwischen den beiden Tags steht. (Jede Zeile also anschließend mit <CMS_VALUE beginnt)

Nach dem referenzierten UID suchen. Das sollt ein irgendeinem Attribut stehen. Am Anfang der Zeile steht nun die Eingabekomponente, in der es steht <CMS_VALUE name="<Eingabekomponetenname>"
Wenn Du von der gefundenen UID im XML nach links gehst, findest Du irgendwann einen lang="..." Knoten. Da steht die Sprache drin, in der die Referenz gepflegt ist.

Im Idealfall kannst Du nun die Referenz in der Eingabekomponente finden. Es kann aber sein, dass Du geschachtelte Eingabekomponenten hast (z.B. FS_CATALOG) - dann musst Du die Zeilen nach oben durchgehen, bis zu eine Eingabekomponente findest, die es auf dem Seite/dem Absatz gibt.

Wenn es dumm läuft, kann es aber sein, dass die Referenz in der GUI gar nicht sichtbar ist - das passiert dann, wenn eine sprachabhängige geschachtelte Eingabekomponente sprachabhängige Inhalte hat. Wenn eine FS_CATALOG in DE einen Absatz hat, in dessen sprachabhängiger Eingabekomponente in EN etwas gepflegt ist, ist der Inhalt in der GUI nicht sichtbar. Um diese Inhalte loszuwerden, wende dich bitte an den TechSupport (der einfachste Weg dazu wäre die Benutzung eines Backend Tools, dessen nicht korrekter Einsatz in komplettem Datenverlust enden kann)

Viele Grüße
Holger

YES!

Das hat uns endlich das Problem aufgezeigt!

Wir hatten unterhalb eines Sprachabhängigen Content einen Catalog dessen Einträge aus mir nicht ersichtlichen Gründen nochmals als Sprachabhängig definiert waren!

Diese zusätzlichen Daten werden aber im SiteArchitect so überhaupt nicht mehr angezeigt und waren dementsprechend komplett unsichtbar.

Richtig mieses der Fall.

Jetzt wissen wir's aber wenigstens und können es bereinigen.

Nochmals vielen herzlichen Dank für den Tipp!

0 Kudos