Die diesjährige Neos Con fand vom 29. Mai bis zum 1. Juni in Karlsruhe statt, und wir durften als Goldsponsor natürlich nicht fehlen. Eine Besonderheit in diesem Jahr war, dass sowohl die Veranstaltung als auch die Unterkunft am selben Ort gewesen sind. So konnten wir nahtlos von den Talks zum Abendessen übergehen, das fließend ins Social Event überging.
Zebra – Next.js und Neos im Einklang
Christopher stellte in seinem Talk "Zebras in the Wild – One Year of Neos and Next.js Projects" unsere Lösung Zebra vor.
Mit Zebra ist es möglich, Next.js als Frontend für Neos zu nutzen. Die Lösung besteht aus zwei Neos-Paketen und einem npm-Paket: dem ContentApi-Paket, das eine generische JSON-API bereitstellt, und dem Next-Paket, das Next.js-Support zu Neos hinzufügt. Das Zebra npm-Paket integriert Neos-Support in Next.js.
Wenn du Zebra direkt ausprobieren möchtest, kannst du dir deine eigene Demo Instanz erstellen und es selbst testen.
Inspirierende Vorträge und Workshops
Besonders gefreut habe ich mich über das Neos Community Orchestra, das dieses Jahr sein Debüt hatte und die Konferenz mit einem eigens komponierten Stück eröffnete.
Ein weiteres Highlight war der Vortrag "Editors Think in Content, Not Nodetypes" von Stefan Bruggmann. Er verdeutlichte die unterschiedlichen Denkweisen von Entwicklern und Redakteuren. Entwickler müssen verstehen, dass Redakteure nicht zuerst an Nodetypes denken, sondern grob kategorisieren, ob es sich beispielsweise um Text oder Bilder handelt. Erst danach entscheiden sie, ob Bilder als Galerie, Slider oder vollflächig dargestellt werden sollen.
Stefan schlug als technische Lösung vor, mit einer Layout-Property zu arbeiten. Beispielsweise kann ein Image NodeType mehrere Bilder enthalten, und der Redakteur kann mithilfe der Layout-Property zwischen Galerie und Slider wechseln. So kann das Layout später geändert werden, ohne dass die Bildreferenzen verloren gehen.
Diese Technik hat jedoch ihre Grenzen, da die NodeType-Definitionen komplex werden können. Als Lösungsansatz hat Stefan das ContentSubgroups-Paket entwickelt. Es unterteilt den Node-Erstellungsdialog in zwei Schritte: Zuerst wählt der Redakteur Inhaltsgruppen wie Text oder Bilder aus, danach werden passende NodeTypes wie Galerie oder Slider angezeigt.
Ein weiteres Highlight waren die "Detektivgeschichten" von Sebastian Helzle. Er stellte verschiedene Tools zum Debuggen von Neos vor und sprach über Performance-Probleme, die ihm in seinen Projekten begegnet sind.
Spoiler: Häufig war das "alte" Content Repository das Problem. ;)
In einer Geschichte ging es um die Angst, viele Änderungen in Neos zu veröffentlichen. Bei großen Seiten und vielen Änderungen konnte dieser Prozess Stunden dauern und war fehleranfällig. Als Problem hat sich der Cache herausgestellt, da dieser nach jedem Event geleert und irrelevante oder alte Workspaces ebenfalls beachtet wurden. So konnte Sebastian die Veröffentlichungszeit in seinem Beispiel von 23 auf 5 Sekunden reduzieren.
In einer anderen Geschichte ging es um eine Seite, die im Produktionssystem lange Ladezeiten hatte. Ein Eel-Helper, der die Bildgröße anhand der Metadaten ermittelte, war der Übeltäter. Da die Bilder in einem S3-Bucket gespeichert waren, mussten sie heruntergeladen werden, um die Größe zu ermitteln. Im Dev-System, wo die Bilder lokal gespeichert waren, trat das Problem deshalb nicht auf. Die Lösung war, die Bildgröße aus der Datenbank abzufragen.
Neos Award für Innovation: Projekt myHogast
Zusammen mit Format D haben wir dieses Jahr den Neos Award für Innovation gewonnen. Eingereicht haben wir Projekt myHogast, welches mithilfe von Zebra umgesetzt wurde.
Fazit und Ausblick
Für mich war es übrigens die erste Neos Con, und ich freue mich schon aufs nächste Jahr!