Documentazione di MevvForms

Moduli accessibili, voci locali e una migrazione reversibile.

MevvForms possiede lo schema del form, la validazione lato server, il rendering accessibile, le voci locali e una coda di notifica durevole — e in aggiunta un motore di logica condizionale che viene rieseguito sul server, viste front-end, strumenti di conservazione e privacy, generazione di form con IA locale e importatori per sette altri plugin di form. Questa guida documenta ciò che il plugin fa realmente oggi e dice apertamente dove non è stato dimostrato.

Panoramica e requisiti

MevvForms Free è il runtime locale. Un modulo pubblicato viene letto da un record di modulo WordPress versionato, reso con etichette reali e relazioni d’errore, validato di nuovo sul server, archiviato localmente e consegnato a una coda di notifiche duratura.

WordPress
6.6 o successivo; testato fino a WordPress 7.1.
PHP
8.1 o successivo; la matrice di rilascio copre PHP 8.1–8.5.
Confine dei dati
Le definizioni dei moduli, le voci e i job in coda restano sul sito WordPress per impostazione predefinita.
Tabelle
Tredici tabelle proprie: le voci e i loro valori tipizzati, la coda dei lavori, i file, gli invii parzialmente completati, il registro delle notifiche, due contatori analitici, i collegamenti ai contenuti, l'inventario, i coupon, i pagamenti e gli eventi di pagamento.
Lavori pianificati
Due lavori orari. Uno applica la conservazione, l'altro svuota l'unica coda dei lavori che trasporta notifiche, feed differiti ed esportazioni — una sola coda invece di un cron per ogni funzionalità.
File di traduzione
Diciannove locali di WordPress sono inclusi nel plugin, cataloghi sorgente compresi.

Free non effettua alcuna richiesta di licenza, telemetria, IA o aggiornamento verso un servizio esterno mentre un visitatore visualizza o invia un modulo.

Installazione

  1. Esegua un backup ripristinabile del database e di wp-content.
  2. Carichi e attivi lo ZIP di MevvForms Free.
  3. Confermi che le tabelle di database di MevvForms sono state create e che un amministratore può aprire la bacheca.
  4. Tenga attivo il plugin dei moduli di origine finché l’anteprima della migrazione, l’importazione e i controlli di integrità non sono completati.
  5. Installi il companion Pro corrispondente solo quando il modulo salvato usa un modulo Pro già rilasciato.

Non rimuova il pacchetto Free mentre Pro è installato. Il runtime del modulo salvato appartiene a Free; Pro lo estende.

Il costruttore

I campi vengono trascinati al loro posto, e tutto ciò che il mouse può fare lo può fare anche la tastiera. Aggiungere, selezionare e rimuovere un campo sono normali pulsanti, quindi Invio e Barra spaziatrice funzionano già; spostare un campo ha una propria scorciatoia, Ctrl con la freccia su o giù, che richiama esattamente lo stesso spostamento di un trascinamento. Dopo ogni modifica il focus torna sulla scheda con cui si stava lavorando, e una regione dal vivo annuncia cosa è successo — “Email spostata dalla posizione 2 alla posizione 5 di 9” — così il riordino può essere seguito anche senza vedere.

Le colonne sono uno strumento di layout con una regola annessa: l'ordine di lettura deve restare identico all'ordine dei campi. Questo viene controllato sul server, non lasciato al CSS. Un layout che collocherebbe i campi nella pagina in un ordine diverso da quello dello schema viene rifiutato con un errore anziché renderizzato, perché uno screen reader e un visitatore vedente devono ricevere lo stesso form.

Salvataggio automatico
La bozza viene scritta nel record di bozza del form circa due secondi e mezzo dopo che smettete di digitare. Non tocca mai il form pubblicato e non crea mai una revisione di WordPress, quindi il salvataggio automatico non può pubblicare nulla per errore.
Revisioni
Il salvataggio usa il sistema di revisioni proprio di WordPress anziché uno privato, il che significa che le revisioni sono visibili a qualsiasi altra cosa che comprenda WordPress. Il costruttore elenca le cinquanta più recenti e le può ripristinare tutte.

Nel costruttore non c'è annulla o ripeti. Ripristinare una revisione precedente è la via del ritorno, e ripristina l'intero form anziché l'ultima azione. Se state per fare una modifica importante, salvate prima, così ci sarà una revisione a cui tornare.

Tipi di campo

Trentotto tipi di campo, in cinque gruppi. Sono tutti nel pacchetto gratuito, inclusi firma, ripetitore, matrice e quiz.

Base
Testo su riga singola, testo paragrafo, email, email con conferma, telefono, URL del sito, numero, password, valore nascosto.
Scelta
Menu a tendina, menu a tendina a selezione multipla, gruppo radio, gruppo di caselle di controllo, singola casella di controllo, consenso, valutazione, classifica, cursore.
Avanzato
Nome, indirizzo, data, ora, data e ora, colore, caricamento file.
Pagamento
Calcolo, totale ordine, prodotto, codice sconto.
Layout
Titolo, interruzione di sezione, divisore, blocco di contenuto, interruzione di pagina. Questi non portano alcun input e non producono alcun valore memorizzato.

Un campo password viene renderizzato e validato ma il suo valore non viene mai scritto in una voce. Lo stesso vale per qualsiasi campo contrassegnato come non memorizzato. I campi calcolo e totale mostrano sì una casella sullo schermo, ma il loro valore non arriva dal browser: il server rieesegue la formula e sovrascrive qualunque cosa sia arrivata.

Modelli

Ventotto form pronti, pensati come punto di partenza e non come prodotto finito: contatto, richiesta di preventivo, candidatura di lavoro, iscrizione a evento, sondaggio di feedback, richiesta di assistenza, richiesta di appuntamento, iscrizione alla newsletter, ordine prodotto, reclamo, donazione, prenotazione tavolo, registrazione utente, quiz, sondaggio, invio file, testimonianza, sondaggio d’uscita, richiesta di manutenzione, pianificazione riunioni, iscrizione a corso, consenso genitoriale, sondaggio di raccomandazione, prenotazione alloggio, iscrizione volontari, segnalazione bug, registrazione fornitore e richiesta di richiamata.

Un modello viene copiato in un nuovo form e poi modificato; non è un collegamento live, quindi cambiare un modello in seguito non modifica i form già costruiti a partire da esso.

Rendering e invio di un modulo

Inserisca un modulo pubblicato con [mevvforms id="123"]. Il renderer stampa identificatori di campo stabili, etichette reali, descrizioni, un bersaglio per il riepilogo degli errori e una sessione firmata legata alla revisione corrente del modulo.

Nell'editor a blocchi la stessa cosa è un blocco — MevvForms Form — e la sua anteprima non è un'approssimazione: l'editor chiede al server di renderizzare il blocco, e il server lo renderizza usando esattamente il codice usato dal front-end. Quello che vedete nell'editor è la pagina.

  • Lo stato di obbligatorietà e le regole di validazione provengono dallo schema di proprietà del server.
  • Valori nascosti o sconosciuti del client non possono allentare le regole del server.
  • Un invio valido crea la voce prima che venga eseguito qualsiasi effetto collaterale di notifica.
  • La risposta contiene il messaggio configurato o il reindirizzamento sicuro, mai i valori dei campi archiviati.

Se un modulo è cambiato dopo l’apertura della pagina, ricarichi la pagina prima di inviare, così la sessione firmata corrisponde alla revisione corrente.

Logica condizionale

Un campo può essere mostrato o nascosto in base al valore di altri campi, con gruppi E e O annidati l'uno dentro l'altro fino a dieci livelli di profondità. Sono disponibili quattordici operatori: uguale a, diverso da, contiene, non contiene, inizia con, finisce con, è vuoto, non è vuoto, maggiore di, minore di, maggiore o uguale a, minore o uguale a, è uno tra, e non è uno tra.

Le condizioni vengono rivalutate sul server a ogni invio. Un campo che il browser ha nascosto può comunque essere inviato a mano, quindi nasconderlo nel browser è una comodità e mai una regola. La stessa valutazione decide quali campi esistono per la validazione, per la memorizzazione e per il corpo della notifica — il che significa anche che il form si comporta correttamente con JavaScript disattivato, solo senza la visualizzazione e l'occultamento dal vivo.

Form multi-passo e salva-e-continua

Un'interruzione di pagina trasforma un form in più passaggi. È un normale campo di layout, quindi un form lungo diventa un form multi-passo aggiungendo un campo, non convertendolo in qualcos'altro.

Salva-e-continua conserva un invio parzialmente completato e consegna al visitatore un link per tornarci. Il link porta un token firmato — l'identificatore di riga e un HMAC su di esso — e la firma è derivata dal segreto proprio del sito. Nulla nel database è sufficiente da solo a falsificarne uno, il confronto viene fatto a tempo costante, e il link scade dopo trenta giorni.

Il token è la credenziale: non è richiesto alcun login e non viene impostato alcun cookie, quindi chiunque abbia il link può continuare quell'invio. Trattate un link di ripresa come trattereste un link di reimpostazione password — inviatelo alla persona, non a una casella condivisa.

Voci e confine della privacy

Le voci e le proiezioni tipizzate dei campi sono archiviate in tabelle locali dedicate. Password, dati della carta, CVV, nonce di WordPress, token di sessione e campi contrassegnati con store=false non vengono mai scritti nei valori della voce.

  • Gli indirizzi IP sono rappresentati solo da un HMAC specifico del sito dove il limite di frequenza lo richiede.
  • Le proiezioni di testo, numeriche e di data permettono ricerche successive senza cambiare l’identità originale del campo.
  • Una scrittura fallita della voce o della casella in uscita annulla per intero la transazione dell’invio.
  • L’evidenza di produzione registra solo gli identificatori di modulo, voce e job; non registra mai i valori inviati.

L'elenco delle voci ricerca nei valori memorizzati, filtra per stato, per stato di lettura e di preferito e per intervallo di date, e applica letto, non letto, preferito, rimuovi preferito, spam, cestino, ripristina ed elimina a una selezione in blocco. Ognuna di queste azioni viene controllata separatamente rispetto alle vostre capacità, quindi un ruolo che può leggere le voci ma non eliminarle non può eliminarle nemmeno con un'azione in blocco.

CSV che si apre correttamente
Il file inizia con un byte order mark, che è ciò che fa sì che Excel lo legga come UTF-8 — senza di esso i caratteri turchi arrivano corrotti e la reazione abituale è incolpare l'esportazione anziché la codifica.
CSV che non può eseguire
Un valore che inizia con =, +, -, @, una tabulazione o un ritorno a capo viene preceduto da un apostrofo. Quei caratteri fanno sì che un foglio di calcolo tratti un valore inviato come una formula, e un form è esattamente il posto in cui un estraneo sceglie quel valore.

Notifiche e conferme

Le notifiche sono job duraturi. Un’interruzione della posta non può cancellare una voce accettata: gli errori transitori vengono ritentati con attese limitate, mentre gli errori permanenti di configurazione si fermano in attesa dell’intervento di un amministratore.

Un form può portare più notifiche, ognuna con i propri destinatari, oggetto, corpo e condizione. I destinatari possono essere indirizzi fissi, indirizzi presi da un campo compilato dal visitatore, o rotte scelte in base al valore di un campo — e viene usata ogni rotta corrispondente, non solo la prima, perché un form che raggiunge vendite e supporto insieme è il caso normale, non un errore. Un risponditore automatico è lo stesso meccanismo puntato indietro verso la persona che ha compilato il form.

Intestazioni
I destinatari e i tag di unione delle intestazioni vengono convalidati; l’iniezione di CR/LF viene rimossa.
Corpo
L’HTML viene sottoposto a escape o filtrato in base al contesto di output.
Conferma
Le decisioni su messaggio, pagina dello stesso sito e reindirizzamento consentito vengono scelte dallo schema salvato.
Idempotenza
La stessa chiave di job di notifica non può creare due volte lo stesso effetto collaterale.
Registro di consegna
Una riga per ogni tentativo: quale form, voce, notifica e job, se è stato inviato o non riuscito, quale numero di tentativo era, i destinatari, l'oggetto e il codice e messaggio di errore. Una riga non riuscita può essere inviata di nuovo dallo schermo.

Il registro annota ciò che è stato tentato, non ciò che è stato consegnato. La posta viene passata a WordPress e da lì al vostro host; una riga contrassegnata come inviata significa che ha lasciato il sito, e solo un bounce dall'altra parte può dirvi il resto.

Protezione antispam

Due difese sono attive dal momento dell'installazione: un campo honeypot che una persona non vede mai e un controllo dei tempi che rifiuta un form inviato in meno di tre secondi. Nessuna delle due costa nulla al visitatore e nessuna delle due rompe la tecnologia assistiva, ed è per questo che sono l'impostazione predefinita e non un test.

Oltre a questo, tutto è facoltativo e disattivato finché non lo attivate: reCAPTCHA v2 e v3, hCaptcha, Cloudflare Turnstile e Akismet, più regole per parole chiave, indirizzi e paesi che girano interamente sul vostro server.

Un invio giudicato spam viene contrassegnato, non eliminato. Un honeypot scattato, un CAPTCHA non superato o con punteggio basso e un verdetto Akismet memorizzano tutti la voce con stato spam, dove potete leggerla e cambiare idea — perché il costo di una richiesta scartata per errore è molto più alto del costo di una riga da controllare. Le due eccezioni sono il controllo dei tempi e la limitazione della frequenza, che rifiutano la richiesta prima ancora che esista una voce; non c'è nulla da contrassegnare, e nulla è mai stato accettato per poi essere buttato via.

Akismet è l'unica opzione che invia a terzi i valori inviati, l'indirizzo IP del visitatore, lo user agent del browser e l'URL di provenienza. È un trasferimento di dati personali: informate i vostri visitatori prima di attivarlo. Gli altri fornitori ricevono solo ciò che il loro script raccoglie più il token della sfida, e l'indirizzo IP del visitatore non viene loro passato a meno che un filtro sul vostro sito non lo richieda.

Controllo degli accessi

Un form può aprirsi e chiudersi secondo un calendario, fermarsi dopo un certo numero di invii, richiedere un utente autenticato o un ruolo particolare, oppure stare dietro una password. Tutte e quattro le cose sono decise da un'unica funzione, e quella funzione viene chiamata da due punti: una volta quando il form sta per essere renderizzato e una quando arriva un invio.

Due punti di chiamata, una sola decisione. Se nascondere il form e rifiutare un invio diretto fossero scritti separatamente finirebbero per divergere nel tempo, e il form chiuso accetterebbe comunque un POST da chi ne conosce l'indirizzo. Nulla qui viene applicato nel browser.

Il limite di invii viene controllato una volta in più subito dopo che la riga è stata scritta, con il conteggio bloccato durante la lettura. Due visitatori che premono invia nello stesso secondo altrimenti supererebbero entrambi un controllo effettuato prima che uno dei due fosse stato conteggiato.

Caricamento file

I file caricati sono tenuti fuori dalla portata della barra degli indirizzi. Il nome della cartella è impossibile da indovinare e porta regole di diniego per Apache, IIS e un indice di cartella, quindi un file non viene servito anche se qualcuno ne scopre il percorso.

Il caveau si trova all'interno della vostra cartella uploads a meno che non definiate MEVVFORMS_FILE_VAULT_DIR puntandolo da qualche parte fuori dalla web root. Stare sotto la web root è più forte delle regole di diniego, perché sopravvive a una configurazione del server web che è stata resettata o non viene letta affatto. Se il vostro host ve lo permette, impostatelo.

Un file viene giudicato per ciò che contiene, non per il nome con cui è arrivato. I primi byte vengono confrontati con una tabella di firme note, la magic degli eseguibili viene rifiutata subito, e un file viene scansionato alla ricerca di uno script incorporato anche quando la sua firma sembrava innocente. Un'estensione è un'affermazione fatta da chi ha caricato il file.

I download passano attraverso un link firmato anziché un percorso. La firma copre il file, la persona e una scadenza — quindici minuti per impostazione predefinita e mai più di un giorno — e il download ricontrolla comunque che la persona abbia il diritto di ottenerlo, anche mentre il link è ancora nella sua finestra di validità. Un link inoltrato a qualcun altro non funziona per lui.

Viste front-end

Le voci possono essere ripubblicate sul sito come vista: una griglia, una tabella, un calendario, una timeline o una mappa. Le viste vengono inserite con [mevvforms_view id="12"], oppure con il blocco MevvForms View, e fissare un singolo record a una pagina è solo questione di indicare la voce per nome.

La mappa non contatta alcun servizio esterno. Non ci sono tile da recuperare, nessuna chiave da ottenere e nessuna richiesta di geocodifica: i punti vengono disegnati come immagine vettoriale inline sulla vostra stessa pagina, con le coordinate scritte anche come testo sotto per chi non può vedere il disegno. Ha un aspetto più semplice di una mappa a tile, e in cambio nessun indirizzo di alcun visitatore viene inviato a un'azienda cartografica da una pagina di cui non sapeva contenesse una mappa.

Privacy e conservazione

MevvForms è registrato presso gli strumenti propri di WordPress per l'esportazione e la cancellazione dei dati personali, quindi una richiesta di dati gestita tramite WordPress trova voci, invii parzialmente completati e file senza che qualcuno debba ricordarsi di controllare una seconda schermata.

La conservazione viene impostata per singolo form come numero di giorni — zero significa conservare per sempre, e il tetto è dieci anni. Un job orario la applica.

Prima che una modifica alla conservazione venga salvata, lo schermo vi dice quante voci renderebbe idonee alla cancellazione permanente. Il conteggio viene calcolato prima e la cancellazione è un passaggio separato, confermato separatamente. Digitare 30 in una casella non dovrebbe mai essere lo stesso gesto di distruggere quattromila record.

Analitiche del form

Le analitiche rispondono a una sola domanda — dove le persone abbandonano questo form — e sono disattivate finché non le attivate voi indicando i form che possono misurare. Finché sono disattivate non viene scritto nulla, nessuno script viene aggiunto alle vostre pagine e non esiste alcun endpoint pubblico.

Una volta attivate, mantengono due tabelle di contatori giornalieri: per form, le visualizzazioni, gli avvii, gli invii e gli abbandoni; per campo, gli abbandoni in quel campo, le volte in cui è stato lasciato vuoto, gli errori di validazione, il tempo totale di focus e quanti visitatori vi si sono soffermati.

Non viene creato alcun identificatore del visitatore e non viene impostato alcun cookie. Le tabelle non hanno una colonna per un indirizzo IP, un utente, un'email, una sessione, un'impronta digitale, un referrer o un valore inviato — è la forma dello schema a rendere una riga non tracciabile, non una promessa di non guardare. Il segnale del browser va al vostro stesso sito ed è autenticato con il ticket a breve durata proprio del form, che è identico per ogni visitatore di quel form. Poiché le righe sono aggregate, un'esportazione di dati personali non trova nulla da esportare, e una richiesta di cancellazione riceve come risposta una riga che lo dice.

Generare un form con l'IA

Potete descrivere un form in una frase e farvi disporre i campi automaticamente. Sono supportate tre connessioni: Ollama e LM Studio, che girano sulla vostra macchina o sul vostro server, e un endpoint compatibile con OpenAI per chi preferisce usare un modello ospitato con la propria chiave.

  • Non esiste alcuna quota, alcun credito né alcun contatore di utilizzo da nessuna parte nel plugin — nulla da esaurire, perché il modello non è nostro.
  • Con Ollama o LM Studio, la descrizione del vostro form non lascia mai la macchina su cui gira il modello.
  • Senza alcuna connessione configurata, la funzionalità non viene mostrata affatto e non viene fatta alcuna richiesta. Non esiste alcun fallback ospitato in attesa di essere usato per errore.

Una chiave che incollate viene conservata in un'unica opzione di WordPress che non viene caricata a ogni pagina, e in seguito lo schermo la mostra mascherata — ma viene salvata così come l'avete digitata, non cifrata. Qualsiasi cosa abbia accesso al database può leggerla. Usate una chiave con l'ambito limitato a ciò che serve, e rinnovatela se il sito cambia proprietario.

Ciò che torna indietro è una bozza. È un layout di partenza da correggere, non un form da pubblicare senza leggerlo — e un campo generato non ha alcuna idea di ciò che la vostra legge vi impone di chiedere o di omettere.

Importare da un altro plugin di form

I form possono essere importati da sette altri plugin: Contact Form 7, WPForms, Gravity Forms, Fluent Forms, Formidable Forms, Ninja Forms e SureForms.

  • La sorgente viene solo letta, mai altro. L'importazione non cambia, disattiva o elimina nulla nell'altro plugin, e i suoi dati restano esattamente dove erano.
  • Tutto ciò che non può essere trasportato viene elencato, con il motivo. L'importazione rifiuta di scrivere finché non avete visto quell'elenco e non lo avete accettato — un'importazione parziale e silenziosa è il modo in cui una notifica mancante viene scoperta tre settimane dopo da un cliente che non ha mai ricevuto risposta.
  • I vecchi shortcode continuano a funzionare. Una volta attiva la migrazione, lo shortcode del plugin sorgente viene gestito da MevvForms, quindi le pagine mai modificate continuano a mostrare un form funzionante. Se qualcos'altro ha già rivendicato quello shortcode, MevvForms lo lascia in pace.

Tenete installato il plugin sorgente finché non avrete inviato voi stessi il nuovo form e visto la voce e la notifica. Tornare indietro è facile finché l'originale c'è ancora, e scomodo una volta che è sparito.

Migrazione reversibile da WPForms

La migrazione parte in sola lettura. L’anteprima elenca i campi mappati, le notifiche, le conferme, gli inserimenti e le impostazioni non supportate. L’applicazione crea o aggiorna un modulo MevvForms preparato e registra l’hash di origine. Non elimina dati, revisioni, tabelle o contenuti di pagina di WPForms.

  1. Pretenda un’anteprima esatta prima di applicare.
  2. Importi il modulo come preparato e confronti di nuovo gli hash di origine.
  3. Esegua il controllo di integrità del cutover: pubblicazione, rendering, invio di prova firmato, voce locale e notifica in coda.
  4. Solo dopo che quei controlli sono superati il plugin di origine può essere spento.
  5. Se un controllo fallisce, il rollback ripristina il precedente elenco dei plugin attivi e riporta il modulo importato in bozza.

L’inventario misurato di mevvshop.com è un modulo di origine con 4 campi, 1 notifica, 1 conferma e un inserimento dal vivo. Quei numeri sono un criterio di rilascio per quel sito, non una promessa su ogni modulo WPForms.

Accettare un pagamento

Un form può portare un prezzo. I campi prodotto contengono gli articoli, i campi calcolo e totale determinano quanto è dovuto, e l'ordine viene costruito sul server a partire dallo schema a ogni invio.

  • L'importo non arriva mai dal browser. Un totale che arriva con l'invio viene usato solo per il confronto, e una discrepanza rifiuta l'invio anziché correggerlo silenziosamente — a un visitatore non deve mai essere addebitato un importo diverso da quello che gli è stato mostrato.
  • Il denaro viene trasportato come numeri interi nell'unità più piccola della valuta da un capo all'altro. Nessun valore monetario passa mai attraverso un numero in virgola mobile.
  • Nulla diventa pagato senza una risposta dal fornitore. Un browser che torna dalla pagina di pagamento sposta l'ordine al massimo su “da riconciliare”; pagato richiede una notifica con firma verificata o una domanda diretta posta al fornitore.
  • I dati della carta non raggiungono mai il sito. Non c'è alcun campo per un numero di carta, una scadenza o un codice di sicurezza nel contratto di pagamento e nessuna colonna per essi nel database.
PayPal — un gateway Pro
Pro aggiunge un gateway PayPal costruito su Orders v2. L’ordine viene aperto sul vostro server, il visitatore lo approva sulla pagina di PayPal e il denaro viene incassato al ritorno — oppure, se chiude prima la scheda, quando arriva la notifica firmata. Entrambe le vie finiscono nello stesso punto, così un ordine approvato non resta senza incasso con il denaro non riscosso. Il doppio incasso è protetto due volte: la chiamata di incasso porta un id di richiesta fisso che PayPal non riesegue, e una risposta «già incassato» viene letta come lavoro già fatto e non come un errore. I rimborsi, totali o parziali, si emettono dalla voce.
PayPal non è disponibile in Türkiye
PayPal non opera in Türkiye e non regola in lire turche, quindi questo gateway serve per vendere all’estero. I provider di pagamento turchi restano dov’erano, sul ponte MevvPos, e su questo non cambia nulla.

Nessuna commissione di transazione, a nessun livello. Diversi plugin di form trattengono una percentuale di ciò che incassate nel loro livello di pagamento gratuito; un test verifica che l'importo inviato al fornitore sia esattamente uguale al totale dell'ordine.

Nessun pagamento è stato eseguito da capo a fondo, PayPal compreso. Dietro tutto questo non c’è ancora alcun conto esercente reale né sandbox: ogni percorso di provider viene esercitato contro un sostituto e la forma della richiesta e della notifica è stata verificata riga per riga sulle referenze pubblicate dei provider, non su una chiamata portata a termine. Consideri le funzioni di pagamento non provate finché ciò non cambia, e non le metta davanti a clienti reali solo sulla nostra parola.

Zapier e Make

Pro può anche pubblicare le voci su Zapier e Make come REST hook. Zapier si iscrive a uno dei vostri moduli, MevvForms ricorda l’iscrizione e ogni voce successiva viene messa in coda e consegnata. La disiscrizione la rimuove di nuovo, e una rotta separata di campioni consegna a Zapier una voce recente perché la sua schermata di mappatura dei campi mostri nomi di campo reali invece di caselle vuote.

  • L’autenticazione è una chiave di sito che generate nella schermata delle impostazioni di Zapier. È l’unica credenziale e identifica il sito, non una persona.
  • Le consegne escono attraverso il webhook firmato e la coda di lavori che l’edizione gratuita già usa. È una nuova destinazione, non un secondo sistema di consegna, quindi il registro delle consegne e i ritentativi funzionano allo stesso modo.
  • Senza una licenza valida il modulo non si avvia affatto: non viene registrata alcuna rotta, non viene aggiunto alcun hook e non esiste alcun percorso di codice in grado di raggiungere un indirizzo remoto.

Zapier e Make erano già raggiungibili senza Pro, perché l’edizione gratuita può inviare in POST un webhook firmato a qualsiasi indirizzo. Ciò che Pro toglie è la parte in mezzo: non costruite più voi l’abbonamento, la mappatura dei campi e il ritentativo.

Salesforce

Pro può trasformare un invio in un Lead, Contact o Case Salesforce. Mappi i campi del form sui campi dell’oggetto nella schermata del connettore, e ogni risposta viene inviata tramite la coda usata dagli altri connettori — così un’interruzione di Salesforce ritarda il record, non perde la risposta.

  • L’autenticazione è OAuth 2.0 con un refresh token. Nessuna password Salesforce viene memorizzata sul tuo sito.
  • Sandbox e produzione sono un interruttore, non un secondo set di credenziali da tenere separato.
  • La risposta stessa resta sul tuo sito in ogni caso. Inviare una copia a Salesforce non significa spostare lì i tuoi dati.

Caricamenti sul tuo object storage

Per impostazione predefinita il deposito file si trova sul tuo disco, fuori dalla web root. Pro può invece spostarlo su qualsiasi archivio compatibile con S3 — AWS S3, Cloudflare R2, MinIO, DigitalOcean Spaces, Backblaze B2 o Wasabi — firmando ogni richiesta da solo, così nessun SDK di terze parti vede mai le risposte.

Ciò che cambia è dove risiedono i byte, non chi può recuperarli. I file vengono ancora distribuiti solo tramite un link a tempo limitato legato a una persona, e il plugin gratuito decide ancora chi può averne uno. Spostare l’archiviazione non sposta il controllo dei permessi.

Lingue

Diciannove locali di WordPress sono inclusi nel plugin: tedesco (Germania, tedesco formale e Svizzera), inglese, spagnolo (Spagna, Messico, Argentina, Cile, Colombia), francese, italiano, giapponese, olandese (Paesi Bassi e Belgio), polacco, portoghese (Brasile e Portogallo), russo e turco. I cataloghi sorgente modificabili sono inclusi, quindi una traduzione può essere corretta direttamente sul vostro sito.

Turco e inglese sono le due lingue che sono state lette riga per riga. Le altre sono complete ma non tutte hanno ancora ricevuto una revisione umana; se una stringa suona strana nella vostra lingua, la ragione è questa, e il catalogo è lì per correggerla.

Il confine tra Free e Pro

Il runtime affidabile è dell’edizione gratuita e con esso quasi tutto ciò che c’è in questa pagina: lo schema, tutti i trentotto tipi di campo, il renderer accessibile, la validazione lato server e la logica condizionale, i moduli a più passi con passo di riepilogo e modalità conversazionale, salva-e-continua, le voci locali con esportazione CSV e traccia di controllo, le note amministrative e un flusso di approvazione, la coda delle notifiche e il registro di consegna, i webhook in uscita firmati con HMAC, la suite antispam completa, il controllo degli accessi, la cassaforte dei file, le viste pubbliche, gli strumenti di conservazione e privacy, le statistiche, la generazione con IA, gli importatori per sette plugin e i pagamenti una tantum senza commissione.

Pro aggiunge i connettori di servizio con nome: Mailchimp, HubSpot, Brevo, ActiveCampaign, Airtable, Notion, Google Sheets, Discord, Telegram e Slack, ciascuno nella forma propria di quel servizio, più un gateway PayPal, un connettore Zapier e Make costruito su REST hook, pagamenti ricorrenti, codici sconto e pagamenti parziali. Si noti cosa continua a significare: l’edizione gratuita invia già in POST un webhook firmato ovunque, quindi Zapier, Make e qualunque cosa scriviate voi restano raggiungibili senza Pro; ciò che Pro toglie è la parte in mezzo — l’abbonamento, la mappatura dei campi e il ritentativo che altrimenti dovreste scrivere. Il vincolo di licenza è il controllo di avvio del modulo stesso: senza una licenza valida non viene caricata alcuna classe connettore, non viene registrato alcun filtro di lavoro e nessuna chiamata remota può avvenire.

Una voce della roadmap non viene pubblicizzata come funzionalità già operativa. Controlli la versione installata e le note di rilascio prima di progettare un modulo attorno a un modulo Pro.

Risoluzione dei problemi e rollback

Lo shortcode legacy è vuoto
Confermi che l’ID di origine abbia una mappatura di migrazione attiva e che nessun altro plugin possieda lo shortcode wpforms.
L’invio segnala una sessione scaduta
Ricarichi la pagina e invii sulla revisione pubblicata più recente.
Una notifica è in attesa
Apra lo stato della coda, corregga l’errore permanente di configurazione oppure lasci che avvenga il nuovo tentativo programmato per un errore di trasporto transitorio.
Il cutover non ha disattivato WPForms
Legga il risultato di integrità. Il controllo di sicurezza ha mantenuto o ripristinato WPForms perché la verifica di rendering, invio, voce o job è fallita.
Un campo che il visitatore non poteva vedere è arrivato comunque
È proprio quello il punto in cui decide il server. Le condizioni vengono rivalutate all'invio, quindi un valore inviato per un campo nascosto viene scartato lì — controllate la condizione stessa piuttosto che il browser.
I caratteri turchi sono corrotti nel CSV
Il file porta un byte order mark ed è UTF-8. Un foglio di calcolo a cui è stato detto di importarlo come qualcos'altro lo mostrerà comunque in modo sbagliato; apritelo direttamente invece che tramite una procedura guidata di importazione con una codifica già scelta.
Un link di download dice che è scaduto
I link durano quindici minuti per impostazione predefinita e sono vincolati alla persona che li ha richiesti. Generatene uno nuovo dalla voce; un link non può essere inoltrato a un collega.
Il pannello IA non c'è
Non è configurata alcuna connessione. Il pannello viene nascosto anziché mostrato non funzionante, e nulla viene inviato da nessuna parte finché è nascosto.
Una voce di menu apre una schermata vuota
Alcune voci nel menu sono segnaposto per schermate non ancora costruite. Una vuota non è un'installazione rotta.

Per l’assistenza, condivida le versioni del plugin, di WordPress e di PHP, oltre al codice di errore sicuro. Rimuova i valori dei campi, i dati dei clienti, i token di sessione, i nonce e le chiavi di licenza prima di inviare i log.

Aggiornamenti

Gli aggiornamenti arrivano tramite WordPress stesso. Il plugin chiede al nostro store se esiste una versione più recente e consegna la risposta al flusso di aggiornamento proprio di WordPress, così una nuova versione compare nella schermata dei plugin con un normale pulsante Aggiorna invece di attendere che qualcuno scarichi uno zip a mano. Nell’edizione gratuita quella richiesta porta solo il nome del pacchetto e la versione installata: nessun indirizzo del sito, nessun indirizzo e-mail, nessuna chiave di licenza e nessun inventario di plugin. Poiché nulla in essa vi identifica, la fiducia poggia sulla firma: la risposta è firmata con la nostra chiave Ed25519, e una risposta non firmata, firmata male, riprodotta da un timestamp vecchio o che punti il download a un host diverso dal nostro viene scartata senza toccare il sito.

Limiti

Detto apertamente, così che nulla in questa pagina debba essere preso sulla fiducia.

  • Le funzionalità di pagamento non sono state verificate rispetto a un conto esercente live o sandbox. Sono costruite secondo la documentazione dei fornitori e testate contro un livello di trasporto sostitutivo.
  • Nel costruttore non c'è annulla o ripeti. Le revisioni sono la via del ritorno.
  • L'output PDF dipende dal sito. Se sul sito è installata una libreria PDF, MevvForms la usa; in caso contrario produce invece un documento stampabile e lascia la stampa al browser. Nessuna libreria PDF è inclusa e nessuna viene scaricata da alcun luogo.
  • Ogni voce di menu ora apre una schermata reale. Report, integrazioni, importazione ed esportazione, impostazioni, ruoli e log erano segnaposto nelle versioni precedenti; dalla 1.1.0 ciascuno è servito dal proprio pacchetto.
  • Il caveau dei file caricati è per impostazione predefinita all'interno della cartella uploads ed è protetto da regole di diniego anziché dalla sua posizione, a meno che non lo puntiate voi stessi fuori dalla web root.
  • Le chiavi IA vengono salvate così come digitate, non cifrate. Sono mascherate sullo schermo e tenute fuori dalle opzioni sempre caricate, il che non equivale a essere illeggibili.
  • L'equivalente da tastiera del costruttore è completo ma piccolo. I pulsanti portano i tasti ordinari e spostare un campo ha una sola scorciatoia; non c'è una mappa dei tasti più ampia da imparare, né alcuna da scoprire.

Dove questa pagina dice che qualcosa è stato misurato, è stato misurato. Dove dice che qualcosa non è stato dimostrato, non è modestia — significa che il test non esiste ancora, e dovreste considerare quell'affermazione come non conclusa.