Search the FirstSpirit Knowledge Base
Hallo zusammen,
ich möchte Dateien aus der Medienverwaltung (CSS-Dateien) verändern und verwende dazu den folgenden Code (Groovy), um Dateien aus dem Dateisystem in ihre Pendants in der Medienverwaltung zu speichern (dstNode ist der Parent-Folder):
dstNode.setLock(true, true);
try {
dstNode.getChildren(Media.class).each { it ->
dst = it.getFile(null)
src = new java.io.File(dstDir, it.filename + "." + dst.extension)
if (src.exists()) {
dst.setFile(src.length(), src.newInputStream(), dst.extension)
dst.setEncoding("utf-8");
println "stored " + src + " to node " + it.uid
}
}
} finally {
dstNode.setLock(false, true);
}
Grundsätzlich funktioniert das auch, allerdings werden die geänderten Dateien nicht als geändert (=rot) angezeigt. In der Versionshistorie werden die neuen Revisionen erst bei Markierung von "Versteckte Revisionen einblenden" angezeigt, die Attribute der Datei (z.B. CRC oder Länge) sind unverändert, obwohl sich die Datei selbst verändert hat. Habe ich etwas vergessen, oder liegt hier ein Bug vor? Ich verwende FS 5.0.210.
Viele Grüße,
Martin
Die Änderungen werden erst durch einen "save()"-Aufruf auf dem Medien-Knoten "wirksam".
Die Änderungen werden erst durch einen "save()"-Aufruf auf dem Medien-Knoten "wirksam".
Natürlich! 🙂 Ich hatte save() bei meinen Versuchen nur auf das File aufgerufen, was nur mit einer "Not Supported"-Exception quittiert wurde... Danke für den Hinweis.