Cosa succede ai dati Webform quando un componente viene eliminato? Posso cambiare un tipo di componente?


9

Ho ereditato un complicato modulo Web con diverse centinaia di invii. Uno dei componenti era un campo di testo utilizzato per acquisire l'indirizzo e-mail del mittente del modulo. Per qualche motivo questo è un campo di testo e non un campo e-mail che mi impedisce di utilizzare l'indirizzo e-mail per inviare un'e-mail di conferma.

Se dovessi eliminare il componente e-mail del campo di testo cosa accadrebbe a tutti i dati? Suppongo che sarebbe stato cancellato.

Esiste un modo per modificare il tipo di un componente del modulo mantenendo comunque i dati?

Aggiornamento: sto usando Drupal 7 e Webform 3.19


Stai utilizzando il modulo Webform per Drupal 6 o Drupal 7?
Aiias,

Drupal 7. Mi dispiace averlo detto.
Kevin Morse,

In Drupal 7, c'è un posto dove cambiare il nome del campo nel database. Ma non sono sicuro di come farlo
AgA

Risposte:


3

Quando un componente Webform viene eliminato, i dati inviati per quel componente vengono eliminati. I dati per gli altri componenti del modulo vengono conservati. Li ho confermati interrogando la tabella MySQL webform_submitted_data su Webform 7.x-3.23.

Come indicato dall'utente calebtr, esiste una casella di controllo "Privato" per ciascun componente che può essere utilizzata come funzione di cancellazione e salvataggio dei dati ersatz, tranne per il fatto che gli utenti che hanno effettuato l'accesso con il privilegio di leggere i risultati vedranno comunque il componente acceso il modulo (non solo nei risultati). Questi campi potrebbero essere nascosti utilizzando un foglio di stile o un modello personalizzato, potenzialmente dopo averli rimossi in un set di campi privato.

L'interfaccia utente Webform non consente la modifica del tipo di componente. Vedo queste informazioni archiviate in webform_component.fieldset, quindi probabilmente potresti modificarle lì. Desideri anche aggiornare le impostazioni del componente nella colonna "extra".


2

Considera se hai davvero bisogno della struttura dei dati intatta o no, o se hai solo bisogno di conservare i dati. Stai utilizzando i dati del modulo web in una vista? Qualcuno dipende dall '"Analisi" automatizzata fornita da Webform?

Se devi solo inviare e-mail di conferma per nuovi invii, aggiungi il nuovo campo con la stessa etichettatura, una chiave diversa e il tipo corretto, quindi elimina il campo originale contrassegnandolo come "Privato" nelle impostazioni del campo.

I campi privati ​​sono mostrati agli utenti che hanno accesso ai risultati, quindi potrebbe non funzionare nel tuo caso d'uso.

In alternativa, utilizzare il modulo Clonazione nodo per clonare il modulo Web e modificare quel campo senza perdere dati o dover digitare nuovamente tutto.


0

Se il campo che elimini è univoco per un tipo di contenuto, il campo viene rimosso dal database (che include i suoi dati). Se si elimina un campo condiviso da, il campo viene rimosso da quel tipo di contenuto insieme ai dati univoci per il tipo di contenuto.

Se scopri che devi mantenere i dati associati al campo ma hai bisogno di un diverso tipo di campo per i dati, devi pianificare in anticipo.

  • Crea il nuovo campo.
  • Elaborare un modo per migrare i dati dal vecchio campo al nuovo campo.
  • Elimina il vecchio campo.

Una buona soluzione potrebbe essere quella di utilizzare il modulo Feed (per importare nei campi) e il modulo di esportazione dei dati di Views (per esportare i campi nel foglio di calcolo). La procedura sarebbe:

Imposta una vista che elenca tutti i valori dei campi di testo e visualizzi tutti i campi che desideri migrare. Quindi esporta i dati e scegli il formato CSV.

Utilizzare i feed per importare i dati in D7. Basta mappare ciascun campo esportato sul campo preferito.

d'altra parte si potrebbe desiderare di leggere questo tutorial di troppo


Feeds importerà i dati Webform?
mpdonadio

Seguire da MPD: i componenti di Webform sono considerati campi? Webform non consente di definire i propri tipi di componenti se non attraverso moduli personalizzati, quindi suppongo che i componenti Webform siano tutti campi condivisi?
Kevin Morse,

Kevin non ne sono sicuro, ma penso di si, potresti comunque provarlo, e nel caso in cui i feed non funzionassero puoi provare l'importazione di webform drupal.org/project/webform_import
Sohail
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.