Thumbnail-Funktion

Dateien vom Typ Bild (image) oder Ressource (generic) dienen dazu, Bilder beziehungsweise beliebige Binärdaten zu speichern. Die binären Daten werden als Blob (engl. "binary large object") in den Versionen der betreffenden Dateien abgelegt.

Die Thumbnail-Funktion bietet die Möglichkeit, aus diesen Versionsdaten kleine Vorschaubilder (Thumbnails) zu erzeugen. Auf diese Thumbnails greift die HTML-Benutzerschnittstelle des Content Managers über das Versionsfeld thumbnail zu, um die Benutzer bei der Dateiauswahl zu unterstützen.

Immer dann, wenn einer Version einer Bilddatei oder einer Ressource Daten zugewiesen wurden, ruft der Content Manager die Tcl-Funktion generateThumbnail auf. Diese Funktion hat die Aufgabe, aus den ihr übergebenen binären Daten ein Miniaturbild zu berechnen. Der Content Manager wird mit einer Thumbnail-Funktion ausgeliefert, die diese Aufgabe mit Hilfe der in den Content Manager eingebauten Funktionen generateThumbnailForGif, generateThumbnailForJpeg und generateThumbnailForPng erfüllt. Das Vorschaubild speichert der Content Manager im Versionsfeld thumbnail.

Die Funktion generateThumbnail ist im Skript generateThumbnail.tcl enthalten. Dieses Skript befindet sich im serverCmds-Verzeichnis unterhalb des config-Verzeichnisses des Content Managers. Die Funktion kann für Versionen mit der Dateiendung jpg, jpeg, gif und png (Groß-/Kleinschreibung spielt keine Rolle) Miniaturbilder erzeugen. Sie kann bei Bedarf so erweitert werden, dass sie auch aus Daten anderen Typs Miniaturbilder generieren kann.

Der Funktion generateThumbnail werden die folgenden Argumente in der angegebenen Reihenfolge übergeben:

  • contentId: die ID der betreffenden Version.
  • objId: die ID der Datei, zu der die Version mit der ID contentId gehört.
  • blobFile: der Name der Datei, die das Quelldokument enthält, aus dem der Thumbnail berechnet werden soll.
  • contentType: die Dateinamenserweiterung der Version.
  • thumbnailSize: die Seitenlänge des Thumbnails in Pixeln (gleicher Wert für Breite und Höhe). Sie kann mit dem Systemkonfigurationseintrag thumbnailSize konfiguriert werden.

Die Funktion liefert als Ergebnis den base-64-kodierten Thumbnail. Diesen speichert der Content Manager als Wert des Feldes thumbnail in der betreffenden Version.