Bir bileşen silindiğinde Webform verilerine ne olur? Bir bileşen türünü değiştirebilir miyim?


9

Birkaç yüz başvuru ile karmaşık bir Web formu miras aldım. Bileşenlerden biri, form göndericisinin e-posta adresini yakalamak için kullanılan bir Textfield idi. Bazı nedenlerden dolayı bu, bir onay e-postası göndermek için E-posta adresini kullanmamı engelleyen bir E-posta alanı değil, bir Metin Alanıdır.

Metin alanı e-posta bileşenini silseydim, tüm verilere ne olurdu? Silineceğini varsayıyorum.

Verileri korurken form bileşeninin türünü değiştirmenin bir yolu var mı?

Güncelleme: Drupal 7 ve Webform 3.19 kullanıyorum


Drupal 6 veya Drupal 7 için Webform modülünü mü kullanıyorsunuz ?
Aiias

Drupal 7. Üzgünüm bundan bahsetmeliydim.
Kevin Morse

Drupal 7'de veritabanındaki alan adını değiştirmek için bir yer vardır. Ama nasıl yapılacağından emin değilim
AgA

Yanıtlar:


3

Bir Webform bileşeni silindiğinde, söz konusu bileşen için gönderilen veriler silinir. Formun diğer bileşenlerine ilişkin veriler korunur. Webform 7.x-3.23 webform_subended_data MySQL tablosunu sorgulayarak bu doğruladım.

Kullanıcı calebtr'in belirttiği gibi, her bileşen için ersatz veriyi silme-kaydetme özelliği olarak kullanılabilen bir "Özel" onay kutusu vardır, ancak sonuçları okuma ayrıcalığına sahip giriş yapan kullanıcılar bile bileşeni görecektir formu (sadece sonuçlarda değil). Bu alanlar, özel bir alan kümesine kopyalandıktan sonra bir stil sayfası veya özel şablon kullanılarak gizlenebilir.

Webform UI, bileşen türünün değiştirilmesine izin vermez. Webform_component.fieldset içinde saklanan bu bilgileri görüyorum, bu yüzden muhtemelen orada değiştirebilirsiniz. Ayrıca "ekstra" sütunundaki bileşen ayarlarını güncellemek istersiniz.


2

Veri yapısının gerçekten sağlam olup olmadığını veya sadece korunan verilere ihtiyacınız olup olmadığını düşünün. Web formu verilerini bir görünümde mi kullanıyorsunuz? Webform'un sağladığı otomatik 'Analiz'e bağımlı olan var mı?

Yalnızca yeni gönderiler için onay e-postaları göndermeniz gerekiyorsa, aynı alanı, farklı bir anahtarı ve doğru türü içeren yeni alanı ekleyin ve ardından alan ayarlarında 'Özel' olarak işaretleyerek orijinal alanı bastırın.

Özel alanlar, sonuçlara erişimi olan kullanıcılara gösterilir, bu nedenle kullanım durumunuz için çalışmayabilir.

Alternatif olarak, web formunu klonlamak ve veri kaybetmeden veya her şeyi yeniden girmek zorunda kalmadan bu alanı değiştirmek için Node Clone modülünü kullanın.


0

Sildiğiniz alan bir içerik türüne özelse, alan veritabanından (verilerini içerir) gider. Paylaşılan bir alanı silerseniz alan, içerik türüne özgü verilerle birlikte bu içerik türünden kaldırılır.

Alanla ilişkili verileri tutmanız gerektiğini, ancak veriler için farklı türde bir alana ihtiyacınız olduğunu fark ederseniz, önceden planlama yapmanız gerekir.

  • Yeni alanı oluşturun.
  • Verileri eski alandan yeni alana taşımak için bir yol tasarlayın.
  • Eski alanı silin.

Feeds modülünü (alanlara içe aktarmak için) ve Views Data Export Module'ü (alanları e-tabloya aktarmak için) kullanmak iyi bir çözüm olabilir. Prosedür şöyle olacaktır:

Tüm metin alanı değerlerinizi listeleyen ve taşımak istediğiniz tüm alanları görüntüleyen bir görünüm ayarlayın. Ardından veri dışa aktarın ve CSV biçimini seçin.

Verileri D7'ye aktarmak için feed'leri kullanın. Dışa aktarılan her alanı tercih ettiğiniz alana eşlemeniz yeterlidir.

Öte yandan bu öğreticiyi de okumak isteyebilirsiniz


Feed'ler Webform verilerini içe aktaracak mı?
mpdonadio

MPD'yi takip etme: Webform bileşenleri alan olarak kabul edilir mi? Webform, özel modüller dışında kendi bileşen türlerinizi tanımlamanıza izin vermediğinden, Webform bileşenlerinin tüm paylaşılan alanlar olduğunu varsayabilir miyim?
Kevin Morse

Kevin emin değilim ama sanırım evet, yine de deneyebilirsiniz, ve beslemeleri işe yaramazsa webform import drupal.org/project/webform_import
Sohail
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.