Hallo Frau Klingbeil,
das Problem ist ja zweigeteilt. Zum Einen muss die Endung der entsprechenden Dateien geändert werden, zum Anderen müssen die Links auf die entsprechenden Dateien die geänderte Endung berücksichtigen.
Bei den Links muss dann noch zwischen manuellen Links (Linktemplates) und automatischen Links (Navigationen) unterscheiden werden. In beiden Fällen müsste dann abgefragt werden, ob die Zielseite die "normale" Endung hat oder ob diese Endung geändert wurde. Da Sie schreiben, dass die entsprechende Eingabekomponente in der Seitenvorlage liegt, ist das noch einigermaßen performant lösbar. {Bei der Erzeugung jedes Links muss überprüft werden, ob die Endung der Zielseite überschrieben wurde}. Diesen Teil der Aufgabe sehe ich als gut lösbar an.
Bleibt nur noch die eigentliche Umbenennung der Endungen. Hier sehe ich erst einmal keine einfache Lösung. Das Beste, was mir auf Anhieb einfällt, wäre folgender Ansatz:
- Ich erzeuge eine Textdatei, in dem alle Seiten aufgelistet werden (inkl. neuer Zielextension).
Ich würde die Textdatei direkt als Shellskript erzeugen.
Für den Inhalt der Textdatei gibt es zwei Möglichkeiten. Entweder iterieren Sie über den gesamten Sitestore und holen sich die geänderten Seiten (sollten Sie nur bei sehr kleinen Projekten in Erwägung ziehen) oder besser Sie holen sich die entsprechende Vorlage und von der alle Verwendungen [im Freigabestand]. Anhand dieser Verwendungen können Sie dann die entsprechende Umwandlungsliste zusammenstellen. Das Ganze müsste mit FirstSpirit Syntax (also ohne den Einsatz von Skripten) funktionieren.
Dann brauchen Sie in dem Auftrag noch eine Skriptaktion, die das entsprechende Skript ausführt (Beispiel: Veröffentlichen ohne Sprachverzeichnis)
Jetzt müssen Sie nur noch sicherstellen, dass es keine Veröffentlichung gibt, wenn das Skript nicht sauber durchläuft, da Sie ansonsten tote Links hätten.
Insgesamt gefällt mir diese Lösung eigentlich nicht, aber etwas Besseres [abgesehen von der Erzeugung eines eigenen URL Creators Re: Eigenes UrlCreator Modul erstellen, welches aber mit freigegebenen API Mitteln nicht möglich ist] ist mir nicht eingefallen.
Viele Grüsse aus Dortmund,
Holger Höbbel