Společnost Cloudflare zveřejnila systém správy obsahu EmDash. Podobně jako WordPress podporuje nový systém rozšíření pomocí pluginů, umožňuje použít šablony pro vytváření různých typů webů a poskytuje rozhraní pro administraci, ale může fungovat na bezserverových platformách a zvyšuje bezpečnost pomocí jazyka TypeScript se statickými typy a izolací pluginů ve zvláštních sandboxových prostředích.
Kód projektu je napsán v jazyce TypeScript s využitím webového frameworku Astro a je distribuován pod licencí MIT. V oznámení se uvádí, že díky zapojení AI agentů byl produkt vytvořen za dva měsíce. EmDash může fungovat jak v infrastruktuře Cloudflare, tak i běžet na vlastních serverech pomocí Node.js. Jako databáze může být použita SQLite, Turso/libSQL a PostgreSQL, a jako úložiště — AWS S3, S3-kompatibilní systémy nebo běžný místní souborový systém. Pro uchovávání informací o sezeních se doporučuje používat Redis nebo souborový systém.
Nový systém byl vyvinut jako pokus znovu vytvořit projekt WordPress s využitím moderních nástrojů a vyřešit existující problémy. Mezi problémy WordPress se uvádí potřeba odděleného řízení kódu ve dvou jazycích (PHP a JavaScript), používání vícestupňových cache pro dosažení přijatelných výkonů a nebezpečná architektura pluginů, která je příčinou 96% všech zranitelností na platformě.
Každý plugin WordPress má plný přístup k databázi a integruje se s PHP kódem hlavní platformy, takže jakákoliv zranitelnost v pluginu plně ohrožuje celý web. V EmDash se pluginy spouštějí v oddělených izolovaných workerech, jejichž schopnosti jsou deklarativně omezeny manifestem. Například, pokud plugin požaduje oprávnění read:content a email:send, bude mu otevřen pouze přístup pro čtení a možnost odesílání e-mailů, nic více. Protože se pluginy nevkládají do kódu systému správy obsahu, jejich autoři mohou svobodně zvolit jakoukoli licenci a distribuovat pluginy prostřednictvím jakýchkoli repozitářů a adresářů aplikací.
WordPress ukládá obsah ve formátu HTML s metadaty integrovanými ve formě interních komentářů. EmDash používá na JSON založený strukturovaný formát Portable Text, který odděluje obsah od prezentace. Tento přístup umožňuje vykreslovat obsah v jakýchkoli zobrazeních — jako webovou stránku, mobilní aplikaci, e-mail nebo odpověď API. Disponuje vestavěným MCP serverem, který umožňuje integraci platformy s AI agenty, kteří mohou spravovat obsah, a také se používat k vytváření šablon a pluginů.
V základní nabídce jsou tři počáteční šablony: blog, marketing a portfolio. V prvním případě se vytváří typický blog s bočním panelem, plnotextovým vyhledáváním, kategoriemi, štítky, RSS, komentáři a přepínáním mezi tmavým a světlým režimem. Druhá šablona umožňuje vytvářet webové stránky firem s cenami, kontaktními informacemi a popisem produktů a služeb. Třetí šablona je zaměřena na prezentaci vlastních úspěchů a projektů.
Hlavní funkce EmDash:
- Obsah: publikování materiálů, rozdělení na stránky, definice vlastních typů obsahu, editace textu s formátováním ve vizuálním režimu pomocí editoru TipTap, správa verzí obsahu, příprava konceptů, plánování publikací, plnotextové vyhledávání a inline úpravy.
- Administrační panel: vizuální nástroj pro vytváření datových schémat, multimediální knihovna, navigační menu, systematizace informací, widgety, možnost přenosu obsahu z WordPressu.
- Autentizace: výchozí Passkey (WebAuthn) s OAuth, možnost přihlášení pomocí odkazu, rozdělení přístupu na základě rolí (administrátor, redaktor, autor, účastník).
- Migrace z WordPressu: import publikací, stránek a struktury prostřednictvím WXR, WordPress REST API nebo WordPress.com. Použití AI pro portování pluginů a šablon.
Zdroj: opennet.ru
