Search the FirstSpirit Knowledge Base
Hallo zusammen,
ich habe mal eine Frage bezüglich dem von First Spirit verwendeten Festplattenspeicher.
Mit der Zeit und der wachsenden Anzahl an Projekten (~50) ist nun der Festplattenspeicherverbrauch
auf ca. 150 GB angewachsen. 90% Davon werden von den Ordnern
.../Programme(x86)/FirstSpirit4/data/projects/project_XXXX/repository/blob/ verschluckt.
Hat jmd vielleicht schon änliche Erfahrungen gemacht, und könnte ein Tip geben, wie man am besten wieder
Speicher frei bekommt, oder ist "Festplattenerweiterung" der einzige Weg??
Besten Dank im Voraus!
Viele Grüße
Alex
Hallo Alex,
da FirstSpirit die Daten in einem repository speichert (die blob Verzeichnisse beinhalten die großen Dateien {>512kB}), werden keine Daten bei der "normalen" Benutzung gelöscht.
Wenn die Größe der FirstSpirit Projekte verringert werden soll, so müssen die darin enthaltenen Daten explizit archiviert werden [über eine entsprechende Auftrags-Aktion ("Alte Projektstände archivieren")].
Eine entsprechende Archivierung sorgt dafür, dass die Projekte schrumpfen, wobei dieses "Schrumpfen" teilweise asynchron stattfindet [die in dem Ordner bdb liegenden Dateien werden über einen entsprechenden Prozess "gereinigt"]. Die bei der Archivierung entstehenden, ausgelagerten Projektdaten können wiederum von FirstSpirit Server entfernt werden (und später zurückgespielt werden wenn deren Inhalte doch noch benötigt werden, z.B. um den Inhalt einer alten Version eines Knotens zu prüfen).
Viele Grüsse aus Dortmund,
Holger
Hallo Alex,
da FirstSpirit die Daten in einem repository speichert (die blob Verzeichnisse beinhalten die großen Dateien {>512kB}), werden keine Daten bei der "normalen" Benutzung gelöscht.
Wenn die Größe der FirstSpirit Projekte verringert werden soll, so müssen die darin enthaltenen Daten explizit archiviert werden [über eine entsprechende Auftrags-Aktion ("Alte Projektstände archivieren")].
Eine entsprechende Archivierung sorgt dafür, dass die Projekte schrumpfen, wobei dieses "Schrumpfen" teilweise asynchron stattfindet [die in dem Ordner bdb liegenden Dateien werden über einen entsprechenden Prozess "gereinigt"]. Die bei der Archivierung entstehenden, ausgelagerten Projektdaten können wiederum von FirstSpirit Server entfernt werden (und später zurückgespielt werden wenn deren Inhalte doch noch benötigt werden, z.B. um den Inhalt einer alten Version eines Knotens zu prüfen).
Viele Grüsse aus Dortmund,
Holger
Hallo Holger,
vielen Dank für die schnelle Antwort! Dann werden wir bei der Anrchivierung ansetzen, und schauen, was
das an Platz freischaufelt.
Grüße
Alex
Hallo Alex,
archiviert werden natürlich nur gelöschte bzw. geänderte Objekte. Wenn sich also viele nicht referenzierte Medien in dem Projekt befinden, dann wäre es hilfreich, diese vor der Archivierung zu bereinigen.
Um herauszufinden, welche Medien welcher Größe in dem Projekt nicht referenziert werden, kann man ein entsprechendes Skript einsetzen. Hier mal ein Beispiel, dass ich noch rumliegen hatte (Ausgabe erfolgt auf der Konsole des Clients, die gegebenenfalls über die Java Webstart Einstellungen aktiviert werden muss, bei Bildern muss bedacht werden, dass diese gegebenenfalls noch in anderen Auflösungen vorliegen und somit mehr Platz benötigen)
e = context.getStoreElement();
media = e.getChildren(de.espirit.firstspirit.access.store.mediastore.Media.class,true);
resolution = context.getProject().getResolutionByName("ORIGINAL");
mediumIterator = media.iterator();
while (mediumIterator.hasNext()) {
try {
medium = mediumIterator.next();
if(!(medium.getIncomingReferences().length > 0)) {
if(medium.getType() == de.espirit.firstspirit.access.store.mediastore.Media.FILE) {
size = medium.getFile(context.getProject().getMasterLanguage()).getSize();
} else if(medium.getType() == de.espirit.firstspirit.access.store.mediastore.Media.PICTURE) {
size = medium.getPicture(context.getProject().getMasterLanguage()).getPictureResolution(resolution).getSize();
} else {
size = 0;
}
print("nicht referenziertes Medium: " + medium.uid + "(id=" + medium.id + "), (Size =" + size.toString() + "b)");
}
} catch (Exception e) {
context.logError("Exception:", e);
}
}
Viele Grüsse aus Dortmund,
Holger
Hallo Holger,
Super! Das ist echt ein hilfreiches Skript.
Die Ausführung zeigt mir bereits, dass sich da recht viele "Leichen" angesammelt haben.
Da macht es sicherlich Sinn, diese vor der Archivierung aufzuräumen.
Besten Dank!
Grüße
Alex