Questions & Answers

rl_hartges
I'm new here

Manipulieren der UrlRegistry

Hallo Community,

Im Zuge der Generierung von URLs in FirstSpirit 5.0 mittels URL UrlFactory sind bei uns einige Fragen aufgekommen:

  1. Gibt es eine Mรถglichkeit die Inhalte der UrlRegistry auszulesen? Wo liegt diese "Datei"?
  2. Ist es mรถglich die UrlRegistry bei der Generierung "bewusst" zu beeinflussen, um z.B. alle Seiten auf die oberste Ebene im Dateisystem des Webservers zu deployen.
  3. Kann man einzelne Eintrรคge in der UrlRegistry zurรผckzusetzten, beispielsweise fรผr genau eine Strukturseite, ohne aber die sonstigen gespeicherten Inhalte zu lรถschen. Mir ist bisher nur die Funktion "Gespeicherte URLs zurรผcksetzten" bekannt.

Vielen Dank und viele GrรผรŸe

Moritz Hartges

0 Kudos
4 Replies
Peter_Jodeleit
Crownpeak employee

Auslesen geht รผber ContentProducer.getStoredUrl(..) bzw. รผber die Methoden von URLProperties. รœber letztere kann man auch URLs setzen bzw. lรถschen.

[EDIT]

Fall zwei kann man durch die Implementierung einer UrlFactory bewerkstelligen.

Peter
0 Kudos

Ich habe eine Strukturseite angelegt. Bei der Generierung werden entsprechende Dateien in der korrekten Verzeichnisstruktur angelegt.

Nachdem ich die Seite in der Struktur verschoben habe, wird die Datei weiterhin an der gleichen Stelle generiert.

Wenn ich nun die URLs fรผr diese Seite zurรผcksetze, wird nur 1 URL gelรถscht. Das trotz mehrerer Sprachen und Ausgabekanรคle.

urlProperties.setLock( true );

urlProperties.resetStoredUrls( node );

urlProperties.setLock( false );

AuรŸerdem wird die Seite bei der Generierung immernoch an der alten Stelle abgelegt. Gleichen geschiet, wenn ich die URLs รผber "Extras" -> "Gespeicherte URLs zurรผcksetzen" lรถsche.

0 Kudos

Das hรถrt sich nach einem Bug an. Bitte wende dich damit an unseren Helpdesk.

Peter
0 Kudos
dehaatbi
Returning Observer

Mit folgendem Skript kann man auch direkt die UrlRegistry bearbeiten. Habe es genutzt um einen blockierten Pfad zu befreien, es benรถtigt ein Formular mit dem Input Feld sc_url, indem dann der Pfad angegeben wird.

โ€‹

import de.espirit.firstspirit.agency.OperationAgent;

import de.espirit.firstspirit.ui.operations.RequestOperation;

import de.espirit.firstspirit.agency.UrlRegistryAgent;

formData = context.showForm();

url = formData.get(null, "sc_url").get();

ra = context.requireSpecialist(UrlRegistryAgent.TYPE);

urlRegistry = ra.getUrlRegistry();

usages = urlRegistry.getEntries(url);

for (usage: usages){

urlRegistry.deletPath(usage);

}

requestOperation = context.requireSpecialist(OperationAgent.TYPE).getOperation(RequestOperation.TYPE);

if (usages.size() == 0){

requestOperation.perform("Nothing found with this URL!");

}

else {

requestOperation.perform("Done! Removed "+usages.size()+" entries.");

}

0 Kudos

Type a product name