- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Probleme mit URLFactory
Hallo zusammen,
ich habe einen eigenen URLCreator geschrieben, indem ich die URLFactory aus dem FS-5 Beispiel minimal abgeรคndert habe.
Es wird nach wie vor der Display Name fรผr die Namen von Verzeichnissen und Dateien verwendet und ich setze diese lediglich als lowercase und ersetze Umlaute und ร entsprechend.
Anfangs hat das auch wunderbar funktioniert, doch jetzt stelle ich fest, das manche als Startseite deklarierte Seiten nicht mehr automatisch index.html, sondern index-2.html genannt werden. Im Code finde ich aber echt keine Stelle an der das passieren kรถnnte. Genauso ein Verhalten habe ich bei normalen Inhaltsseiten. Hier gibt es in der Struktur eine Seite mit Displayname Bildergalerie, der ja dann bei der Generierung zu einer Datei bildergalerie.html werden sollte. Leider wird seit einiger Zeit immer nur eine Datei mit Namen bildergalerie-3.html generiert.
Ich habe auch schon mehrmal die Funktion gespeicherte URLs zurรผcksetzen durchgefรผhrt, doch es รคndert sich nichts.
Hat hier jemand eine Idee, was wir noch machen kรถnnten?
Grรผรe,
Stefan
- Labels:
-
Developers
- Tags:
- url_creation
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Stefan Zรผlch schrieb:
Hm, also ich habe direkt vor der Generierung due URLs im CMS zurรผckgesetzt. Das Logfile zeigt aber nichts an. Alles sehr mysteriรถs.
Wenn weder die Meldung von FirstSpirit noch deine eigenen Debug-Meldungen erscheinen, dann kรถnnen die Werte nur aus der Persistenz kommen. Lege mal eine komplett neue Seite an und generiere die, um sicherzustellen, das deine Log-Ausgaben tatsรคchlich kommen.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ich bekomme jetzt in den Logs entsprechende Warnings, z.B.:
WARN 02.09.2013 15:19:26.375{g-node=6836} (de.espirit.firstspirit.generate.path.RegistryUrlFactory): URI conflict detected for SSNodeEntry-12611-3999-DE-, unified URI: /verantwortung-erleben/index-2.html [SSNodeEntry-7213-3999-DE-]
So wie es aussieht klappt wirklich die Zurรผcksetzung der gespeicherten URLs nicht. Herr Holst, kรถnnen Sie mir, das von Ihnen angesprochene Skript schicken? Wird es hier auch mal ein Bugfix von e-Spririt geben?
Viele Grรผรe,
Stefan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Stefan,
anbei das Skript um die gespeicherten URLs gelรถschter Elemente zurรผckzusetzen. Das Skript muss mit einem Benutzer mit รnderungsrechten an den URL-Einstellungen der globalen Inhalte auf jeweils einem Knoten in der Medienverwaltung und Strukturverwaltung ausgefรผhrt werden. Das Skript wurde mir ursprรผnglich vom Helpdesk zur Verfรผgung gestellt, ich habe es leicht angepasst. Es besteht unter der ID #7524 ein Ticket, das Problem ist bekannt und soll mit dem kommendem Release Ende September ausgerollt werden wenn ich richtig informiert bin.
Beste Grรผรe,
Hendrik Holst
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Hendrik,
vielen Dank fรผr das Skript. Ich habe jetzt bei der Ausfรผhrung jetzt nur noch das Problem, dass FS in Zeile 7 nicht weiร, was diese Variable e ist. Fehlt da evtl. noch eine Zeile?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Stefan,
e ist das Element auf welchem das Skript per Kontextmenรผ im JavaClient ausgefรผhrt wird. Man kรถnnte auch context.getStoreElement() verwenden, das sollte keinen Unterschied machen. Das Skript kann in dieser Form nur รผber das Kontextmenรผ auf einem Element in der Medien bzw. Strukturverwaltung ausgefรผhrt werden, wer das Skript auf dem Server oder รผber das normale Menรผ ausfรผhren mรถchte muss das Skript so anpassen, das der Medien- bzw. Struktur-Store bezogen wird..
Am einfachsten geht man mit dem Benutzer Admin wie folgt vor:
1.) Java Console leeren (Falls die nicht angezeigt wird unter Start-> Einstellungen -> Systemsteuerung -> Java -> Tab Erweitert, Java Konsole einblenden aktivieren, Client erneut starten)
2.) BeanShell auf dem Wurzelverzeichniss der Medien- sowie Strukturverwaltung รผber das Kontextmenรผ "Skript ausfรผhren -> Developer Skripts -> BeanShell Console" aufrufen
2.) in der BeanShell den Befehl "editor();" ausfรผhren, es sollte sich ein weiteres Fenster รถffnen.
3.) den Inhalt des Skriptes in das neue Fenster (Editor) einfรผgen, anschlieรend das Skript mit der Schaltflรคche "Eval" ausfรผhren
4.) Log Ausgaben auf der Java Console auswerten, fertig!
Wichtig ist das man das Skript eben einmal in der Medienverwaltung und einmal in der Strukturverwaltung ausfรผhrt da fรผr diese Verwaltungen bzw. deren Element URLs gespeichert werden.
Gruร,
Hendrik
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Hendrik,
ach so. Ich hatte das Skript jetzt als Skript in FirstSpirit eingebunden und wollte es als Kontextmenรผ Skript ausfรผhren.
Starte ich es so, wie du beschrieben hast, kommen INFO Logs, die mir sagen, dass der Sitestore in einer bestimmten Millisekunden Anzahl geladen wurde, aber dann nichts mehr. Der ganze Client ist danach blockiert.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Stefan,
je nachdem wieviele gelรถschte Elemente in den jeweiligen Stores vorhanden sind kann die Ausfรผhrung etwas lรคnger Dauern, in dieser Zeit ist der Java Client blockiert und kann nicht mehr benutzr werden - das ist ganz normal. Du kannst das Skript natรผrlich um weitere Log-Ausgaben ergรคnzen um zu sehen welche Elemente gerade verarbeitet werden bzw. um zu sehen das das Skript noch arbeitet.
Gruร, Hendrik
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ja, es ist dann durchgelaufen, hat aber nichts geรคndert. Es werden nach wie vor Dateien mit index-2.html generiert und ich kann mir beim besten Willen nicht mehr erklรคren woran das noch liegen kรถnnte.
Jetzt wird auch wieder nichts mehr geloggt. Gestern waren ja noch sowohl meine Logging Ausgaben als auch diese URI Conflicts in den Log Files, aber jetzt steht wieder gar nichts mehr drin. Ich beginne echt langsam an FS zu zweifeln.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo!
Ich kann diese Problematik bestรคtigen. Aktuell habe ich auch ein Projekt, in dem ich diese Konflikte nicht gelรถst bekomme, auch nicht mit dem Skript.
Hier wird bei dem Konflikt auf eine ID verwiesen, die in dem Projekt nicht existiert, weder gelรถscht noch freigegeben.
Gibt es hier inzwischen eine andere Lรถsung als das Skript?
Viele Grรผรe,
Mareike
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Das Problem wird mit dem nรคchsten Release behoben (interne ID #111683). Das Problem tritt nur in Kombination mit Remote-Projekten auf, daher findest du diese ID auch nicht in diesem Projekt.
Bis zur Freigabe des Updates gibt es leider nur die Mรถglichkeit, das Skript zu benutzen, oder die Datenbank komplett zu lรถschen (nur bei heruntergefahrenem Server, Dateisystem-Operation).
@Stefan:
Das Logging erfolgt nur beim Eintragen in die URL-Datenbank, nicht beim Auslesen. Und auch nur in diesem Fall wird deine URLFactory angesprochen.

