Connect with us

Entwicklung & Code

Sulu 3.0: CMS mit neuem Content-Speicher und klarerer Architektur


Sulu 3.0 ist erschienen. Mit dem Release vollzieht das quelloffene Content-Management-System (CMS) laut Blogbeitrag eine größere technische Umstrukturierung. Statt auf das bislang genutzte PHPCR‑Repository setzt das Projekt künftig vollständig auf Doctrine ORM und JSON‑Felder – eine Entscheidung, die nicht nur die Performance heben, sondern auch die Einstiegshürde für Symfony‑Entwickler senken soll. Nach Angaben des Teams kamen rund 150.000 Zeilen Code neu hinzu, mehr als 265.000 wurden entfernt.

Weiterlesen nach der Anzeige

Das Open-Source-CMS Sulu basiert auf dem PHP-Framework Symfony und dient als Headless‑ oder klassisches CMS für komplexe, mehrsprachige Webprojekte. Es richtet sich vor allem an Entwicklerinnen und Entwickler, die flexible Inhaltsmodelle mit vertrauten Symfony‑Werkzeugen umsetzen wollen. Für Symfony sind kürzlich die Versionen 7.4 und 8.0 erschienen.

Mit der Abkehr vom speicherintensiven PHPCR führt Sulu ein neues Modell zur Ablage von Inhalten ein: Seiten, Artikel oder Snippets werden jetzt als reguläre Doctrine‑Entitäten mit JSON‑Spalten verwaltet. Damit greifen Developer direkt auf bekannte Tools und SQL‑Abfragen zurück, statt eine eigene Query‑Sprache lernen zu müssen.

Das System nutzt sogenannte Dimensionen, um Sprach‑, Veröffentlichungs‑ und Versionszustände abzubilden. So lassen sich nicht übersetzbare Felder in mehreren Sprachvarianten weiterverwenden – ein Ansatz, der die vorherige, tiefer verschachtelte Struktur ersetzt und sich offenbar leichter debuggen lässt.

Nach Angaben des Teams bringt der neue Speicheransatz spürbare Leistungsgewinne. Content‑Strukturen lassen sich nun direkt in der Datenbank nachvollziehen, während Konfigurationsdaten weiterhin als XML im Repository bleiben.

Weiterlesen nach der Anzeige

Auch das Update der PHP-Bibliothek Flysystem auf Version 3 soll zur Vereinfachung der Handhabung von Mediendateien beitragen. Diese können künftig über eine einheitliche Schnittstelle auf unterschiedlichen Backends abgelegt werden, beispielsweise auf Amazon S3, Microsoft Azure, WebDAV oder Dropbox.

Neben der Speicherarchitektur wurde das Artikel‑Bundle neu geschrieben. Es lässt sich nun ohne die Suchmaschine und das Analytic-Tool Elasticsearch betreiben, wodurch kleineren Projekten die Installation eines separaten Suchdienstes erspart bleiben soll. Für große Installationen bleibt die Option durch ein ergänzendes Bundle erhalten, das Elasticsearch wieder einbindet.

Ebenfalls neu ist SEAL, der Search Engine Abstraction Layer. Er bündelt Anbindungen an Suchsysteme wie Loupe, Meilisearch, Solr oder Elasticsearch hinter einer gemeinsamen API. Standardmäßig kommt Loupe zum Einsatz – eine SQLite‑basierte, PHP‑interne Lösung, die für mittlere Datenmengen ausreichend schnell arbeitet.

Sulu liefert ein eigenes Tool, um vorhandene PHPCR‑Daten zu konvertieren. Das Migration‑Bundle überführt Seiten, Artikel, Snippets und URLs in die neue Speicherstruktur und protokolliert detailliert, wo gegebenenfalls Nacharbeit nötig ist.

Wer die Umstellung nicht allein durchführen möchte, kann laut Entwicklerteam auf Community‑Hilfe via Slack und GitHub oder auf professionelle Unterstützung zurückgreifen. Weitere Informationen zur Hilfe sowie zum Release finden sich im Blogbeitrag.

Mit Version 3.0 endet die Pflege für Sulu 1.6, während Sulu 2.6 als LTS-Version (Long-term Support) erhalten bleibt. Die neue Architektur soll künftige Funktionen erleichtern und das CMS langfristig wartbarer machen. Näheres zum Release und zum CMS auch auf GitHub.


(mdo)



Source link

Entwicklung & Code

Hallo Developer, hallo heise, hallo C++


Weiterlesen nach der Anzeige

Ich bin Andreas Fertig. Seit vielen Jahren beschäftige ich mich mit der Programmiersprache C++. Mein Wissen teile ich im Rahmen von Trainings, Vorträgen und auch Artikeln wie in der iX oder meinem privaten Blog. Dort veröffentliche ich pro Monat einen Artikel zu C++ auf Englisch.


Portrait von Andreas Fertig

Portrait von Andreas Fertig

Andreas Fertig ist erfahrener C++-Trainer und Berater, der weltweit Präsenz- sowie Remote-Kurse anbietet. Er engagiert sich im C++-Standardisierungskomitee und spricht regelmäßig auf internationalen Konferenzen. Mit C++ Insights ( hat er ein international anerkanntes Tool entwickelt, das C++-Programmierenden hilft, C++ noch besser zu verstehen.

Die Neuerung für (C++)2026 ist, dass ihr diese Artikel ab sofort auch hier bei heise Developer und auf Deutsch lesen könnt.

Mir ist bewusst, dass ich mit dem Blog in die Fußstapfen von Rainer Grimm trete, den ich sehr geschätzt habe und der leider viel zu früh von uns gegangen ist. Uns beiden lagen C++ und Wissen teilen sehr am Herzen. Mit meinem Blog möchte ich das Thema C++ hier bei heise Developer weiterführen.

Wie der Name des Blogs (der Titel „C++ Werkbank“ verzichtet bewusst auf den Bindestrich) verrät, werde ich mich mit C++-Themen beschäftigen, die dir helfen sollen, deine C++-Kenntnisse zu verbessern und mit einem neuen Werkstück aus jedem Post zu gehen.

Da ich mich viel im Umfeld eingebetteter Systeme bewege, haben meine Artikel häufig einen Fokus auf Effizienz und Performance. Auch Aspekte wie Softwaredesign werden gelegentlich ein Thema sein. Wie in meinen Trainings werde ich auch immer wieder auf Fallstricke wie undefiniertes Verhalten hinweisen. Mein Ziel ist es immer selbst robusten Code zu schreiben, der lange leben kann, und genau das vermittle ich auch in meinen Beiträgen.

Weiterlesen nach der Anzeige

Als Mitglied im C++-Standardisierungskomitee werde ich gelegentlich auch über Neuerungen für den nächsten C++-Standard berichten.

Gerne kannst du mich auch schon vor dem ersten C++-Beitrag kennenlernen. Eine Übersicht meiner Social Media findest du hier.

Du bist an einem C++-Training für deine Firma interessiert? Hier findest du meine Trainings, welche selbstverständlich auf die Anforderungen deiner Firma und deines Teams angepasst werden können.

Andreas


(rme)



Source link

Weiterlesen

Entwicklung & Code

programmier.bar: Entwicklung von Headless Apps mit Rust


In dieser Podcastfolge der programmier.bar blicken Joachim Böhmer und Dennis Becker gemeinsam mit Marcel Koch, Softwareberater, Coach und Rust-Autor, über den Tellerrand klassischer Cross-Platform-Frameworks. Im Mittelpunkt steht das Konzept sogenannter Headless Apps und die Frage, wie sich Anwendungslogik unabhängig von konkreten UI-Technologien umsetzen lässt.

Weiterlesen nach der Anzeige

Die drei diskutieren, wie sich die Business-Logik einer Anwendung vollständig in Rust kapseln lässt, um sie plattformübergreifend einzusetzen – unabhängig davon, ob die Benutzeroberfläche mit Flutter, SwiftUI oder Jetpack Compose umgesetzt wird. Auch der Einsatz im Web über WebAssembly (Wasm) sowie auf Mikrocontrollern ist Teil der Betrachtung. Es geht um die Trennung von Core-Logik und UI für die Reduktion technologischer Abhängigkeiten.

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmung wird hier ein externer Inhalt geladen.

In dieser Folge gibt es außerdem einen Architektur-Deep-Dive zu Headless Apps sowie zur Rolle von Rust in diesem Kontext, insbesondere mit Blick auf Performance, Memory Safety und Portabilität. Zudem stellt Marcel Koch das Crux-Framework von Red Badger vor, das den Datenaustausch zwischen dem Rust-Core und den jeweiligen UI-Shells automatisiert. Abschließend diskutieren die drei, in welchen Fällen sich der Mehraufwand einer Headless-Architektur lohnt und wann klassische Lösungen wie Flutter oder Kotlin Multiplatform die sinnvollere Wahl sind.

Die aktuelle Ausgabe des Podcasts steht auch im Blog der programmier.bar bereit: „Headless Apps mit Marcel Koch“. Fragen und Anregungen gerne per Mail oder via Mastodon, Bluesky, LinkedIn oder Instagram.

Weiterlesen nach der Anzeige


(mdo)





Source link

Weiterlesen

Entwicklung & Code

KI-Video- und -Bild-Ersteller Amuse am Ende, ComfyUI als Ersatz


Wer mit dem KI-Tool Amuse Bilder und Videos generiert, könnte sich über ausbleibende Aktualisierungen wundern. Das Projekt liegt offenbar auf Eis, ist aber seit Dezember als Open Source verfügbar. Als Alternative bietet sich ComfyUI an.

Weiterlesen nach der Anzeige

Genaue Hintergründe sind unbekannt, jedoch hat sich der Hauptentwickler hinter Amuse zurückgezogen. Die ursprünglich genutzte Domain amuse.ai steht inzwischen zum Verkauf. Der Quellcode ist unter Apache-2.0-Lizenz auf Github verfügbar. Allerdings sind zwei externe Abhängigkeiten vorhanden, für die Interessierte offenbar Lizenzen erstehen müssen. Die Entwicklung ist damit faktisch zum Erliegen gekommen.

Der bisherige Stand lässt sich weiterhin nutzen. Jedoch sind die Fähigkeiten der verfügbaren KI-Modelle rasch veraltet, aktuelle Modelle liefern etwa mehr, korrektere und natürlichere Details. Amuse hat die Bedienung massiv vereinfacht und auch Hardware-Beschleunigung auf Prozessoren mit ausreichend potenter GPU oder NPU angeboten.

AMD wirbt inzwischen nicht mehr für Amuse, sondern prescht aktuell mit einer besseren Integration mit AMD ROCm 7.1.1 in ComfyUI vor. Dafür empfiehlt AMD etwa ein Ryzen AI Max+-System mit 128 GByte Speicher oder eine Radeon AI Pro R9700 in Verbindung mit 64 GByte RAM „für eine optimale Erfahrung“.

Die Alternative ComfyUI gibt es als Download für Windows, macOS oder als manuelle Installation über Github – die liefert auch die größte Unterstützung etwa für Nvidia, AMD, Intel, Apple Silicon oder Ascend mit. Auf der Release-Webseite von ComfyUI gibt es aber auch Portable-Versionen mit Optimierungen für AMD oder Nvidia, die keine Installation benötigen.

Das Web-Interface von ComfyUI ist für Umsteiger erst einmal gewöhnungsbedürftig, lässt sich jedoch nach kurzer Zeit ebenfalls einfach nutzen. Es stehen viel mehr Modelle als in Amuse zur Auswahl, insbesondere zahlreiche Videogeneratoren. Aber auch zur Klangerzeugung und zur Erstellung von KI-Bildern sind zahlreiche Modelle vorhanden. Die Installation etwa in der portablen Version ist ebenfalls ungewohnt. Fehlen Dateien für ein Modell, erscheint ein Dialog mit Schaltflächen zum Herunterladen. Davor steht in dem Dialog dann das Verzeichnis, in das die Datei unter dem „models“-Ordner des ComfyUI-Verzeichnisses gehört; dahin muss die jeweilige Datei einfach gespeichert werden.

Im Graphen auf dem Web-Interface kann man etwa den Prompt und Ausgabegröße in den einzelnen Elementen anpassen und dann die KI ihr Werk vollbringen lassen. Allerdings gelingt das etwa mit AMD Ryzen 7840HS/7640HS-Prozessoren mit ihren mit rund 10 TOPS „schnellen“ NPUs nicht, was unter Amuse kein Problem war. Allerdings waren die Prozessoren auch unter Amuse nicht offiziell unterstützt. Für die älteren Prozessoren bleibt also lediglich, bei Bedarf die ältere Software mit den veraltenden Modellen zu nutzen.

Weiterlesen nach der Anzeige


(dmk)



Source link

Weiterlesen

Beliebt