ทำให้ปลั๊กอินของคุณเข้ากันได้กับ LS4
From LimeSurvey Manual
การเปลี่ยนแปลงทางเทคนิค
ไฟล์กำหนดค่า XML ใหม่
ตั้งแต่ LimeSurvey 4.0 เป็นต้นมา ปลั๊กอินต้องมีไฟล์กำหนดค่า XML เพื่อให้ทำงานในแอปพลิเคชันได้
เหตุผลคือเพื่อให้สามารถจัดเก็บข้อมูลเมตา เช่น ผู้เขียนปลั๊กอิน อีเมลสำหรับการสนับสนุน หรือข้อมูลตัวอัปเดต
ไฟล์ XML นี้จำเป็นใน LimeSurvey 4 และควรอยู่ในไดเรกทอรีรากของปลั๊กอิน สำหรับข้อมูลเพิ่มเติม โปรดดูการพัฒนาปลั๊กอิน ปลั๊กอิน
ตัวอย่าง:

ไดเรกทอรีปลั๊กอินใหม่
ไดเรกทอรีปลั๊กอินมีการเปลี่ยนแปลงใน LimeSurvey 4 เพื่อเหตุผลด้านความปลอดภัย ไดเรกทอรีปลั๊กอินจึงอยู่ในไดเรกทอรีอัปโหลด (/upload/plugins) เนื่องจากมีตัวจัดการปลั๊กอินใหม่ (ตัวอัปโหลดปลั๊กอิน) สำหรับการอัปโหลดด้วยตนเอง เราแนะนำให้อัปโหลดไฟล์ของคุณไปยังไดเรกทอรีใหม่เพื่อหลีกเลี่ยงการทำงานผิดปกติของซอฟต์แวร์
โปรดตรวจสอบให้แน่ใจว่าได้เปลี่ยนหรือเพิ่มไดเรกทอรีใหม่ หากมีการกำหนดไดเรกทอรีไว้ตายตัวในปลั๊กอินของคุณ
ตัวอย่าง:

อีเวนต์ปลั๊กอินใหม่
อีเวนต์ปลั๊กอินบางรายการจาก LS3 เลิกใช้งานแล้ว ให้ใช้อีเวนต์ปลั๊กอินใหม่ที่เพิ่มเข้ามาใน LS4 เพื่อแทนที่อีเวนต์ปลั๊กอินเดิม สำหรับข้อมูลเพิ่มเติม โปรดดูคู่มือการพัฒนาของเราเกี่ยวกับ อีเวนต์ปลั๊กอิน
ฟังก์ชันและเมธอดที่เลิกใช้งาน
เนื่องจากโค้ดเบสหรือโครงสร้างของ LimeSurvey 4 มีการเปลี่ยนแปลง จึงมีเมธอดหรือฟังก์ชันจำนวนมากที่ไม่ได้ใช้งานอีกต่อไป เพื่อแก้ไขปัญหานี้ ก่อนอื่นคุณต้องเปิดใช้งานโหมดดีบักในไฟล์ config.php แล้วไปที่หน้าปลั๊กอิน เมธอดใดก็ตามที่ไม่มีอยู่แล้วจะแสดงในหน้าข้อผิดพลาด
เมธอดบางรายการถูกเปลี่ยนชื่อใน LS4 หรือไม่ได้ใช้งานอีกต่อไป เพื่อให้แน่ใจว่าปลั๊กอินของคุณทำงานได้ทั้งบน LS3 และ LS4 ให้ตรวจสอบเวอร์ชันของ LS ก่อนเรียกใช้เมธอดที่คุณต้องการ
ตัวอย่าง:

แนวทางปฏิบัติที่ดีที่สุด
หลีกเลี่ยงไฟล์ SVG
ด้วยเหตุผลด้านความปลอดภัย (XSS) จึงไม่สามารถอัปโหลดไฟล์ SVG ได้ ตัวอัปโหลดปลั๊กอินจะข้ามไฟล์ SVG ให้แทนที่ด้วยไฟล์ PNG หรือ JPEG สามารถอัปโหลดไฟล์ SVG ได้ก็ต่อเมื่อคุณเข้าถึงไดเรกทอรีการติดตั้งผ่าน FTP หรือเครื่องมือเซิร์ฟเวอร์อื่นได้ (อัปโหลดไฟล์ใด ๆ ด้วยความเสี่ยงของคุณเอง)
หลีกเลี่ยงค่าคงที่แบบโกลบอล
หลีกเลี่ยงการใช้ค่าคงที่แบบโกลบอลที่อาจชนกับตัวแปรของแอปพลิเคชันหลักหรือปลั๊กอินอื่น เช่น „ROOT_PATH“ โดยทั่วไปไม่ควรใช้ค่าคงที่แบบโกลบอลในการพัฒนาปลั๊กอิน
ใช้เนมสเปซ
ใช้เนมสเปซเพื่อจัดระเบียบให้ดีขึ้นโดยจัดกลุ่มคลาสที่ทำงานร่วมกันเพื่อทำงานอย่างใดอย่างหนึ่งในปลั๊กอินของคุณ วิธีนี้จะช่วยให้คุณหลีกเลี่ยงการใช้คลาสที่แอปพลิเคชันหลักใช้อยู่แล้ว
ตัวอย่าง:

