- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Medienverwaltung nach Dateiendungen durchsuchen
Gibt es eine Mรถglichkeit die Medienverwaltung nach Dateiendungen (z. B. PDF, ZIP, WMV, AVI, SWF, ...) zu durchsuchen. Ich benรถtige eine รbersicht von Dateien sortiert nach ihrem Suffix und in einem zweiten Schritt nach ihrer Dateigrรถรe. Sollte es das nicht geben, kennt jemand ein Skript, das die Suche รผbernimmt?
- Labels:
-
Editors
-
Knowledgebase Editors
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Das war der entscheidende Hinweis . Somit ergibt sich fรผr das Skript:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Stephan,
die normale Suchfunktion im SiteArchitect von FirstSpirit bietet diese Funktionalitรคt bereits. Es gibt die Mรถglichkeit in den Sucheinstellungen unter "Einschrรคnkung der Treffer (Facetten)" auf der Schaltflรคche "Weitere Einschrรคnkungen hinzufรผgen" spezifische Filter beispielsweise fรผr Dateityp und Dateigrรถรe zu setzen, allerdings wird hier ein Suchbegriff vorausgesetzt. Sobald der entsprechende Filter gesetzt ist, kann auch die Sortierung auf die entsprechende Eigenschaft eingestellt werden. Fรผr den ContentCreator gibt es derzeit keine รคhnliche Alternative.
Viele Grรผรe
Rafael
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Rafael,
weil ich die Sucheinstellungen nicht finden kann, gehe ich davon aus, dass Du die Sucheinstellungen fรผr FS 5 meinst. Ich verwende FS 4.2. Gibt es dort eine Mรถglichkeit fรผr die spezielle Suche?
Gruss
Stephan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Stephan,
etwas Vergleichbares gibt es in 4.2 meines Wissens nicht. Ich habe hier ein Skript geschrieben, welches alle Objekte in der Medienverwaltung mit der entsprechenden Extension und Dateigrรถรe in eine CSV Excel-Datei exportiert. Das wรผrde es mรถglich machen die Liste nach den gewollten Parametern zu sortieren. Die Sortierung selbst in einem Skript umzusetzen wรคre deutlich aufwendiger. Ich hoffe, dass dieser Ansatz hilft.
//!Beanshell
//Imports
import de.espirit.firstspirit.agency.*;
import de.espirit.firstspirit.access.store.Store;
import de.espirit.firstspirit.access.store.mediastore.*;
//Test option pane
showInfo(String message) {
JOptionPane.showMessageDialog(null, message);
}
//Get mediaStore from storeAgent
storeAgent = context.requireSpecialist(StoreAgent.TYPE);
mediaStore = storeAgent.getStore(Store.Type.MEDIASTORE);
//Get default picture resolution
originalResolution = context.getProject().getOriginalResolution();
//Get project master language
masterLanguage = context.getProject().getMasterLanguage();
//Get all media files from mediaStore
mediaElements = mediaStore.getChildren(Media.class,true).toList();
//Get a fileWriter to export media details (Path needs to be set)
FileWriter documentStream = new FileWriter("D:\\Test\\mediaDetails.csv", false);
BufferedWriter out = new BufferedWriter(documentStream);
//iterate over mediaFiles
for(mediaElement:mediaElements) {
//get media Filename
fileName = mediaElement.getFilename();
// If the media element is a file, get the file and its extension + size
if(mediaElement.getType() == Media.FILE) {
fileExtension = mediaElement.getFile(masterLanguage).getExtension();
fileSize = mediaElement.getFile(masterLanguage).getSize();
// Else the media element is a picture. Get its extension and size
} else {
fileExtension = mediaElement.getPicture(masterLanguage).getPictureMetaData(originalResolution).getExtension();
fileSize = mediaElement.getPicture(masterLanguage).getPictureMetaData(originalResolution).getSize();
}
//Write details to csv file
out.write(fileName+ ";" +fileExtension+ ";" +fileSize+"\n");
}
//Close file writer
out.close();
//Output message once export is done
showInfo("Media Elements exported!");
Viele Grรผรe
Rafael
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bitte in der Zeile
mediaElements = mediaStore.getChildren(Media.class,true).toList();
kein .toList() benutzen! Hierdurch werden alle Mediastore-Elemente in eine neue Liste geladen und dort gehalten.
Es ist vรถllig ausreichend,
mediaElements = mediaStore.getChildren(Media.class,true);
zu verwenden. Hierdurch wird immer nur das aktuell benรถtigte Element รผber den Iterator geladen und bereits benutzte kรถnnen durch die GC freigegeben werden.
Hinweis:
<T extends StoreElement> Listable<T> StoreElement.getChildren(Class<T>, boolean)
und
Listable<T> extends Iterable<T>
Viele Grรผรe
Michael
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ohne .toLlist() wird
de.espirit.firstspirit.access.script.ExecutionException: Can't iterate over type: class de.espirit.firstspirit.store.access.AbstractStoreElement$StoreElementListable
ausgegeben. Mit toList() erhalte ich die gewรผnschte Liste. Oder muss zusรคtzlich noch etwas verรคndert werden?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Das kรถnnte eine Einschrรคnkung der Beanshell-Engine in 4.2 sein. Dann die Schleife "for(mediaElement:mediaElements)" durch eine while-Schleife mit dem Iterator ersetzen.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

