Die Pimcore Plattform führt unterschiedliche Tools und Funktionalitäten aus den Bereichen Datenmanagement, Commerce und CMS in einer konsolidierten Plattform zusammen. In einem aktuellen Projekt mit Camina & Schmid hat unser Kollege Michael Dick die neue Pimcore – Enterprise Extension Headless Documents verwendet, um eine Website als Single Page Application umzusetzen. In unserem Interview erklärt Michael, welche Erfahrungen er mit dem Feature gemacht hat und welche Vorteile der Headless-Ansatz hat.
Michael, Pimcore stellt schon seit einiger Zeit ein CMS zur Verfügung. In 2021 wurde dann auf der Pimcore Inspire das neue Feature Headless Documents angekündigt. Was ist das und welche Vorteile hat dieses Feature?
Pimcore hat bisher ein eher klassisches Content Management System (Documents) zur Verfügung gestellt. Ähnlich wie bei WordPress oder Typo3 lässt sich damit der Content für eine Website über editierbare Elemente einpflegen. Dieses CMS ist aber in seinen Möglichkeiten limitiert, wenn es darum geht, spezielle individuelle Anforderungen umzusetzen, beispielsweise eine SPA oder eine PWA. Headless Documents bietet jetzt eine deutlich größere Flexibilität, da die Verwaltung der Inhalte völlig unabhängig von der Darstellung auf der Website ist.
Warum war es in diesem Projekt so wichtig, die Website als Headless-Lösung umzusetzen?
Camina & Schmid ist auf qualitativ hochwertige Kaminanlagen und Kachelöfen spezialisiert. Das Unternehmen verfügt über ein großes, deutschlandweites Vertriebsnetz spezialisierter Fachhandelspartner. Mit dem Relaunch der Website soll der Webauftritt modernisiert werden, um die Sichtbarkeit der Marke zu erhöhen und durch ein erweitertes Serviceangebot den Vertrieb zu unterstützen. Das Unternehmen legt dabei großen Wert darauf, dass die Website sehr performant und nutzerfreundlich ist. Deshalb soll die Website als Single Page Application (SPA) umgesetzt werden. Bei dieser Lösung wird nur ein einziges HTML-Dokument geladen und client-seitig ausgeführt. Bei der Nutzung der Website muss dann nicht jeweils eine neue Seite geladen werden, sondern es wird nur der Content bzw. die Daten nachgeladen, die benötigt werden.
In unserem Fall wurde das Frontend – die Präsentationslogik – als Individualentwicklung auf Basis des Frameworks Vue.js umgesetzt. Die Daten, die auf der Website ausgespielt werden sollen, werden über eine Programmierschnittstelle (API) aus dem Pimcore-System übertragen.
Welche Vorteile entstehen dadurch?
Diese Lösung hat mehrere Vorteile: Zum einen sind die Ladezeiten der Webseite im Vergleich sehr schnell, da die Seite nur einmal geladen wird – sie baut sich nur einmal im Browser auf. Wenn Nutzer*innen mit der Seite interagieren, werden nur die Daten dynamisch nachgeladen, die in diesem Moment erforderlich sind. Dadurch bietet die Website eine herausragende User Experience, ähnlich einer Mobile App.
Zum anderen sind durch den Headless-Ansatz die Frontend-Applikation und das Pimcore-Backend voneinander getrennt und kommunizieren nur über die API. Dadurch können Frontend und Backend unabhängig voneinander entwickelt werden, ohne einander zu beeinflussen. Darüber hinaus unterstützt diese Architektur das Best-of-Breed-Prinzip und bietet Camina & Schmid so die Möglichkeit, das System flexibel zu erweitern oder beispielsweise zukünftig ein anderes Frontend anzubinden ohne gleichzeitig das Backend überarbeiten zu müssen.
Headless Documents ist ein neues Feature bei Pimcore, zu dem es bisher nur wenige Cases gibt. Welche Learnings ziehst du aus diesem Projekt und wie bewertest du deine Erfahrung mit dem neuen Feature?
Aus meiner Sicht ist Headless CMS eine wirklich gute Erweiterung der Pimcore Plattform, weil sie die Basis dafür schafft, moderne Frontend-Frameworks mit Pimcore zu verbinden. Die große Stärke von Pimcore ist das Data-Management: Produktdaten aus dem PIM, digitale Assets aus dem DAM und Documents (CMS) können dabei problemlos miteinander in Beziehung gesetzt werden, da sie in einer integrierten Plattform zusammengefasst sind. Um diese Daten in einer Frontend-Applikation ausspielen zu können, stellt Pimcore mit dem Datahub eine Schnittstelle zur Verfügung, die die Integration stark vereinfacht.
Hinzu kommt, dass Pimcore innerhalb des Datahubs als Schnittstellenoption GraphQL unterstützt, welches zudem erlaubt, gezielt die Daten abzufragen, die das Headless Frontend benötigt – ohne dabei zusätzlichen Entwicklungsaufwand auf Backend-Seite zu erzeugen.
Meiner Meinung nach hat Pimcore mit den neuen Headless Features die Grundlage geschaffen, spannende neue Websites und Anwendungen entwickeln zu können und dabei zugleich freie Wahl beim Frontend Techstack zu haben. In diesem Projekt habe ich das Frontend mit Vue.js umgesetzt. Perspektivisch finde ich auch eine Umsetzung in Nuxt 3 interessant. Bisher gibt es noch nicht viele Projekte, die auf Headless Documents aufbauen und wir mussten viele Lösungen selbst entwickeln und ausprobieren. Ich bin sehr gespannt darauf, welche Lösungsansätze in Zukunft in der Pimcore-Community entwickelt werden.
Michael Dick arbeitet seit 2020 als Frontend Developer in der Business Unit Pimcore bei basecom. Seine Schwerpunkte liegen dabei in der Entwicklung und Anbindung innovativer Frontend-Lösungen.
Bevor er zu basecom gekommen ist, war Michael als Mitbegründer an der Entwicklung einer Recruiting-Plattform beteiligt und als Freelance Web-Developer und Indie-Game-Developer tätig.
In seiner Freizeit führt Michael als Dungeon Master Abenteurer durch die Welt von Dungeons & Dragons.