Cloudflare heeft zijn contentmanagementsysteem EmDash uitgebracht. Net als WordPress ondersteunt het nieuwe systeem plugin-extensies, maakt het gebruik van sjablonen mogelijk voor het bouwen van verschillende soorten websites en biedt het een beheerdersinterface. Het ondersteunt ook serverloze platforms en verbetert de beveiliging door gebruik te maken van TypeScript met statische typen en plugins te isoleren in aparte sandbox-omgevingen.
De code van het project is geschreven in TypeScript met behulp van het Astro-webframework en wordt gedistribueerd onder de MIT-licentie. In de aankondiging wordt vermeld dat het product, dankzij de betrokkenheid van AI-agenten bij de ontwikkeling, in twee maanden is gerealiseerd. EmDash kan zowel binnen de infrastructuur van Cloudflare als zelfstandig functioneren. servers Met Node.js kunnen SQLite, Turso/libSQL en PostgreSQL als databasebeheersysteem (DBMS) worden gebruikt, en AWS S3, S3-compatibele systemen of een lokaal bestandssysteem als opslag. Redis of het bestandssysteem wordt aanbevolen voor het opslaan van sessie-informatie.
Het nieuwe systeem is ontwikkeld in een poging om WordPress opnieuw op te bouwen met behulp van moderne tools en bestaande problemen aan te pakken. Tot de geïdentificeerde problemen met WordPress behoren de noodzaak van apart codebeheer voor twee talen (PHP en JavaScript), het gebruik van caches op meerdere niveaus om acceptabele prestaties te bereiken, en de onveilige plugin-architectuur, die verantwoordelijk is voor 96% van alle kwetsbaarheden in het platform.
Elke WordPress-plugin heeft volledige toegang tot de database en integreert met de onderliggende PHP-code van het platform. Elke kwetsbaarheid in een plugin brengt de hele site dus in gevaar. In EmDash draaien plugins in aparte, geïsoleerde Workers, waarvan de mogelijkheden declaratief worden beperkt door het manifest. Als een plugin bijvoorbeeld leesrechten (read:content) en e-mailrechten (email:send) aanvraagt, krijgt deze alleen leesrechten en de mogelijkheid om e-mails te verzenden, meer niet. Omdat plugins niet zijn ingebed in de code van het contentmanagementsysteem, kunnen de auteurs zelf een licentie kiezen en de plugins via elke repository of applicatiecatalogus distribueren.
WordPress slaat content op in HTML-formaat met ingebedde metadata als interne commentaren. EmDash gebruikt een gestructureerd JSON-gebaseerd Portable Text-formaat, waarbij content en presentatie van elkaar gescheiden worden. Deze aanpak maakt het mogelijk om content in elk formaat weer te geven: webpagina's, mobiele apps, e-mails of API-reacties. Een ingebouwde MCP-server maakt integratie met AI-agents mogelijk, waarmee content beheerd kan worden en thema's en plugins ontwikkeld kunnen worden.
Het basispakket bevat drie starttemplates: blog, marketing en portfolio. Met de eerste template creëer je een standaardblog met een zijbalk, full-text zoekfunctie, categorieën, tags, RSS, reacties en de mogelijkheid om te wisselen tussen een donker en licht thema. De tweede template stelt je in staat om bedrijfswebsites te maken met prijslijsten, contactgegevens en product- en servicebeschrijvingen. De derde template is ontworpen om je prestaties te presenteren en je projecten te tonen.
Belangrijkste kenmerken van EmDash:
- Inhoud: publiceer content, verdeel deze in pagina's, definieer je eigen contenttypen, bewerk tekst visueel met behulp van TipTap, beheer contentversies, maak concepten aan, plan publicatie in, gebruik de volledige tekstzoekfunctie en bewerk tekst direct in de tekst.
- Beheerpaneel: visuele dataschema-builder, mediabibliotheek, navigatiemenu's, informatiesystematisering, widgets, mogelijkheid om content van WordPress over te zetten.
- Authenticatie: Wachtwoord (WebAuthn) met OAuth standaard, optie voor inloggen via link, op rollen gebaseerde toegangscontrole (beheerder, redacteur, auteur, deelnemer).
- Migratie vanuit WordPress: importeer berichten, pagina's en de structuur via WXR, de WordPress REST API of WordPress.com. Gebruik AI om plugins en thema's over te zetten.
Bron: opennet.ru
