Cloudflare har offentliggjort indholdsstyringssystemet EmDash. Ligesom WordPress understøtter det nye system udvidelser via plugins, muliggør brug af skabeloner til at opbygge forskellige typer websteder og tilbyder et administrationsinterface, men kan også køre på serverløse beregningsplatforme og forbedrer sikkerheden ved at anvende TypeScript med statiske typer og isolering af plugins i separate sandbox-miljøer.
Projektkoden er skrevet i TypeScript ved hjælp af webrammen Astro og distribueres under MIT-licensen. I pressenotatet nævnes det, at produktet blev udviklet på bare to måneder ved at inddrage AI-agenter i udviklingen. EmDash kan fungere både i Cloudflare's infrastruktur og køre på egne servere ved hjælp af Node.js. servere Som database kan der anvendes SQLite, Turso/libSQL og PostgreSQL, og som lager kan der bruges AWS S3, S3-kompatible systemer eller et almindeligt lokalt filsystem. Til opbevaring af sessionoplysninger anbefales det at bruge Redis eller et filsystem.
Det nye system er udviklet som et forsøg på at genskabe WordPress-projektet med moderne værktøjer og at løse eksisterende problemer. Blandt problemerne med WordPress nævnes behovet for separate kodehåndteringer på to sprog (PHP og JavaScript), anvendelsen af hierarkiske cache-løsninger for at opnå acceptabel ydeevne og den usikre plugin-arkitektur, som står for 96% af alle sårbarheder på platformen.
Hvert WordPress-plugin har fuld adgang til databasen og integreres med PHP-koden i den primære platform, så enhver sårbarhed i et plugin kompromitterer hele hjemmesiden. I EmDash køres plugins i separate isolerede Worker-processer, hvis kapaciteter begrænses deklarativt i et manifest. For eksempel, hvis et plugin anmoder om rettigheder til read:content og email:send, vil det kun få adgang til læsning og muligheden for at sende e-mails, ikke mere. Da plugins ikke er indlejret i indholdsstyringssystemets kode, er deres forfattere frie til at vælge enhver licens og distribuere plugins gennem hvilke som helst repositories og applikationskataloger.
WordPress gemmer indhold i HTML-format med metadata, indlejret i form af interne kommentarer. EmDash anvender et struktureret format, baseret på JSON, kaldet Portable Text, der adskiller indhold fra præsentationen. Denne tilgang muliggør rendering af indhold i forskellige visninger—som en webside, mobilapplikation, email eller API-svar. Der er indbygget en MCP-server, der giver mulighed for integration med AI-agenter, som kan håndtere indholdet, samt bruges til at skabe temaer og plugins.
Den grundlæggende pakke tilbyder tre indledende skabeloner: blog, marketing og portefølje. I det første tilfælde oprettes en typisk blog med en sidebar, fuldtekst-søgning, kategorier, tags, RSS, kommentarer og muligheden for at skifte mellem mørke og lyse temaer. Den anden skabelon muliggør oprettelse af virksomhedswebsites med priser, kontaktinformation og beskrivelse af varer og tjenester. Den tredje skabelon er fokuseret på præsentation af egne præstationer og projekter.
Vigtige funktioner i EmDash:
- Indhold: publicering af materiale, opdeling i sider, definition af egne indholdstyper, redigering af tekst med markup i visuel tilstand ved hjælp af TipTap-editoren, versionsstyring af indhold, udarbejdelse af udkast, planlagt publicering, fuldtekstsøgning og inline-redigering.
- Administrationspanel: visuel dataskabeloner, biblioteker for multimedia, navigationsmenuer, systematisering af information, widgets, mulighed for at overføre indhold fra WordPress.
- Autentifikation: som standard Passkey (WebAuthn) med OAuth, mulighed for login via link, adgangsfordeling baseret på roller (administrator, redaktør, forfatter, deltager).
- Migration fra WordPress: import af indlæg, sider, struktur via WXR, WordPress REST API eller WordPress.com. Anvendelse af AI til overførsel af plugins og temaer.
Kilde: opennet.ru
