Firma Cloudflare opublikowała system zarządzania treścią EmDash. Podobnie jak WordPress, nowy system wspiera rozszerzenia za pomocą wtyczek, pozwala na użycie szablonów do budowy różnych rodzajów stron oraz oferuje interfejs do administracji, ale może działać na platformach obliczeń bezserwerowych i zwiększa bezpieczeństwo dzięki zastosowaniu języka TypeScript z typami statycznymi oraz izolacji wtyczek w oddzielnych środowiskach sandboxowych.
Kod projektu napisany jest w języku TypeScript z wykorzystaniem web-frameworka Astro i jest dystrybuowany na licencji MIT. W zapowiedzi wspomniano, że dzięki zaangażowaniu agentów AI, produkt powstał w ciągu dwóch miesięcy. EmDash może działać zarówno w infrastrukturze Cloudflare, jak i być uruchamiany na własnych serwerach przy pomocy Node.js. serwerach Jako system zarządzania bazą danych (SGBD) można używać SQLite, Turso/libSQL oraz PostgreSQL, a jako miejsca przechowywania — AWS S3, systemów kompatybilnych z S3 lub zwykłego lokalnego systemu plików. Do przechowywania informacji o sesjach sugeruje się użycie Redis lub systemu plików.
Nowy system został stworzony jako próba odtworzenia projektu WordPress z użyciem nowoczesnych narzędzi i rozwiązania istniejących problemów. Wśród problemów WordPress wymienia się potrzebę oddzielnego zarządzania kodem w dwóch językach (PHP i JavaScript), stosowanie wielowarstwowych pamięci podręcznych w celu osiągnięcia akceptowalnej wydajności oraz niebezpieczną architekturę wtyczek, która jest przyczyną 96% wszystkich podatności na platformie.
Każda wtyczka WordPress ma pełny dostęp do SGBD i integruje się z kodem PHP podstawowej platformy, dlatego każda podatność w wtyczce całkowicie kompromituje całą stronę. W EmDash wtyczki uruchamiane są w oddzielnych, izolowanych Workerach, których możliwości są deklaratywnie ograniczone przez manifest. Na przykład, jeśli wtyczka żąda uprawnień read:content i email:send, uzyskuje dostęp tylko do odczytu oraz możliwość wysyłania wiadomości e-mail, i nic więcej. Ponieważ wtyczki nie wbudowują się w kod systemu zarządzania treścią, ich twórcy mogą dowolnie wybierać licencję i dystrybuować wtyczki przez różne repozytoria i katalogi aplikacji.
WordPress przechowuje treści w formacie HTML z metadanymi wbudowanymi w formie komentarzy wewnętrznych. EmDash wykorzystuje oparty na JSON-u strukturalny format Portable Text, który oddziela zawartość od jej formatu. Takie podejście umożliwia renderowanie treści w różnych widokach — jako strony internetowej, aplikacji mobilnej, e-maila lub odpowiedzi API. Posiada wbudowany serwer MCP, który umożliwia integrację platformy z agentami AI, mogącymi zarządzać treściami i używanymi do tworzenia szablonów oraz wtyczek.
W podstawowej wersji dostępne są trzy początkowe szablony: blog, marketing i portfolio. W pierwszym przypadku tworzony jest typowy blog z bocznym panelem, pełno kontekstowym wyszukiwaniem, kategoriami, tagami, RSS, komentarzami i przełącznikiem między ciemnym a jasnym motywem. Drugi szablon pozwala na tworzenie stron firmowych z cenami, danymi kontaktowymi oraz opisami produktów i usług. Trzeci szablon jest skierowany na prezentację osiągnięć i projektów.
Główne możliwości EmDash:
- Treść: publikacja materiałów, podział na strony, definiowanie własnych typów treści, edytowanie tekstu z formatowaniem w trybie wizualnym za pomocą edytora TipTap, zarządzanie wersjami treści, przygotowywanie wersji roboczych, publikacja według harmonogramu, pełnotekstowe wyszukiwanie oraz edytowanie inline.
- Panel administracyjny: wizualny kreator schematów danych, biblioteka multimediów, menu nawigacyjne, systematyzacja informacji, widgety, możliwość przenoszenia treści z WordPressa.
- Uwierzytelnianie: domyślnie Passkey (WebAuthn) z OAuth, możliwość logowania przez link, podział dostępu na podstawie ról (administrator, redaktor, autor, uczestnik).
- Migracja z WordPressa: import publikacji, stron, struktury przez WXR, WordPress REST API lub WordPress.com. Wykorzystanie AI do przenoszenia wtyczek i szablonów.
Źródło: opennet.ru
