Ir al contenido

Instalar plugins

Los plugins de EmDash pueden instalarse de dos maneras: desde el marketplace en el panel de administración o añadiéndolos directamente a tu configuración de Astro. Los del marketplace se ejecutan en un entorno aislado; los basados en configuración se ejecutan en el mismo proceso que tu sitio.

El panel de administración incluye un navegador del mercado donde puedes buscar, instalar y gestionar complementos.

Para instalar complementos del mercado, tu sitio necesita:

  1. Ejecutor de sandbox configurado — Los complementos del mercado se ejecutan en workers V8 aislados, lo que requiere el entorno de ejecución del sandbox:

    astro.config.mjs
    import { emdash } from "emdash/astro";
    export default defineConfig({
    integrations: [
    emdash({
    marketplace: "https://marketplace.emdashcms.com",
    sandboxRunner: true,
    }),
    ],
    });
  2. Acceso de administrador — Solo los administradores pueden instalar o eliminar complementos.

  1. Abre el panel de administración y navega a Complementos > Mercado
  2. Navega o busca un complemento
  3. Haz clic en la tarjeta del complemento para ver su página de detalles — README, capturas de pantalla, capacidades y resultados de auditoría de seguridad
  4. Haz clic en Instalar
  5. Revisa el diálogo de consentimiento de capacidades — esto muestra a qué podrá acceder el complemento
  6. Confirma la instalación

El complemento se descargará, se almacenará en tu bucket R2 del sitio y se cargará en el ejecutor del sandbox. Estará activo inmediatamente.

Antes de la instalación, verás un diálogo que enumera a qué necesita acceder el complemento:

CapacidadQué significa
read:contentLeer tu contenido
write:contentCrear, actualizar y eliminar contenido
read:mediaAcceder a tu biblioteca multimedia
write:mediaSubir y gestionar medios
network:fetchRealizar solicitudes de red a hosts específicos

Cada versión de complemento en el mercado ha pasado por una auditoría de seguridad automatizada. El veredicto de la auditoría aparece en la tarjeta del complemento:

  • Aprobado — No se encontraron problemas
  • Advertencia — Se marcaron preocupaciones menores (revisa los hallazgos)
  • Fallido — Se detectaron problemas de seguridad significativos

Puedes ver el informe completo de la auditoría en la página de detalles del complemento, incluidos los hallazgos individuales y su gravedad.

Cuando hay una versión más nueva disponible de un complemento instalado:

  1. Ve a Complementos en el panel de administración
  2. Los complementos del mercado muestran una insignia Actualización disponible
  3. Haz clic en Actualizar para ver el registro de cambios y cualquier cambio de capacidad
  4. Si la nueva versión requiere capacidades adicionales, verás una comparación y deberás aprobarlas
  5. Confirma para actualizar
  1. Ve a Complementos en el panel de administración
  2. Haz clic en el complemento del mercado que deseas eliminar
  3. Haz clic en Desinstalar
  4. Elige si conservar o eliminar los datos almacenados del complemento
  5. Confirma

El código del sandbox del complemento se elimina de tu bucket R2 y deja de ejecutarse inmediatamente.

Para complementos de confianza (tu propio código, o paquetes que instalas vía npm), agrégalos directamente a tu configuración de Astro:

astro.config.mjs
import { defineConfig } from "astro/config";
import { emdash } from "emdash/astro";
import seoPlugin from "@emdash-cms/plugin-seo";
export default defineConfig({
integrations: [
emdash({
plugins: [
seoPlugin({ generateSitemap: true }),
],
}),
],
});

Los plugins basados en configuración:

  • Se ejecutan en el mismo proceso (no en sandbox)
  • Tienen acceso completo a las APIs de Node.js
  • Se cargan en tiempo de compilación y en cada inicio del servidor
  • No se pueden instalar o eliminar desde la UI de administración

Marketplace vs. configuración: cuándo usar cada opción

Sección titulada «Marketplace vs. configuración: cuándo usar cada opción»
MercadoConfiguración
EjecuciónAislado en V8 (sandbox)En el mismo proceso
Método de instalaciónUI de administraciónCambio de código + despliegue
CapacidadesAplicadas en tiempo de ejecuciónSolo documentación
APIs de Node.jsNo disponiblesAcceso completo
Ideal paraComplementos de tercerosCódigo propio
ActualizacionesUn clic en el administradorCambio de versión + despliegue