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».

Dodaj komentarz

Your email address will not be published. Required fields are marked *