Hallo Herr Vogt,
dann besteht natürlich die Möglichkeit, die Freigabe vor der Veröffentlichung automatisiert durchzuführen.
Folgendes Skript habe ich mal geschrieben, um sicherzustellen, dass alle Ordner in der Inhalte-Verwaltung im Freigabestand vorhanden sind [Grundgedanke ist hier, dass sichergestellt wird, dass Seiten in der Inhalte-Verwaltung durch geschickte Verschiebeoperationen nicht aus dem Freigabestand ausgehängt werden können]
Solcher Code macht natürlich nur bei relativ kleinen Projekten Sinn. Wenn Sie große Projekte haben, dann wäre es sinnvoller, über die Änderungen seid der letzten Durchführung des Skriptes zu iterieren und eine Liste mit geänderten Knoten zu ermitteln und diese dann entsprechend abzuarbeiten.
import de.espirit.firstspirit.access.store.Store;
import de.espirit.firstspirit.access.store.IDProvider;
userservice = connection.getProjectById(context.getProject().getId()).getUserService(); //schreibender Zugriff, also muss eine eigene Verbindung definiert werden, wobei der angegebene Benutzer ausreichend rechte haben muss!
pagestore = userservice.getStore(Store.Type.PAGESTORE,false);
storeElements = pagestore.getChildren(de.espirit.firstspirit.access.store.pagestore.PageFolder.class,true);
storeElementCounter = storeElements.iterator();
while (storeElementCounter.hasNext()) {
elem = storeElementCounter.next();
if (!elem.isInReleaseStore()) {
try {
elem.setLock(true,false);
elem.release(false);
} catch (Exception e) {
context.logInfo("lock or release not possible for pagestore folder:" + elem.getUid() + " (ID:" + elem.getId() + ")");
}
try {
elem.setLock(false,false);
} catch (Exception e) {
}
}
}
context.setStartTime(new Date());
Viele Grüsse aus Dortmund,
Holger Höbbel