Search the FirstSpirit Knowledge Base
Hallo community,
wir sind aktuell dran für FS5 über das Interface "UrlFactory" eine eigene URL-Generierung zu bauen.
Nun die Frage: Wie kommt man über das Interface UrlFactory, z.B. beim FS-Auftrag "generate partly" programmatisch an den Präfix, den man im Feld "Präfix für absolute Pfade" angeben kann?
Mit freundlichen Grüßen
Jens Albrecht
Wie Hendrik zuvor schon sagte, ist es doch für die Url Generierung essentiell.
[...]
@Peter: Einige unserer Projekte verwenden diesen Präfix aktuell in der 4.2, deshalb muss dieser Wer für die Generierung berücksichtigt werden.
Heisst das, dass der Präfix nicht in eigenen geschriebenen Url Generierungen verwendet werden soll / kann? Komme ich nur noch auf umständlichen Wege an den Wert oder habe ich irgendwo etwas falsch verstanden?
Der Präfix wird von FirstSpirit (wenn nötig) automatisch ergänzt. Anders gesagt: Mit der neuen, vereinfachten Implementierungsstruktur muss man sich nicht mehr selber um solche Details kümmern.
Es wäre gut, wenn ein konkreter Fall beschrieben würde, wo dies zu einem Problem führt. Den sehe ich bis jetzt noch nicht.
Eine andere Frage in diesem Zusammenhang: Wieso wurde neben dem UrlCreator Interface im access-Package, ein weiteres im generate-Package hinzugefügt, wenn man doch in FS5 nur noch das UrlFactory Interface verwenden soll?
Das hast du falsch verstanden. Man soll zwar das Interface nicht mehr implementieren (müssen) - Hintergrund ist, das sich gezeigt hat, das dort zuviel Logik beachtet werden muss und damit zuviel Fehlerpotential besteht.
Das Interface ist aber weiter für die Benutzung zugängig. Es war und ist ja auch Bestandteil der API, und kann daher nicht einfach entfallen, alleine aus Kompatibiltätsgründen.
Das neue "UrlCreator"-Interface wurde aus zwei Gründen eingeführt:
1) Um Nachteile in der Benutzung auszubügeln (das neue Interface unterscheidet sich minimal)
2) Die Implementierung des neuen Interfaces dient sowohl als Adapter zu der neuen HotSpot-Klasse "UrlFactory" als auch als Adapter zu alten Implementierungen (die damit weiterhin unter v5 funktionieren).
[EDIT]
Nochmal zusammenfassend (tl;dr):
Mit den neuen Strukturen in v5 wurde die Implementierung von Projekt-Spezifischen URL-Strategien vereinfacht unter Beibehaltung der maximalen Kompatibilität zu Version 4.2.
Hallo,
über das Interface UrlFactory ist das nicht möglich (anders als beim FS4 UrlCreator). Über den GenerateTask ist es aber möglich an den Präfix zu kommen.
Grüße
Jan
Hallo,
laut API soll statt des UrlCreator Interface in FS5 nun das UrlFactory Interface genutzt werden, mit diesem ist der Zugriff auf den URL Präfix also nicht mehr ohne weiteres möglich. Der Weg über den GenerateTask ist ja relativ kompliziert (ScheduleStorage beziehen, Auftrag aus ScheduleStorage auslesen, Generate Task identifizieren ...), mir kommt diese Umstellung auf die UrlFactory wie ein Rückschritt vor, der URL Präfix ist doch essentiell bei der URL Generierung (durch eine eigene UrlFactory) :smileyconfused:
Gruß,
Hendrik
Kannst du mal erläutern, wieso du innerhalb von deiner Implementierung den Zugriff auf den Pfad-Präfix brauchst?
Wie Hendrik zuvor schon sagte, ist es doch für die Url Generierung essentiell.
Über das Url Creator Interface war es doch auch möglich auf den Präfix zu zugreifen. Warum wurde das nicht in die UrlFactory überführt?
Eine andere Frage in diesem Zusammenhang: Wieso wurde neben dem UrlCreator Interface im access-Package, ein weiteres im generate-Package hinzugefügt, wenn man doch in FS5 nur noch das UrlFactory Interface verwenden soll?
@Peter: Einige unserer Projekte verwenden diesen Präfix aktuell in der 4.2, deshalb muss dieser Wer für die Generierung berücksichtigt werden.
Heisst das, dass der Präfix nicht in eigenen geschriebenen Url Generierungen verwendet werden soll / kann? Komme ich nur noch auf umständlichen Wege an den Wert oder habe ich irgendwo etwas falsch verstanden?
Gruß
Jens
Wie Hendrik zuvor schon sagte, ist es doch für die Url Generierung essentiell.
[...]
@Peter: Einige unserer Projekte verwenden diesen Präfix aktuell in der 4.2, deshalb muss dieser Wer für die Generierung berücksichtigt werden.
Heisst das, dass der Präfix nicht in eigenen geschriebenen Url Generierungen verwendet werden soll / kann? Komme ich nur noch auf umständlichen Wege an den Wert oder habe ich irgendwo etwas falsch verstanden?
Der Präfix wird von FirstSpirit (wenn nötig) automatisch ergänzt. Anders gesagt: Mit der neuen, vereinfachten Implementierungsstruktur muss man sich nicht mehr selber um solche Details kümmern.
Es wäre gut, wenn ein konkreter Fall beschrieben würde, wo dies zu einem Problem führt. Den sehe ich bis jetzt noch nicht.
Eine andere Frage in diesem Zusammenhang: Wieso wurde neben dem UrlCreator Interface im access-Package, ein weiteres im generate-Package hinzugefügt, wenn man doch in FS5 nur noch das UrlFactory Interface verwenden soll?
Das hast du falsch verstanden. Man soll zwar das Interface nicht mehr implementieren (müssen) - Hintergrund ist, das sich gezeigt hat, das dort zuviel Logik beachtet werden muss und damit zuviel Fehlerpotential besteht.
Das Interface ist aber weiter für die Benutzung zugängig. Es war und ist ja auch Bestandteil der API, und kann daher nicht einfach entfallen, alleine aus Kompatibiltätsgründen.
Das neue "UrlCreator"-Interface wurde aus zwei Gründen eingeführt:
1) Um Nachteile in der Benutzung auszubügeln (das neue Interface unterscheidet sich minimal)
2) Die Implementierung des neuen Interfaces dient sowohl als Adapter zu der neuen HotSpot-Klasse "UrlFactory" als auch als Adapter zu alten Implementierungen (die damit weiterhin unter v5 funktionieren).
[EDIT]
Nochmal zusammenfassend (tl;dr):
Mit den neuen Strukturen in v5 wurde die Implementierung von Projekt-Spezifischen URL-Strategien vereinfacht unter Beibehaltung der maximalen Kompatibilität zu Version 4.2.
Hallo Jens,
habe die Antworten die weitergeholfen?
Viele Grüße
Thorsten
Ja, Antworten haben geholfen. Problem gelöst.
VG
Jens