WB Polls
Crea sondaggi, lascia che visitatori o membri votino una volta e mostra i risultati in tempo reale ovunque nel tuo sito.
Estensione
WB Polls
Crea sondaggi, lascia che visitatori o membri votino una volta e mostra i risultati in tempo reale ovunque nel tuo sito.
Descrizione
WB Polls permette al proprietario di un sito di porre una domanda e mostrare i risultati in tempo reale su qualsiasi pagina EmDash.
Cosa ottieni
- Crea un sondaggio con da due a dieci risposte, a scelta singola o multipla.
- Aprilo quando sei pronto, chiudilo quando il voto deve terminare, oppure imposta un orario di chiusura.
- Scegli chi può votare: chiunque, oppure solo i membri che hanno effettuato l’accesso.
- Scegli quando mostrare i risultati: sempre, dopo un voto o dopo la chiusura del sondaggio.
- Scegli totali anonimi oppure risultati nominativi che il proprietario del sito può vedere.
- Collega un sondaggio a una pagina, a ogni voce di un tipo di contenuto o all’intero sito. Uno sviluppatore può anche inserire un sondaggio specifico tramite il suo id.
- Copia un sondaggio in una nuova bozza senza voti.
Come si incastra il tutto
Il plugin è il motore: archiviazione, rotte di voto e schermate di amministrazione. Un plugin EmDash non può aggiungere pagine, quindi il sondaggio visibile viene fornito come kit per il sito che copi una volta sola. Vedi Installazione.
Gli ospiti possono votare quando consenti a chiunque e il tuo host fornisce a EmDash l’indirizzo del visitatore (Cloudflare, o trustedProxyHeaders). I membri votano con il proprio account. Solo tu crei e gestisci i sondaggi.
Installazione
Prima di installare
1. Il tuo sito ha bisogno di un runner sandbox. I plugin del registro vengono eseguiti in una sandbox. Finché il sito non ne ha uno, Admin, Plugins mostra «No plugins configured» e nel menu non c’è Registry.
- Node: nel tuo sito esegui
npm install @emdash-cms/sandbox-workerd workerd, poi aggiungisandboxRunner: "@emdash-cms/sandbox-workerd/sandbox",dentroemdash()inastro.config.mjs. - Cloudflare: aggiungi
import from "@emdash-cms/cloudflare";esandboxRunner: sandbox(),. Servono il piano Workers Paid, il bindingworker_loaderschiamatoLOADER(decommentalo nella tua configurazione Wrangler) e un bucket R2 comestorage: r2(...), altrimenti l’installazione si ferma con «Storage error while installing plugin». Poi eseguinpm run deploy.
Ferma il server di sviluppo e riavvialo. Registry ora compare nel menu di amministrazione.
2. Il plugin è il motore. Le pagine per i visitatori provengono dal suo kit per il sito. Un plugin del registro non può aggiungere pagine al tuo sito. Finché non copi il kit, i suoi indirizzi (per esempio /account/votes) mostrano la pagina 404 del tuo sito. È previsto. La copia del kit qui sotto richiede un solo comando.
Verificato su EmDash 1.3.1 con il template blog, su Node e su Cloudflare Workers (installazione dal registro).
Installare
-
Admin, Registry, cerca WB Polls, Install, poi accetta le autorizzazioni.
-
Dalla cartella radice del tuo sito:
kit="$(mktemp -d)" && git clone --depth 1 \ --branch v0.5.0 \ https://github.com/wbcomdesigns/emdash-polls \ "$kit/emdash-polls" && "$kit/emdash-polls/scripts/add-to-site.sh" . -
Incolla le righe stampate. Riavvia il server di sviluppo.
-
Aggiungi il link di menu stampato in Admin, Menus.
-
Apri Polls nell’amministrazione.
Dopo un aggiornamento, esegui il passaggio 2 con il nuovo tag.
Guida: https://github.com/wbcomdesigns/emdash-polls/blob/v0.5.0/docs/website/getting-started/install.md
FAQ
Ho aggiornato il plugin e il voto si è fermato.
Copia di nuovo il kit per il sito. Un’installazione dal registro risponde a un id, non a /polls/. Il kit attuale trova quell’id.
Perché non c’è nessun sondaggio nella pagina dopo averne creato uno? Un sondaggio appena creato è una bozza. Apri il sondaggio dall’elenco. Poi collegalo a una pagina, a un tipo di contenuto o all’intero sito, e inserisci uno spazio per il sondaggio in quel template.
Gli ospiti possono votare?
Sì, quando imposti Who can vote su Anyone e l’host fornisce a EmDash l’indirizzo del visitatore: su Cloudflare, oppure con trustedProxyHeaders impostato su un’intestazione che il tuo proxy scrive e sostituisce da sé (dietro nginx, x-real-ip; mai un X-Forwarded-For accodato). Altrimenti agli ospiti viene chiesto di accedere, e la schermata Polls lo segnala. Un voto per visitatore. I membri che hanno effettuato l’accesso votano a proprio nome.
Un 401 nella console del browser è un problema? No. Un ospite riceve un 401 per ogni sondaggio dal controllo della scheda del membro, e uno su My votes. È così che il sondaggio scopre che il visitatore non ha effettuato l’accesso. Mostra poi la vista per gli ospiti.
Chi vede i nomi dei votanti? Solo tu, e solo in un sondaggio nominativo. Gli ospiti restano anonimi. I sondaggi anonimi non memorizzano mai un nome.
Funziona in modalità scura? Sì. Il kit segue l’impostazione di sistema del visitatore.
Posso mettere un sondaggio nel mezzo di un articolo? Non con l’installazione dal registro. Collegalo sopra o sotto il contenuto, oppure inserisci “ in un template. Un blocco nel testo richiede un’installazione attendibile; quel percorso è facoltativo e non cambia il prodotto del registro.
Esiste una versione a pagamento? No. Tutto qui è gratuito.
Perché chiede di leggere i miei contenuti? Perché un sondaggio collegato a una bozza resti nascosto finché non pubblichi quella pagina. WB Polls controlla solo se una pagina è pubblicata ed elenca i tuoi tipi di contenuto per nome.
Registro delle modifiche
0.5.0
Ogni pagina di sondaggio, voto e schermata di amministrazione ora rispetta il limite di Cloudflare di 10 richieste per chiamata di plugin.
- Novità - Ogni sondaggio mantiene un totale progressivo, così i risultati si mostrano con una sola lettura su un sondaggio di qualsiasi dimensione.
- Novità - Results include Recount votes, che ricalcola un sondaggio dai voti memorizzati.
- Miglioramento - L’eliminazione di un sondaggio lo nasconde subito; i suoi voti, nomi compresi, vengono rimossi quando apri le schermate di amministrazione.
- Miglioramento - Gli orari di apertura e chiusura vengono letti dalle date del sondaggio a ogni visualizzazione.
- Correzione - Su Cloudflare un voto di un ospite non mostra più «Something went wrong» dopo essere stato salvato.
- Correzione - Su Cloudflare la schermata Polls, Results, My votes e il pannello Poll non falliscono più su un sito molto trafficato.
Un sondaggio di una versione precedente viene contato la prima volta che viene aperto. Copia di nuovo il kit dopo l’aggiornamento, dalla cartella radice del tuo sito:
kit="$(mktemp -d)" &&
git clone --depth 1 \
--branch v0.5.0 \
https://github.com/wbcomdesigns/emdash-polls \
"$kit/emdash-polls" &&
"$kit/emdash-polls/scripts/add-to-site.sh" .
0.4.0
- Novità: l’autorizzazione Read your content, così un sondaggio su una pagina in bozza resta nascosto finché non la pubblichi.
- Novità: una scheda Set up visitor pages e
scripts/add-to-site.shcopiano il kit con un solo comando. - Sicurezza: gli ospiti votano solo dove l’host fornisce l’indirizzo del visitatore. Due voti inviati contemporaneamente da uno stesso votante contano una volta.
0.3.0
- Novità: statistiche dei sondaggi nell’elenco, un grafico a barre dei risultati e un blocco facoltativo This page’s poll per il testo degli articoli.
Versioni precedenti: https://github.com/wbcomdesigns/emdash-polls/blob/main/CHANGELOG.md