Version 6 mit aufgewerteter Community-Version, vielen Innovationen und KI-Unterstützung
Nur noch wenige Tage, dann veröffentlicht die Frankfurter Software-Hersteller Structr ihre Version 6.0 der gleichnamigen Low-Code-Plattform. Besondere Vorfreude hat das Team auf den Relaunch der Community Website https://structr.org. Mit Release 6 wird die Community-Variante keine funktionalen Einschränkungen mehr haben und sich auch ohne eine Lizenz aus den Quellen bauen lassen.
Um das Release nicht zu verpassen, empfehlen wir, sich auf https://structr.org für das News-Update anzumelden.

Darüber hinaus glänzt Version 6 mit vielen innovativen Neuerungen in allen Bereichen. Besonders interessant dürften für viele die MCP Server-Tool-Suite sein, mit der sich Structr über ein LLM fernsteuern und damit Anwendungen interaktiv mit KI-Unterstützung entwickeln lassen.
Innovative Konzepte für die Datenmodellierung
Zahlreiche Neuerungen und Verbesserungen wird Release 6 mitbringen. So wird mit der Einführung des Trait-Konzepts [1] erstmals die Mehrfachvererbung von Typen im Datenschema unterstützt. Damit lassen sich Datenmodelle weiter vereinfachen, wovon insbesondere komplexe Zusammenhänge profitieren.
Auch wird mit Version 6 die Kompilier-Zeit des Datenschemas von mehreren Sekunden auf wenige Millisekunden reduziert, wodurch Schema-Änderungen quasi instantan wirksam werden.
Gerade diese Verbesserung beschleunigt den Entwicklungsprozess immens und liefert auch die Voraussetzung für die Interaktion mit KI-Agenten wie z.B. MCP Server Tools. Mit ZonedDateTime [2] steht ein neuer Attribut-Typ zur optimierten Verarbeitung von Datumsangaben mit Zeitzonen zur Verfügung.
Verbesserte technische Infrastruktur
Auf Datenbank-Ebene werden alle aktuellen Neo4j-Datenbankversionen unterstützt und darüber hinaus neue Index-Typen eingeführt wie z.B. Volltext- und Vektor-Indexe.
Ein weiterer technischer Meilenstein ist die Entfernung des Objekt-Caches, der bisher die horizontale Skalierbarkeit aufwendig machte, da die Objekt-Zustände zwischen allen Instanzen synchronisiert werden mussten. Ohne den Objekt-Cache ist eine Structr-Instanz nunmehr vollständig stateless, so dass beliebige Instanzen ohne Risiko von Inkonsistenzen gegen einen Datenbank-Cluster laufen können.
Für die Speicherung von Verzeichnissen und Dateien im virtuellen Dateisystem stehen ab Version 6 verschiedene Backend-Provider zur Verfügung, und es können sogar unterschiedliche Backends pro Verzeichnis konfiguriert werden. So kann z.B. ein Archiv-Bereich auf günstigen Objekt-Storage zugreifen, während häufig benötigte Medien auf schnellen lokalen SSDs liegen.
Ein Upgrade auf Oracle’s GraalVM für JDK 24 sowie Version 12 der Servlet-Engine Jetty sind ebenfalls umgesetzt worden.
Mehr Komfort und bessere Tools im Admin-Bereich
Im Admin-Bereich werden ebenfalls zahlreiche Verbesserungen Einzug halten. Erstmals wird die gesamte Dokumentation des Produktes in das Admin-UI integriert und ist damit jederzeit auch kontext-bezogen erreichbar. Für die Remote-Administration stehen eine Admin-Konsole bereit, die über SSH erreicht werden kann. So lassen sich auch Headless-Systeme einfach administrieren, wenn keine Web-Oberfläche verfügbar ist.
Die Entwicklung von User Workflows wird durch zahlreiche Verbesserungen im sogenannten Event-Action-Mapping weiter erleichtert. So können Frontend-Elementen und -Aktionen noch flexibler mit Backend-Methoden und -Schnittstellen verknüpft werden, und für diese Elemente steht auch eine neue navigierbare Graph-Ansicht zur Verfügung.
Die Performance konnte mit Version 6 auch weiter gesteigert werden. Insbesondere ist die Skript-Verarbeitung schneller geworden, und mit einer der im September erwarteten neuen GraalVM-Versionen werden auch ECMAScript-Module bzw. deren Import im Scripting unterstützt. Diese Verbesserung sowie die Einführung von Service-Klassen erleichtern die Übersicht, so dass sich auch komplexen Code-Strukturen einfacher handhaben lassen.
[1] https://en.wikipedia.org/wiki/Trait_(computer_programming)
[2] https://docs.oracle.com/javase/8/docs/api/java/time/ZonedDateTime.html