Automatisierung von Asset-Bearbeitungen in AEM

Herausforderungen bei der Automatisierung von Asset- bzw. Bildbearbeitungsprozessen

Digitale Assets - wichtiger als je zuvor

Heute benötigt man im Digitalen Marketing deutlich mehr Bilder und Videos als noch vor wenigen Jahren. Die Gründe hierfür sind vielfältig: Es gibt eine Vielzahl an Device-Typen, auf die Assets ausgespielt werden. Es gibt unterschiedlichste Bildschirmgrößen - von Smart-Watch bis 8k Monitore. Zudem benötigt man für eine zielgruppenspezifische Personalisierung enorm viele Assets. Man stelle sich beispielshaft die Content Seite einer Kfz-Versicherung vor. Im Idealfall bekommt jede Zielgruppe, sei es ein Single, eine Familie, ein Firmenkunde, männlich, weiblich, aus der Stadt, vom Land, etc. seine persönliche Ansprache – und auch Bildsprache.

Maschinen können dabei unterstützen, Assets in unterschiedlichen Versionen automatisiert bereitzustellen. Wie man die Asset-Bearbeitung in AEM automatisieren kann, werde ich in diesem Blogartikel erläutern.

Struktur- und Prozesslose Ablage

Assets werden in der Regel auf unterschiedlichste Art und Weise erstellt, aus unterschiedlichsten Quellen bezogen und schließlich in ein Digital Asset Management (DAM) geladen. Dadurch ist die Bild- und Metadatenqualität häufig unterschiedlich. Dies kann in der weiteren Nutzung der Assets dazu führen, dass Assets schlecht gefunden und verwendet werden können.

Zudem erfolgt die Ablage in einem DAM meist unstrukturiert. Der Ansatz „Content first, structure later“ führt dazu, dass Assets zwar sehr schnell und einfach in das System hochgeladen und genutzt werden können. Die Probleme entstehen allerdings in der Folge, weil die Ablage strukturlos erfolgt. Beispielhaft möchte ich das Hochladen von Bildern in unterschiedlichen Formaten oder Seitenverhältnissen aufführen, denn im Asset Management existieren dadurch mehrere Varianten des gleichen Bildes, die nicht in Beziehung zueinander stehen. Es entstehen Redundanzen. Ohne eine vorgegebene Struktur oder einen Prozess kann hier schwer eine Automatisierung erfolgen.

Bildbearbeitung

Prozesse außerhalb vom DAM

Eine weitere Herausforderung ist, dass trotz einer zentralen Ablage im DAM viele Bildbearbeitungsprozesse noch außerhalb des Systems stattfinden. Viele Schritte werden mit lokalen Tools durchgeführt, wie z. B. das Freistellen von Bildern. Will man einen solchen Prozess automatisieren, braucht es eine Art von Intelligenz, die mit den verschiedenen Arten von Bildern umgehen kann.

Verschiedene Dateiformate

Wenn man darüber nachdenkt, einzelne Bildbearbeitungsschritte zu automatisieren, wird man schnell mit dem Problem konfrontiert, dass es eine Fülle von Dateiformaten gibt. Der Umgang kann je nach Dateiformat gänzlich unterschiedlich sein. Zudem gibt es auch bei den Dateiformat-Typen erhebliche Unterschiede: Es gibt Vektor- und Rastergrafiken, oder auch Dokumentenformate wie z. B. das PDF. Darüber hinaus können die Dateien in komprimierten oder unkomprimierten Formaten vorliegen.

Bildbearbeitung kostet Ressourcen

Bei der Bildbearbeitung selbst kommt erschwerend hinzu, dass die Verarbeitung von Assets innerhalb eines Systems Ressourcen kostet. Gerade bei der parallelen Verarbeitung vieler Assets benötigt man ein skalierbares System, um den notwendigen Speicher- und CPU-Bedarf zu decken, ohne dabei das System selbst zu beeinflussen. Der Anwender soll im Idealfall schließlich nicht merken, dass nach dem Upload mehrerer Dutzend Assets das System mit dem Verarbeiten der Bilder beschäftigt ist.

Bildbearbeitung ist kompliziert

Schon aus den oben genannten Gründen erkennt man bei der Bearbeitung von Bildern eine grundlegende Komplexität. Darüber hinaus stellt man schnell fest, dass Software zur Bildbearbeitung nicht ohne Grund eine gewisse Komplexität beinhaltet. Die Bearbeitung von Bildern ist in der Regel kompliziert.

AEM

In diesem Zusammenhang muss man ehrlicherweise feststellen, dass auch AEM keine Bildbearbeitungssoftware ist. Einfache Bildbearbeitungen, wie das Drehen und Zuschneiden können innerhalb von AEM vorgenommen werden, aber komplexere Bildbearbeitungen finden weiterhin in den dafür vorgesehen Tools wie Photoshop, InDesign oder Illustrator statt.

Welche Antworten finden wir im AEM-Umfeld?

AEM Workflow

Eine Antwort kann mit Hilfe von Workflows innerhalb von AEM gegeben werden. AEM bietet dafür eine erweiterbare Workflows-Engine, mit dessen Hilfe viele Prozesse automatisiert werden können. Klassischerweise werden so Review- und Genehmigungsprozesse realisiert, um zum Beispiel Metadaten oder Copyright Informationen prozessgestützt nachpflegen zu können. Darüber hinaus können auch Dunkelverarbeitungen genutzt werden, um z. B. ein Wasserzeichen aufzubringen. AEM bietet dafür einen sogenannten Workflow-Step „Add Watermark“. Dieser kann direkt in AEM in den „Update Asset“ Workflow eingebunden werden. So werden das Originalasset und alle Renditions mit einem Wasserzeichen versehen, siehe Abbildung.

AEM Workflows
Add Watermark Process

Weitere Bildbearbeitungen können über eigens implementierte Workflows umgesetzt werden. Dafür können in AEM die dort enthaltenen Workflows erweitert werden, siehe

https://experienceleague.adobe.com/docs/experience-manager-65/developing/extending-aem/extending-workflows/workflows.html

 

Da die Implementierung solcher Workflows in der Programmiersprache Java erfolgt, wird für Bildbearbeitungen eine Image API genutzt. Im Falle von Java wird meist die AWT-API genutzt, siehe

https://docs.oracle.com/javase/7/docs/api/java/awt/package-summary.html.

Diese API kann für einfache Bildbearbeitung genutzt we rden. Für komplexere Anforderungen an die Bildbearbeitung wird man allerdings auf spezielle Bibliotheken zurückgreifen wie z. B. OpenCV (https://opencv.org/ ), BootCV (http://boofcv.org/index.php?title=Main_Page ) oder JavaCV (https://github.com/bytedeco/javacv ).

Nutzung der Photoshop API und Sensei

Eine weitere Möglichkeit, Bildbearbeitungen in AEM zu automatisieren, ist die Nutzung der Adobe I/O Plattform und den damit verbundenen Services und APIs.

Darunter befindet sich auch die Photoshop API, in der Adobe die Möglichkeiten von Photoshop mit der Intelligenz von Adobe Sensei verbindet. AEM as a Cloud Service kann diese API über sogenannte Asset Compute Worker integrieren, siehe https://experienceleague.adobe.com/docs/asset-compute/using/introduction.html. Die Konfiguration wurde an dieser Stelle auch vereinfacht. Statt über Workflows umständlich einzelne Ordner mit der API zu verbinden, kann man diese über sogenannte Processing Profiles einfach pro Ordner konfigurieren, siehe Abbildung.

 

By the way - wer einen Einblick in die Welt von Adobe I/O bekommen will und wie man dort die Produkte und Services von Adobe einfach miteinander verbinden kann, möchte ich gerne auf meinen nächsten Blogartikel verweisen.

Processing Profiles

Durch eine solche Integration können die Möglichkeiten der Photoshop API genutzt werden. Die von Adobe entwickelten und betriebenen Services bieten einen Großteil der in Photoshop und Lightroom verfügbaren Funktionen. Darüber hinaus gibt es eine Reihe intelligenter Services, die z. B. ohne große Konfiguration Objekte und Personen in einem Bild freistellen können oder auch Bilder aufhellen und farblich intensiver werden lassen, siehe Abbildungen. Diese Services bietet einen echten Mehrwert und können die Bearbeitung von Bildern erheblich beschleunigen.

Image

Weitere Informationen über die Photoshop API und deren Möglichkeiten findet man unter https://www.adobe.io/photoshop/api/.

Und wie steht es mit der AEM On-Premise Installation?

Hier muss man zwar feststellen, dass keine direkte Integration der Photoshop API seitens Adobe zur Verfügung gestellt wird, allerdings kann die Photoshop API auch jenseits von AEM as a Cloud Service verwendet werden. Die Integration kann in diesen Fall über eine eigene Workflow-implementierung in AEM erfolgen.

Fazit

Adobe hat in den vergangenen Jahren die einleitend genannten Herausforderungen erkannt und den Kunden im AEM Umfeld einen umfangreichen Werkzeugkasten für die Lösung dafür zur Verfügung gestellt. Allerdings bedarf es Zeit, sich in den vielfältigen Möglichkeiten zurechtzufinden.

Zuletzt ist mit der Photoshop API ein sehr mächtiges Werkzeug entstanden, welches nicht nur die Möglichkeiten von AEM erweitert, sondern auch viele Prozesse bei der Ver- und Bearbeitung von Bildern vereinfacht. Die Welten der Experience Cloud und der Creative Cloud wachsen so weiter immer zusammen. Das Potential ist für mich enorm.