Vollgenerierung mitsamt aller nicht-referenzierten Medien möglich?
Author: dbachran
Publication Date: 4/8/2011 15:17
Hallo allerseits,
der bei uns in den Projekten verwendete Deployment-Prozess geht (aus verschiedenen Gründen) immer von einer Vollgenerierung aus. Dabei sind folgende Optionen bei "Generierung ausführen" ausgewählt:
- Vollgenerierung durchführen
- Generierungsverzeichnis vorher leeren
- Medien im Generierungsverzeichnis erzeugen
- ACL-Datenbank nutzen
Nun wurde festgestellt, dass neu hinzugefügte Dateien in der Medien-Verwaltung, die nicht referenziert werden (wie z. B. CSS-Dateien), bei dieser Vollgenerierung nicht mit deployed werden. Änderungen an bestehenden (ebenfalls nicht referenzierten) Dateien werden allerdings korrekt bei einer Vollgenerierung übernommen.
Das scheint nach aktuellem Kenntnisstand an der nicht mehr vorhandenen Option "Alle Medien in diesem Ordner bei der Generierung kopieren" zu liegen. Bei uns ist derzeit FirstSpirit 4.2 R2 im Einsatz.
Eine Teilgenerierung über diese neu hinzugefügten und nicht referenzierten Medien-Dateien scheint hingegen zum Erfolg zu führen.
Ist es nun möglich, diese Dateien immer im Zuge einer Vollgenerierung mit zu übernehmen, egal ob sie referenziert sind oder nicht?
Vielen Dank im Voraus,
Daniel Bachran
Tags: generation
-
Author: hoebbel - 4/8/2011 15:47
Hallo Herr Bachran,
wenn wirklich immer alle Medien [aus bestimmten Ordnern] bei der Generierung mit erzeugt werden sollen, gibt es zwei mögliche Herangehensweisen.
a) Definieren Sie eine zweite Generierungsaktion nach der bisherigen Vollgenerierung. Definieren Sie diese Generierungsaktion als Teilgenerieurng und tragen Sie als Startpunkt den Root Knoten der Medien-Verwaltung ein [bzw. die Ordner, deren Medien veröffentlicht werden sollen]. Deaktivieren Sie die beiden Punkte "Generierung nur wenn erforderlich" und "Generierungsverzeichnis vorher leeren" für diese Generierungsaktion.
Nachteil: Dateien, die nicht referenziert werden und bei denen "Datei parsen" aktiviert wurde, werden nicht erzeugt.
Hinweis: Dieses Vorgehen entspricht der Option "Alle Medien in diesem Ordner bei der Generierung kopieren", wenn Sie "nur" die entsprechenden Ordner ausgewählt haben.
b) Erzeugen Sie eine Dummy-Seite, die Referenzen auf alle [gewünschten] Medien erzeugt, selber aber nicht generiert wird.
Beispiel, um alle Dateien, bei denen die Option Datei parsen aktiviert wurde, zu veröffentlichen:
Erzeugen Sie eine Eingabekomponete <CMS_INPUT_FILE name=file" label="Datei"/>, in der sie später eine beliebige Datei aus der Medien-Verwaltung auswählen.
Im Template benutzen Sie diesen Quellcode:
$CMS_VALUE(#global.project.userService.store("MEDIASTORE",true).class)$
$CMS_SET(mediaClass,class("de.espirit.firstspirit.access.store.mediastore.Media"))$
$CMS_FOR(files,#global.project.userService.store("MEDIASTORE",true).children(mediaClass,true))$
$CMS_IF(files.type == file.medium.type)$
$CMS_IF(files.getParseFile())$
$CMS_REF(files)$
$CMS_END_IF$
$CMS_END_IF$
$CMS_END_FOR$$CMS_SET(#global.stopGenerate, true)$ $-- Mit diesem Aufruf verhindern Sie, dass diese Dummy Seite erzeugt wird --$
Nun eine Seite und Seitenreferenz aufgrund dieser Vorlage anlegen. Dann werden alle Dateien, bei denen Datei parsen aktiviert wurde, bei der Generierung mit erzeugt.
Viele Grüsse aus Dortmund,
Holger Höbbel
0
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.
Kommentare
1 Kommentar