x

Үндсэн бүлгүүд

  1. LimeSurvey Cloud ба LimeSurvey CE-ийн харьцуулалт
  2. Хурдан эхлэх гарын авлага - LimeSurvey 3.0+
  3. Суулгалт - LimeSurvey CE
  4. Сайн судалгааг хэрхэн зохиох вэ (гарын авлага)
  5. Эхлэх нь
  6. LimeSurvey-г удирдах
  7. Судалгаа - танилцуулга
  8. Судалгааны тохируулга
  9. Судалгааны цэс
  10. Судалгааны бүтэц
  11. Асуултууд - танилцуулга
  12. Асуултын бүлэг - танилцуулга
  13. Судалгаа - удирдлага
  14. Судалгааны хэрэгслийн самбарын сонголтууд
  15. Олон хэлтэй судалгаа
  16. ExpressionScript Engine - Хурдан эхлэх гарын авлага
  17. Ангилагдаагүй болон нарийвчилсан боломжууд
  18. Түгээмэл асуултууд
  19. Алдаа засварлах
  20. Түр шийдлүүд
  21. Лиценз
  22. Хувилбарын өөрчлөлтүүдийн жагсаалт
  23. Плагинууд
 Actions

LimeSurvey 7 талбарын нэр болон хүснэгтийн шинэчлэл

From LimeSurvey Manual

Энэ хуудсыг машинаар орчуулсан байж магадгүй тул алдаа агуулж болзошгүй. Англи эх хувийг харах · Энэ орчуулгыг сайжруулах
This page is a translated version of the page LimeSurvey 7 Fieldname Refactor and the translation is 100% complete.

Талбарын нэр болон хариултын хүснэгтийн шинэчлэл - LimeSurvey 7

LimeSurvey 7 нь хариултын хүснэгт болон талбарын нэрийг үүсгэх аргыг иж бүрэн цэгцэлсэн. Энэ шинэчлэлээр удаан хугацаанд ашиглагдсан дотоод нэршлийн дүрмийг шинэчилж, плагин, интеграц болон цаашдын хөгжүүлэлтэд зориулсан илүү тодорхой, найдвартай суурийг бүрдүүлсэн.

Энэ хуудас нь хариултын хүснэгт болон талбарын нэрийн шинэчлэлд чиглэнэ.

Энэ нь бүтцийн өөрчлөлт тул хуучин нэршилд тулгуурласан захиалгат ажил бүрийг шинэчлэх шаардлагатай байж болно. Энэ хуудсанд юу өөрчлөгдөж байгаа, хэрхэн аюулгүй туршиж үзэх, шинэчлэлтэд хэрхэн бэлдэх талаар тайлбарласан.

1. Юу өөрчлөгдөх вэ

1.1 Хүснэгтийн шинэ нэрс

LimeSurvey одоо хариулттай холбоотой хүснэгтүүдэд нэг мөр нэршлийн схем ашиглаж байна.

Хуучин хүснэгтийн нэр Шинэ хүснэгтийн нэр
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>

Эдгээр хүснэгтийг дурдсан SQL асуулга, интеграц эсвэл плагинуудад засвар хийх шаардлагатай байж болно.

1.2 Талбарын нэрийн шинэ бүтэц

Талбарын нэр одоо урьдчилан таамаглахуйц, нэг мөр форматтай болсон. Жишээ нь:

  • Q<questionId> - үндсэн асуулт
  • Q<questionId>_S<subquestionId> - дэд асуултууд
  • Q<questionId>_C<suffix> - тайлбар эсвэл бусад талбарууд
  • зэрэглэлийн талбарууд: Q<questionId>_S<subquestionId> - зэрэглэлийн зүйлс одоо дэд асуулт болсон (1.3-ыг үзнэ үү)
  • хугацааны талбарууд: нөхцөл байдлаас хамааран асуултын түвшин эсвэл бүлгийн түвшний

Энэ нь sidXgidXqid дээр суурилсан хуучин нэршлийг орлоно.

1.3 Зэрэглэлийн асуултууд

Зэрэглэлийн асуултууд одоо дэд асуултад суурилсан бусад асуултын төрлүүдийн адил ажиллана:

  • Зүйлс нь дэд асуулт юм. Зэрэглэл тогтоох зүйлсийг Хариултын сонголтууд биш, дэд асуулт (төрөл R) хэлбэрээр хадгална.
  • Талбарын нэр нь дэд асуултын стандарт формат Q<questionId>_S<subquestionId>-г ашиглана (зэрэглэл тогтоосон зүйл бүрт нэг).
  • Хариулт нь Q<questionId> нэртэй нэг JSON баганад хадгалагдах бөгөөд байрлал = зэрэглэл байх зүйлсийн кодын эрэмбэлэгдсэн хүснэгт хэлбэртэй. Жишээ: ["3", "1", "2"]

2. Энэ яагаад чухал вэ

Энэ цэгцлэлт нь олон жилийн турш албан ёсоор тодорхойлогдож, ашиглагдсан нэршлийн хэв маягийг цаашид бидний тулгуурлан хөгжүүлэх нэг мөр, найдвартай бүтцэд оруулж байна.

Ийм бүтцийн өөрчлөлт ховорхон хялбар байдаг. Эдгээр нь олон плагин, интеграц тулгуурладаг системийн хэсгүүдэд нөлөөлдөг тул нарийн төвөгтэй байдлаас болж ихэвчлэн хойшлогддог. Гэвч бүх зүйлийг тогтвортой, урьдчилан таамаглахуйц байлгах нь урт хугацааны тогтвортой байдалд чухал юм.

Үүнийг одоо шийдснээр өөрчлөлт нь гаднаасаа ихэвчлэн мэдрэгдэхгүй байсан ч LimeSurvey-г илүү цэвэр, өргөтгөхөд хялбар болгож байна.

3. Талбарын шинэ нэрсийг хэрхэн урьдчилан харах вэ

Одоо байгаа талбарын нэр LS7-ийн шинэ бүтэцтэй хэрхэн харгалзаж байгааг харахын тулд дараах алхмуудыг гүйцэтгэнэ үү:

  1. Өгөгдлийн сангийн нөөцлөлт хийнэ үү, учир нь өөрчлөлтийг буцаах боломжгүй бөгөөд алдаа гарвал өөрчлөлтөөс өмнөх өгөгдлийн сангаар сэргээх боломжтой байх болно
  2. develop-major салбарыг checkout хийнэ үү:
    git checkout develop-major
    эсвэл төслийг шууд энэ салбараас clone/download хийнэ үү: https://github.com/LimeSurvey/LimeSurvey/tree/develop-major
  3. Өөрчлөлтийн скриптийг ажиллуулахын тулд админ хуудсыг ачаална уу
  4. Өөрчлөлтийн скриптийг ажиллуулах үед гарсан алдаа бүрийг мэдэгдэнэ үү
  5. Хүснэгтийн шинэ нэрс болон талбарын шинэ нэрсийг судална уу
  6. Плагин/сэдвүүдээ туршиж, хүснэгтийн нэр болон/эсвэл талбарын нэртэй холбоотой алдааг засна уу

Хуучин талбарын нэрийг шинэ талбарын нэр рүү хөрвүүлэхэд дараах функцийг ашиглана:

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

Параметрүүд

  • $tableName - анхны хүснэгтийн нэр
  • $fieldName - анхны талбарын нэр
  • $questions - үндсэн асуулт болон түүний дэд асуултууд
  • $sid - судалгааны ID
  • $gid - Бүлгийн ID
  • $cd - Нөхцийн дизайнерын логик үйлчлэх эсэх

Үр дүн

Функц нь тухайн хариултын талбарт харгалзах LS7-ийн шинэ талбарын нэрийг буцаана.

4. Өөрчлөлтийг хэрхэн аюулгүй туршиж үзэх вэ

Бодит ажиллаж буй системийг шинэчлэхээс өмнө LS7-г тусгайлан бэлтгэсэн орчинд туршихыг чанд зөвлөж байна.

4.1 LS7-г тусдаа орчинд суулгах

Хамгийн сүүлийн LS7-г эндээс татаж авна уу:

https://community.limesurvey.org

Үүнийг одоогийн тохиргооноосоо тусад нь суулгана уу.

4.2 Одоо байгаа материалуудаа импортлох

Дараах зүйлсийг ашиглан туршина уу:

  • судалгаанууд
  • Судалгааны сэдвүүд
  • Админы сэдэв
  • Асуултын сэдэв
  • плагинууд
  • захиалгат JavaScript
  • таны бүтээсэн аливаа захиалгат интеграцууд

Шинэ хүснэгт болон талбарын нэршилтэй бүх зүйл хүлээгдсэнээр ажиллаж байгаа эсэхийг шалгана уу. Хуучин нэршилд тулгуурласан бүх кодыг шинэчилнэ үү.

4.3 Шилжилтийг хэрхэн эхлүүлэх вэ?

Хэрэв та шилжилтийн логикийг туршилтын суулгацдаа урьдчилан харахыг хүсвэл:

  1. Өгөгдлийн сангаа нөөцлөнө үү.
  2. LS7 хувилбарыг суулгана уу.
  3. Шилжилтийн скриптийг ажиллуулахын тулд дурын админ хуудсыг ачаална уу.
  4. Хүснэгт болон талбарын нэрийн өөрчлөлтийг шалгаж үзнэ үү.
  5. Аппликейшнийг туршиж үзнэ үү.
  6. Шаардлагатай бол өөрийн кодыг шинэчилнэ үү.

4.4 Асуудлыг мэдээлэх

Энэ шатанд туршиж үзсэнд баярлалаа. Хэрэв цөмд ямар нэг буруу зүйл анзаарвал аль болох түргэн засахын тулд бидэнд мэдээлнэ үү.

https://bugs.limesurvey.org

5. Юуг шинэчлэх шаардлагатай байж болох вэ

Дараахыг тохируулах шаардлагатай байж болно:

  • хуучин талбарын нэр эсвэл хүснэгтийн нэрийг ашигладаг плагинууд
  • таны бүтээсэн бүх захиалгат интеграцууд
  • талбарын нэрэнд суурилсан сонгогч ашигладаг JavaScript
  • хариулттай холбоотой танигчтай харилцдаг захиалгат сэдвүүд
  • өмнөх нэршлийн схемээс хамаарсан интеграцууд
  • судалгаа, сэдэв, Асуултын сэдэв зэрэг хуучин экспортыг импортлох

Энэ нь хүлээгдэж буй зүйл бөгөөд шинэчлэлтийн үйл явцын нэг хэсэг юм.

6. Хураангуй

  • LS7 нь хариултын хүснэгт болон талбарын нэршлийг бүрэн цэвэрлэсэн
  • Энэ нь LS7-ийн үндсэн бүтцийн backend өөрчлөлт юм
  • Тусдаа орчинд туршихыг хатуу зөвлөж байна
  • getFieldName() нь ирээдүйн нэршлийг урьдчилан харахад тусална
  • Шаардлагатай газарт захиалгат кодоо шинэчилнэ үү
  • Эцсийн хувилбарыг тогтворжуулахад туслахын тулд асуудлыг эрт мэдээлнэ үү