x

Ana bölümler

  1. LimeSurvey Cloud ve LimeSurvey CE karşılaştırması
  2. Hızlı başlangıç kılavuzu - LimeSurvey 3.0+
  3. Kurulum - LimeSurvey CE
  4. İyi bir anket nasıl tasarlanır (kılavuz)
  5. Başlarken
  6. LimeSurvey'i Yönetme
  7. Anketler - giriş
  8. Anket ayarları
  9. Anket menüsü
  10. Anket yapısı
  11. Sorular - giriş
  12. Soru grupları - giriş
  13. Anketler - yönetim
  14. Anket araç çubuğu seçenekleri
  15. Çok dilli anket
  16. ExpressionScript Motoru - Hızlı başlangıç kılavuzu
  17. Kategorize edilmemiş ve gelişmiş özellikler
  18. Genel SSS
  19. Sorun giderme
  20. Geçici çözümler
  21. Lisans
  22. Sürüm değişiklik günlüğü
  23. Eklentiler
 Actions

LimeSurvey 7 Alan Adı Yeniden Yapılandırması

From LimeSurvey Manual

Bu sayfa makine çevirisiyle çevrilmiş olabilir ve hatalar içerebilir. İngilizce orijinali göster · Bu çeviriyi iyileştir
This page is a translated version of the page LimeSurvey 7 Fieldname Refactor and the translation is 100% complete.

Alan Adı ve Yanıt Tablosu Yeniden Yapılandırması - LimeSurvey 7

LimeSurvey 7, yanıt tablolarının ve alan adlarının oluşturulma biçiminde kapsamlı bir temizlik getirir. Bu güncelleme, uzun süredir kullanılan dahili adlandırma kurallarını modernleştirir ve eklentiler, entegrasyonlar ve gelecekteki geliştirmeler için daha öngörülebilir ve sağlam bir temel oluşturur.

Bu sayfa, yanıt tablosu ve alan adı yeniden yapılandırmasına odaklanır.

Bu yapısal bir değişiklik olduğundan, eski adlandırmaya dayanan tüm özel çalışmaların güncellenmesi gerekebilir. Bu sayfada nelerin değiştiği, değişikliklerin güvenli şekilde nasıl test edileceği ve yükseltmeye nasıl hazırlanılacağı açıklanmaktadır.

1. Neler değişiyor

1.1 Yeni tablo adları

LimeSurvey artık yanıtlarla ilgili tablolar için tutarlı bir adlandırma düzeni kullanmaktadır.

Eski tablo adı Yeni tablo adı
old_survey_<sid>_<timestamp> old_responses_<sid>_<timestamp>
old_survey_<sid>_timings_<timestamp> old_timings_<sid>_<timestamp>
survey_<sid> responses_<sid>
survey_<sid>_timings timings_<sid>

Bu tablolara başvuran tüm SQL sorgularının, entegrasyonların veya eklentilerin düzenlenmesi gerekebilir.

1.2 Yeni alan adı yapısı

Alan adları artık öngörülebilir ve tutarlı bir biçim izlemektedir. Örnekler:

  • Q<questionId> - kök soru
  • Q<questionId>_S<subquestionId> - alt sorular
  • Q<questionId>_C<suffix> - yorum veya diğer alanlar
  • sıralama alanları: Q<questionId>_S<subquestionId> - sıralama ögeleri artık alt sorulardır (bkz. 1.3)
  • zamanlama alanları: bağlama göre soru düzeyinde veya grup düzeyinde

Bu, eski sidXgidXqid tabanlı adlandırmanın yerini alır.

1.3 Sıralama soruları

Sıralama soruları artık alt soru tabanlı diğer soru türleri gibi çalışmaktadır:

  • Ögeler alt sorulardır. Sıralanabilir ögeler, yanıt seçenekleri olarak değil, alt sorular (tür R) olarak saklanır.
  • Alan adları, standart alt soru biçimini Q<questionId>_S<subquestionId> kullanır (sıralanan her öge için bir tane).
  • Yanıtlar, konumun sıralamayı belirttiği, öge kodlarından oluşan sıralı bir dizi olarak tek bir JSON sütununda (Q<questionId>) saklanır. Örnek: ["3", "1", "2"]

2. Bu neden önemli

Bu temizlik, uzun yıllar boyunca resmi olarak tanımlanıp kullanılan adlandırma kalıplarını ele alır ve bunları gelecekte üzerine inşa edebileceğimiz tutarlı ve sağlam bir yapıya dönüştürür.

Bunun gibi yapısal değişiklikler nadiren basittir. Birçok eklentinin ve entegrasyonun dayandığı sistem parçalarına dokunurlar; bu nedenle karmaşıklıkları yüzünden sıklıkla ertelenirler. Ancak her şeyin tutarlı ve öngörülebilir olması uzun vadeli kararlılık için önemlidir.

Bunu şimdi ele alarak, değişiklik yüzeyde çoğunlukla görünmez olsa bile LimeSurvey'i daha temiz ve genişletilmesi daha kolay hale getiriyoruz.

3. Yeni alan adları nasıl ön izlenir

Mevcut herhangi bir alan adının yeni LS7 yapısına nasıl eşleneceğini görmek için aşağıdaki adımları uygulayabilirsiniz:

  1. Veritabanını yedekleyin; değişiklikler geri alınamaz ve bir şeyler ters giderse değişiklikten önceki veritabanına sahip olmak kurtarma için yararlı olacaktır.
  2. develop-major dalına geçin:
    git checkout develop-major
    veya projeyi doğrudan bu dalda https://github.com/LimeSurvey/LimeSurvey/tree/develop-major adresinden klonlayın/indirin.
  3. Değişiklik betiğini tetiklemek için bir yönetim sayfası yükleyin.
  4. Değişiklik betiğinin çalışması sırasında karşılaştığınız hataları bildirin.
  5. Yeni tablo adlarını ve alan adlarını inceleyin.
  6. Eklentilerinizi/temalarınızı test edin ve tablo adları ve/veya alan adlarıyla ilgili hataları düzeltin.

Eski alan adlarını yeni alan adlarına dönüştürmek için kullanılan işlev şudur:

getFieldName($tableName, $fieldName, $questions, $sid, $gid, $cd)

Parametreler

  • $tableName - özgün tablo adı
  • $fieldName - özgün alan adı
  • $questions - kök soru ve alt soruları
  • $sid - anket kimliği
  • $gid - grup kimliği
  • $cd - koşul tasarlayıcı mantığının uygulanıp uygulanmayacağı

Sonuç

İşlev, ilgili yanıt alanı için yeni LS7 alan adını döndürür.

4. Değişiklikler güvenli şekilde nasıl test edilir

Üretim sistemlerini yükseltmeden önce LS7'yi ayrı bir ortamda test etmeniz önemle tavsiye edilir.

4.1 LS7'yi ayrı bir ortama kurun

En son LS7 sürümünü şuradan indirin:

https://community.limesurvey.org

Bunu geçerli kurulumunuzdan ayrı olarak kurun.

4.2 Mevcut varlıklarınızı içe aktarın

Şunları kullanarak test edin:

  • anketler
  • anket temaları
  • yönetim temaları
  • soru temaları
  • eklentiler
  • özel JavaScript
  • geliştirdiğiniz tüm özel entegrasyonlar

Yeni tablo ve alan adı adlandırmasıyla her şeyin beklendiği gibi çalışıp çalışmadığını kontrol edin. Eski adlandırmaya dayanan tüm kodları güncelleyin.

4.3 Geçiş nasıl tetiklenir?

Geçiş mantığının ön izlemesini test kurulumunuzda görmek istiyorsanız:

  1. Veritabanınızı yedekleyin.
  2. LS7 sürümünü kurun.
  3. Geçiş betiğini çalıştırmak için herhangi bir yönetici sayfasını yükleyin.
  4. Tablo ve alan adı değişikliklerini inceleyin.
  5. Uygulamayı test edin.
  6. Gerekirse özel kodları güncelleyin.

4.4 Sorunları bildirin

Bu erken aşamada test ettiğiniz için teşekkür ederiz. Çekirdekte yanlış görünen bir şey fark ederseniz, mümkün olan en kısa sürede düzeltebilmemiz için lütfen bildirin.

https://bugs.limesurvey.org

5. Hangi öğeler güncelleme gerektirebilir

Aşağıdaki öğelerde düzenleme yapılması gerekebilir:

  • eski alan adlarına veya tablo adlarına başvuran eklentiler
  • geliştirdiğiniz tüm özel entegrasyonlar
  • alan adı tabanlı seçiciler kullanan JavaScript
  • yanıtla ilgili tanımlayıcılarla etkileşime giren özel temalar
  • önceki adlandırma şemasına bağımlı entegrasyonlar
  • anket, temalar, Soru temaları vb. eski dışa aktarımların içe aktarılması

Bu beklenen bir durumdur ve yükseltme sürecinin bir parçasıdır.

6. Özet

  • LS7, yanıt tablosu ve alan adı adlandırmasında kapsamlı bir temizlik getirir
  • Bu, LS7 için ana yapısal arka uç değişikliğidir
  • Ayrı bir ortamda test yapılması önemle tavsiye edilir
  • getFieldName() gelecekteki adlandırmanın ön izlemesine yardımcı olur
  • Gerektiğinde özel kodları güncelleyin
  • Nihai sürümün kararlı hale gelmesine yardımcı olmak için sorunları erken bildirin