Wtyczki w EmDash CMS — jak działają i czym różnią się od WordPress?

System wtyczek EmDash CMS to rewolucja w porównaniu z WordPress. Sandboxowane środowiska, deklarowane uprawnienia i izolacja sieciowa — oto nowy standard.

Wtyczki to serce każdego CMS-u — pozwalają rozszerzać funkcjonalność bez modyfikacji kodu bazowego. Ale sposób, w jaki wtyczki działają w EmDash CMS, jest radykalnie inny niż w WordPress. To nie jest ewolucja — to całkowite przeprojektowanie koncepcji wtyczek od zera.

Anatomia wtyczki EmDash

Wtyczka EmDash to pakiet TypeScript zdefiniowany za pomocą funkcji definePlugin(). Każda wtyczka może zawierać: hooki (reagowanie na zdarzenia cyklu życia treści), storage (własna przestrzeń danych), ustawienia (konfiguracja w admin panelu), niestandardowe strony administracyjne, trasy API i bloki Portable Text. Rejestruje się ją w pliku astro.config.mjs — albo jako zwykłą wtyczkę (plugins), albo jako sandboxowaną (sandboxed) dla maksymalnej izolacji.

Sandboxowane vs zwykłe wtyczki

EmDash oferuje dwa tryby uruchamiania wtyczek. Wtyczki zwykłe (plugins) działają w tym samym procesie co aplikacja — mają pełny dostęp do kontekstu, ale są zaufane. Wtyczki sandboxowane (sandboxed) działają w izolowanych Dynamic Workers — muszą zadeklarować uprawnienia w manifeście i nie mogą wyjść poza przyznane możliwości. W praktyce: wtyczki od zaufanych źródeł (np. oficjalne) można uruchamiać jako zwykłe, a wtyczki trzecie warto sandboxować dla bezpieczeństwa.

Marketplace i przyszłość ekosystemu

EmDash buduje własny marketplace wtyczek (marketplace.emdashcms.com), gdzie deweloperzy mogą publikować swoje rozwiązenia. Dzięki licencji MIT wtyczki mogą mieć dowolną licencję — open source lub komercyjną. Marketplace integruje się z systemem uprawnień: przy instalacji widzisz dokładnie, jakich dostępów potrzebuje wtyczka. To zupełnie inne podejście niż marketplace WordPress, gdzie musisz zaufać deweloperowi «na słowo».

Brak komentarzy