Installazione dei Plugin

In questa pagina

I plugin EmDash possono essere installati in due modi: dal marketplace tramite il pannello di amministrazione, oppure aggiunti direttamente nella configurazione Astro. I plugin del marketplace vengono sempre eseguiti in sandbox; i plugin basati sulla configurazione vengono eseguiti in sandbox o in-process a seconda dell’array in cui sono dichiarati (sandboxed: [] vs plugins: []).

Dal Marketplace

Il pannello di amministrazione include un browser del marketplace dove puoi cercare, installare e gestire plugin.

Prerequisiti

Per installare plugin del marketplace, il tuo sito necessita di:

  1. Sandbox runner configurato — I plugin del marketplace vengono eseguiti in un ambiente isolato, che richiede il sandbox runner. La seguente configurazione lo abilita:

    import { defineConfig } from "astro/config";
    import emdash from "emdash/astro";
    
    export default defineConfig({
      integrations: [
        emdash({
          marketplace: "https://marketplace.emdashcms.com",
          sandboxRunner: "@emdash-cms/sandbox-cloudflare",
        }),
      ],
    });
  2. Accesso amministratore — Solo gli amministratori possono installare o rimuovere plugin.

Esplora e Installa

  1. Apri il pannello di amministrazione e vai su Plugin > Marketplace
  2. Esplora o cerca un plugin
  3. Clicca sulla card del plugin per vedere la sua pagina dei dettagli — README, screenshot, capacità e risultati dell’audit di sicurezza
  4. Clicca su Installa
  5. Rivedi la finestra di consenso delle capacità — mostra a cosa il plugin potrà accedere
  6. Conferma l’installazione

Il plugin verrà scaricato, memorizzato nel bucket R2 del tuo sito e caricato nel sandbox runner. È attivo immediatamente.

Consenso delle Capacità

Prima dell’installazione, vedrai una finestra che elenca a cosa il plugin necessita di accedere:

CapacitàCosa significa
content:readLeggere i tuoi contenuti
content:writeCreare, aggiornare ed eliminare contenuti
media:readAccedere alla tua libreria multimediale
media:writeCaricare e gestire media
network:requestEffettuare richieste di rete a host specifici

Audit di Sicurezza

Ogni versione di plugin nel marketplace è stata sottoposta a un audit di sicurezza automatizzato. Il verdetto dell’audit appare sulla card del plugin:

  • Pass — Nessun problema trovato
  • Warn — Preoccupazioni minori segnalate (rivedi i risultati)
  • Fail — Problemi di sicurezza significativi rilevati

Puoi visualizzare il report completo dell’audit nella pagina dei dettagli del plugin, inclusi i singoli risultati e la loro gravità.

Aggiornamenti

Quando è disponibile una versione più recente di un plugin installato:

  1. Vai su Plugin nel pannello di amministrazione
  2. I plugin del marketplace mostrano un badge Aggiornamento disponibile
  3. Clicca su Aggiorna per vedere il changelog e eventuali modifiche alle capacità
  4. Se la nuova versione richiede capacità aggiuntive, vedrai una differenza e dovrai approvare
  5. Conferma per aggiornare

Disinstallazione

  1. Vai su Plugin nel pannello di amministrazione
  2. Clicca sul plugin del marketplace che vuoi rimuovere
  3. Clicca su Disinstalla
  4. Scegli se mantenere o eliminare i dati memorizzati del plugin
  5. Conferma

Il codice sandbox del plugin viene rimosso dal tuo bucket R2 e smette di funzionare immediatamente.

Dalla Configurazione

I plugin nativi — il tuo codice o pacchetti installati tramite npm — vengono aggiunti direttamente alla configurazione Astro. L’esempio seguente registra il plugin SEO:

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 }),
      ],
    }),
  ],
});

Plugin nativi:

  • Vengono eseguiti in-process (non in sandbox)
  • Hanno accesso completo alle API Node.js
  • Vengono caricati al momento della build e ad ogni avvio del server
  • Non possono essere installati o rimossi dall’interfaccia di amministrazione

Marketplace vs. configurazione — quando usare quale

Marketplace (sandbox)Configurazione (nativo o in-process in sandbox)
Metodo di installazioneUn clic nell’interfaccia di amministrazioneModifica del codice + npm install + deploy
EsecuzioneRuntime sandbox tramite il runner configuratoIn-process (o in sandbox se elencato sotto sandboxed: [] e un runner è disponibile)
CapacitàApplicate dal bridge sandbox — gating ctx.* più isolamento runtimeSolo gating ctx.* (i plugin in-process possono aggirare tramite fetch() diretto, env, imports)
API Node.jsNon disponibiliAccesso completo (solo in-process)
Pagine di amministrazione ReactNo (Block Kit invece)Sì (plugin nativi)
Componenti di rendering PTNoSì (plugin nativi)
AggiornamentiUn clic nell’amministrazioneBump di versione + deploy
Ideale perLa maggior parte dei pluginPlugin che necessitano di integrazione al momento della build