Search the FirstSpirit Knowledge Base
Hallo Community,
wir haben 2 Ausgabekanäle und die Verlinkung mit $CMS_REF(...)$ erfolgt immer nach dem ersten Ausgabekanal. Wir würden nun gerne die Verlinkung derart anpassen, dass auf den zweiten Ausgabekanal verlinkt wird, sobald dort eine Seite komplett generiert wird, also nicht per "stopGenerate" abgebrochen. Ich habe verstanden, dass eine URL für den Ausgabekanal immer existiert, egal ob diese generiert wird oder nicht, siehe:
https://community.e-spirit.com/message/20951
Da wir einen eigenen UrlCreator verwenden, haben wir die URL-Erzeugung unter eigener Kontrolle. Kann ich erkennen, ob eine Seite vollständig generiert wird, oder per "stopGenerate" abgebrochen wird? Für den zweiten Fall könnte ich dann in den UrlProperties bspw. "<none>" speichern, auf das ber der Verlinkung reagiert werden kann.
Mit freundlichem Gruß
Thorben Hischke
Da es keinerlei Einschränkung gibt, wann ein "stopGenerate" durchgeführt werden kann, gibt es auch leider keine Möglichkeit, das im Vorhinein zu erkennen.
Okay, dann habe ich also ...
Ich könnte mir noch vorstellen, vor der eigentlichen Vollgenerierung des gesamten Inhaltes eine Vollpublizierung des einen Ausgabekanals zu erstellen, dessen Logausgabe im Nachgang nach Generierungs-Stopps parsen und entsprechend die UrlProperties manipulieren ... klingt nicht nur irgendwie kompliziert, sondern es ist auch kompliziert und "um die Ecke gedacht" und es verlangsamt die Vollpublizierung.
Alternativ müsste man bei der Auslieferung im Tomcat/Apache entscheiden, welches Generat ausgeliefert werden soll. Das ist aber unpraktisch, da dies bei jedem Request passieren muss und aus Effizienzgründen sollte dies einmalig bei der Generierung passieren.
Für Ideen und Hinweise bin ich offen und dankbar.
Im zweiten Ausgabekanal gibt es also eine Bedingung, die entscheidet, ob die Seite für diesen Kanal generiert wird. Das CMS_REF kommt vermutlich aus einer Linkvorlage.
Beziehen sich CMS_REF und stopGenerate Bedingung dann auf den gleichen Inhalt?
Kannst Du dann die Bedingung für das stopGenarte nicht auch in der Linkvorlage verwenden und das CMS_REF entsprechenend anpassen?
Das scheint mir der geeignete Ansatz zu sein.
Gute Idee, hilft mir aber in unserem Fall leider nicht weiter. Wir wollen den zweiten Ausgabekanal als zukünftige Standardauslieferung benutzen, können aber nicht alles auf einmal umstellen, so dass wir einen Migrationspfad beschreiten müssen. Und den stellen wir uns momentan so vor, dass im zweiten Ausgabekanal erst einmal in den gesamten Seiten-, Absatz- und Format- und sonstigen Templates überall ein "stopGenerate" steht. Setzen wir das Template einer Seite mit seinen gesamten Bestandteilen komplett um, wird also die Seite für den zweiten Ausgabekanel generiert, wollen wir dieses Generat ausliefern, ansonsten das "alte" HTML.
Ich habe heute unseren UrlCreator derart angepasst, dass er für eine zu generierende Seite in allen beteiligten Templates schaut, ob dort ein "stopGenerate" steht, wenn ja, erzeuge ich eine "invalide" Url, d.h. ich verwende ein festes Schema, welches im ausliefernden Apache per Url-Matching erkannt und entsprechend behandelt werden kann.
Somit brauche ich keine Anpassungen im CMS_REF vorzunehmen, die Url-Generierung wird einmal nachts angestossen, so dass die zusätzliche Zeit verschmerzt werden kann und wenn wir weitere Tempates angepasst haben, setze ich die Urls für die Seiten zurück, die diese Templates verwenden. Ich bin (noch) zuversichtlich, dass diese Lödung für uns trägt.
Für den Anwendungsfall würde ich einen anderen Ansatz vorschlagen, und zwar den Template-Code "umzuleiten".
Also:
Somit entfällt auch die Notwendigkeit, mit "stopGenerate" zu arbeiten, weil bis zur kompletten Umstellung nur der 1. Kanal generiert wird.
Hallo Thorben,
benötigst du noch weitere Hilfe oder haben dir die bisherigen Antworten bereits geholfen? In diesem Fall wäre es super, wenn du die "richtige Antwort" entsprechend markierst.
Solltest du zwischenzeitlich eine eigene Lösung gefunden haben, wäre es nett, wenn du diese hier bereitstellst.
Viele Grüße
Michaela