Generierung als Hintergrundprozess
Dateien, die über den herkömmlichen Upload in die Brandbox eingebunden werden, erhalten Einträge in der Tabelle ThumbnailQueue. In dieser Tabelle Einträge abgelegt, die stets eine Datei referenzieren. Darüber hinaus enthält jeder Datensatz diverse Optionen, mit denen ein Thumbnail generiert werden soll. Diese Tabelle wird von einem CronJob auf zu generierende Thumbnails geprüft. Durch diesen CronJob werden die Thumbnails passiv im Laufe der Zeit generiert. Diese Vorgehensweise sorgt dafür, dass der Upload sich tatsächlich hauptsächlich mit dem Upload der Datei kümmert. Teilaufgaben wie das Ermitteln von Metadaten, das Generieren von Vorschaubildern etc. soll in separaten Prozessen abgearbeitet werden, damit die Vorgänge performant bleiben.
Befüllen der Warteschlange
Die Warteschlange wird durch ein Event befüllt, welches durch die Methode \Brandbox\Framework\Base\File\Manager::populateThumbnailQueue
ausgelöst werden kann. Dabei handelt es sich um das Event \Brandbox\Framework\Base\File\lib\event\OnPopulateThumbnailQueue
. Diese Methode wird bei einem erfolgreichen Upload ausgelöst, sodass die Listener die Warteschlange mit entsprechenden Optionen befüllen können. Das Framework nutzt dieses Event um die Thumbnailkonfigurationen für die Listenansicht- und Kartenansicht in Base in der Warteschlange zu ergänzen. Um die Warteschlange mit Einträgen von Dateien zu füllen, die noch keine Thumbnails oder Einträge in der Warteschlange besitzen, kann die Methode \Brandbox\Framework\Base\File\Manager::queueFilesWithoutThumbnails
genutzt werden.