Resizer Service
Der Resizer Service ist ein Imaging Generator im Magnolia Imaging. Dadurch wird auch das Imaging-Servlet â/.imagingâ genutzt.
Offiziell unterstĂŒtzte Bildformate
- image/jpeg â .jpg .jpeg
- image/png â .png
- image/webp â .webp
URL
Die URL ist folgendermaĂen aufgebaut:
/.imaging/{Generator Name}/{Bildformat}/{Breite}/{Höhe}/{Horizontaler Fokus Punkt}-{Vertikaler Fokus Punkt}/{Workspace Name}/{Asset
Key}/{optionaler SEO relevanter Asset Pfad}
Bei Generator Name muss resizer
eingetragen werden um diesen Generator zu nutzen und Workspace Name wird offiziell
nur dam
unterstĂŒtzt, da dort die Assets der Asset JCR App gespeichert werden.
Die Asset-Speicherung wird nur im JCR unterstĂŒtzt, weshalb der asset key mit jcr: anfangen muss gefolgt mit der Node
UUID.
Bei der zweiten URL Variante muss Asset Pfad auch im JCR liegen.
Beispiel URL:
http://localhost:8080/dev/.imaging/resizer/webp/500/125/94-7/dam/jcr:bdd4c472-e1a9-453b-a11d-6f2e4b90d281/waves.jpg
- Generator Name â resizer
- Bildformat â webp
- Breite â 500 Pixel
- Höhe â 125 Pixel
- Horizontaler Fokus Punkt â 94 %
- Vertikaler Fokus Punkt â 7 %
- Workspace Name â dam
- Asset Key â jcr:bdd4c472-e1a9-453b-a11d-6f2e4b90d281
- SEO relevanter Pfad â /waves.webp
Bildformate
Der Bildformat-Pfad Parameter kann bei der URL weggelassen werden.
Dann wird das gleiche Format ausgegeben wie es das Quellbild hat.
Das heiĂt png rein â png raus.
Folgende Bildformate werden unterstĂŒtzt:
- png um ein PNG Bild zu erhalten
- jpg um ein JPG Bild zu erhalten
- webp um ein WEBP Bild zu erhalten
Config
Property | Beschreibung |
---|---|
/modules/imageresizer/config@correctValues - Default: true |
Die angeforderten BildgröĂen und Fokuspunkte werden validiert und automatisch korrigiert wenn die Property auf true ist.Bei false wird validiert und bei Fehlschlag wird intern eine ImagingRuntimeException geworfern und ein HTTP Status 404 zurĂŒckgegeben |
/modules/imageresizer/config@upScaling - Default: false |
Bei true : Die Bilder können in einer gröĂeren als die originale Auflösung angefordert werden. Die BildqualitĂ€t ist aber schlecht da hier kein professionelles Upscaling verwendet wird, sondern Javas ImageIO.Bei false : Wenn ein Bild in einer gröĂeren Auflösung angefordert wird als das original Bild wird das Bild in der gröĂtmöglichen Auflösung ausgegeben, ohne gröĂer als das Original zu sein und ohne das angeforderte SeitenverhĂ€ltnis zu Ă€ndern. |
/modules/imageresizer/config@maxWidth - Default: 10000 |
Die Maximal erlaubte Bild Breite. Wird bei correctValues als maximale Bild Breite genutzt.Wenn der Wert 0 ist, ist dieser Check fĂŒr die Bild Breite deaktiviert. |
/modules/imageresizer/config@maxHeight - Default: 10000 |
Die Maximal erlaubte Bild Höhe. Wird bei correctValues als maximale Bild Höhe genutzt.Wenn der Wert 0 ist, ist dieser Check fĂŒr die Bild Höhe deaktiviert. |
EinschrÀnkung erlaubter Bildauflösungen
Mit dem Update auf 2.2.0 kommt eine weitere Funktion hinzu, bei der der Imagegenerator nur zuvor registrierte Bild Auflösungen erlaubt. Diese können in der Templating Funktion zur Laufzeit registriert werden (Siehe Segment Templating Funktion) und im JCR in der Modul Config angelegt werden. Dabei gilt es zu beachten das nach einem Neustart der Instanzen nur die Auflösungen aus den JCR registriert sind und die aus der Templating Funktion erst beim Rendern der Seite registriert werden.
Das heiĂt das extern verlinkte Bilder und solche bei denen der Link nicht ĂŒber die Templating Funktion erzeugt wird nach einen Magnolia Neustart und vorm ersten rendern einer Seite in der die benötigte Auflösung registriert wird NICHT funktionieren und somit im JCR oder per Decoration registriert werden mĂŒssen, um ein sofortiges Ausspielen der Bilder zu ermöglichen.
Decoration
Alle Konfigurationen können auch per decoration gesetzt werden.
Der Pfad der YAML ist folgender: lightmodules/<lm-name>/decorations/imageresizer/config.yaml
Eine Beispiel YAML um bestimmte BildgröĂen zu erlauben:
allowedDimensions:
"100x100":
width: 100
height: 100
"1920x1080":
width: 1920
height: 1080
"1920x180":
width: 1920
height: 180