soweit ich weiß muss dazu Admin sein.
Ja kann man. Hier ein Skript dazu:
import de.espirit.firstspirit.access.*;
import de.espirit.firstspirit.access.store.Store;
import de.espirit.firstspirit.access.store.ContentProducer;
/* GLOBAL VARIABLES */
projectId = context.getProject().getId();
project = connection.getProjectById(projectId);
userService = project.getUserService();
languages = project.getLanguages();
templateSets = project.getTemplateSets();
globalStore = userService.getStore(Store.Type.GLOBALSTORE);
urlProperties = globalStore.getUrlProperties();
/* #### reset all stored urls of the project #### */
boolean resetStoredUrls() {
int counter = 0;
try {
urlProperties.setLock(true);
e = context.getUserService().getStore(Store.Type.SITESTORE, true, false);
amountOfResets = urlProperties.resetStoredUrls(e);
for (int j = 0; j < languages.size(); j++) {
currentLang = languages.get(j);
for (int i = 0; i < templateSets.size(); i++) {
currentSet = templateSets.get(i);
if (e instanceof ContentProducer) {
urlString = e.getStoredUrl(currentLang, currentSet, null);
context.logInfo("Resetting " + urlString);
} else {
urlString = e.getStoredUrl(currentLang, currentSet);
}
if (urlString != null) {
urlProperties.setStoredUrl(null, e, currentLang, currentSet, null);
counter++;
}
}
}
urlProperties.save();
urlProperties.setLock(false);
//set current revision
revision = urlProperties.getRevision();
context.setStartTime(new Date(revision.getCommitOrCreationTime()));
counter = counter + amountOfResets;
context.logInfo(counter + " URLs successfully deleted for revision " + revision.getId());
return true;
} catch (Exception e) {
context.logError("Problem resetting URLs " + e);
return false;
}
}
/* Start programm*/
resetStoredUrls();
Damit das Skript funktioniert, muss unter "Eigenschaften" eine eigene Verbindung aufgebaut werden.