การติดตั้งส่วนขยายและผลที่ตามมา
แนวคิดของการมีระบบที่ขยายได้นั้นยอดเยี่ยม แต่อย่างที่นักพัฒนาเรารู้มันไม่ใช่เรื่องง่าย หลายสิ่งหลายอย่างสามารถ (และน่าเสียดายที่ทำ) ผิดไป
ภาพรวม
ฉันจะเริ่มต้นด้วยรายการปัญหาที่อาจเกิดขึ้นจากการติดตั้งส่วนขยาย จากนั้นฉันจะทำให้ประเด็นหลักของฉันและระบุข้อสรุปที่ฉันทำเองจากทั้งหมดและในที่สุดฉันก็จะแนะนำวิธีแก้ปัญหา (นี่อาจจะนานขอโทษล่วงหน้าฉันจะพยายามเขียนให้น้อยที่สุดและยังครอบคลุมหัวข้อ)
เพื่อเริ่มต้นใช้งานนี่คือรายการปัญหาทั่วไปที่พบเนื่องจากการติดตั้งส่วนขยาย
ความปลอดภัย
ไม่มีการตรวจสอบรหัสใด ๆ ก่อนที่จะยอมรับส่วนขยายใน Magento Connect ดังนั้นส่วนขยายจำนวนมากจึงมีช่องโหว่ มีสาเหตุหลายประการเช่นนักพัฒนาที่ไม่มีประสบการณ์หรือขี้เกียจการใช้รหัสของบุคคลที่สามที่มีช่องโหว่และส่วนขยายบางอย่างยังมีรหัสที่เป็นอันตราย การเรียกใช้โค้ดจากระยะไกลการฉีด SQL และการหยุดทำงานเป็นความจริง ผลที่ตามมาคือข้อมูลลูกค้าสูญหายข้อมูลรับรองการชำระเงินที่สูญหายรายรับที่เสียเวลาที่สูญเสียไป
ประสิทธิภาพ
ส่วนขยายสามารถทำงานได้ดีบนไซต์เดียวหรือบนอินสแตนซ์นักพัฒนา แต่ด้วยแคตตาล็อกหรือฐานลูกค้าที่แตกต่างกันอาจทำให้เกิดปัญหาประสิทธิภาพการทำงานที่ร้ายแรง อาจมีเหตุผลที่เป็นรูปธรรมมากมายตั้งแต่การโหลดเอนทิตีที่ไม่มีประสิทธิภาพการรวม SQL ที่ไม่ได้เพิ่มประสิทธิภาพการร้องขอ ajax จำนวนสูงตัวเลือกแอตทริบิวต์หรือแอตทริบิวต์จำนวนมากและอื่น ๆ อีกมากมาย ทุกครั้งที่ผู้ขายโทรศัพท์แจ้งนักพัฒนาเราถึงเรื่องของประสิทธิภาพ ค่าใช้จ่ายนี้เป็นรายได้จากผู้ขาย
ความขัดแย้ง
แม้เพียงสองส่วนขยายแม้ว่าจะได้รับการพัฒนาโดยใช้แนวทางปฏิบัติที่ดีที่สุดก็สามารถขัดแย้งกันได้ นี่เป็นส่วนใหญ่เนื่องจากวิธีที่วีโอไอพีเฟรมเวิร์กผสาน XML การกำหนดค่า ในกรณีที่ดีที่สุดความขัดแย้งเหล่านี้สามารถมองเห็นได้ผ่านการติดตามสแต็กหรือหน้าจอว่างเปล่าในกรณีที่เลวร้ายที่สุดเว็บไซต์จะยับยั้งพฤติกรรมที่แปลกและยากที่จะทำการดีบัก ผู้ขายจะไม่สามารถแก้ไขปัญหาและสร้างส่วนขยายที่ขัดแย้งกันอยู่ร่วมกันได้หากไม่มีความช่วยเหลือจากผู้พัฒนา ค่าใช้จ่ายเวลาและเงิน
upgradability
การอัพเกรดไม่ได้เป็นตัวเลือกหากเหตุผลด้านความปลอดภัยเท่านั้น ส่วนต่อขยายจำเป็นต้องได้รับการดูแลเช่นเดียวกับรหัสพื้นฐานและเป็นส่วนหนึ่งของกรอบวีโอไอพี หากมีการใช้ส่วนขยายและนักพัฒนาดั้งเดิมไม่ได้ดำเนินการต่อเพื่อรักษาส่วนขยายนักพัฒนารายอื่นจะต้องเข้าควบคุม การไม่มีผู้พัฒนามักทำให้ผู้ค้าไม่สามารถอัพเกรดได้ซึ่งจะนำไปสู่ไซต์ที่ช้ากว่าพวกเขาจะต้องมีปัญหาด้านความปลอดภัยถูกนำไปใช้ประโยชน์และทำให้สูญเสียรายได้
ขยาย
การเพิ่มคุณสมบัติใหม่ให้กับเว็บไซต์ที่มีอยู่นั้นมีความซับซ้อนมากขึ้นเรื่อย ๆ และมีราคาแพงเพราะแต่ละส่วนขยายในระบบจะเพิ่มหนี้ทางเทคนิค หนี้โดยรวมนั้นมีขนาดใหญ่กว่านั้นแต่ละส่วนขยายเนื่องจากความซับซ้อนที่รวมกันนั้นมีขนาดใหญ่กว่านั้นแต่ละส่วนนั้นจะมีความซับซ้อนมากขึ้น การไม่สามารถทดสอบคุณลักษณะและการเปลี่ยนแปลงใหม่ ๆ ได้อย่างง่ายดายทำให้ผู้ค้ามีรายได้จำนวนมากที่หายไป
ถอนการติดตั้ง
สิ่งต่อไปนี้ทำให้เกิดความเสียหายใน Magento เมื่อถอนการติดตั้งส่วนขยาย:
- เร็กคอร์ดฐานข้อมูลอ้างอิงถึงคลาสในส่วนขยายที่ถอนการติดตั้ง (ตัวอย่างเช่นตัวทำดัชนีหรือโมเดลส่วนหลังแอ็ตทริบิวต์) แม้แต่ส่วนขยายที่ปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดก็มีแนวโน้มที่จะเกิดขึ้นเช่นนี้
- การถอนการติดตั้งส่วนขยายที่เขียนทับรหัสหลักทำให้วีโอไอพีหายไปจากไฟล์ต้นฉบับ ซึ่งแน่นอนว่าจะเกิดขึ้นหากส่วนขยายไม่ปฏิบัติตามแนวปฏิบัติที่ดีที่สุด แต่เป็นความจริงที่ว่าส่วนขยายจำนวนมากไม่ดี
การทำลายเว็บไซต์แน่นอนว่าต้องเสียค่าใช้จ่าย
Magento Connect
จากรายการปัญหาข้างต้นใครบนโลกจะคาดหวังได้ว่าผู้ที่ไม่ใช่นักพัฒนาซอฟต์แวร์จะติดตั้งส่วนขยายและประเมินว่ามันทำงานบนไซต์ที่กำหนดได้อย่างไร
ไม่มีการรับประกันการถอนการติดตั้งที่สะอาดดังนั้นบ่อยครั้งที่การติดตั้งที่ไม่สามารถซ่อมแซมได้ ตัวเลือกเดียวคือทำการสำรองข้อมูลให้ครบถ้วนก่อนจากนั้นทำการย้อนกลับด้วยตนเองหากมีสิ่งผิดปกติเกิดขึ้น บุคคลที่ไม่ใช่ด้านเทคนิคสามารถทำเช่นนั้นได้หรือไม่ จากประสบการณ์ของฉันไม่มี
สมมติว่าทุกอย่างดูโอเค ไม่ทราบว่าผู้ประกอบการค้าทุกอย่างเป็นโอเค?
เรื่องความปลอดภัยล่ะ ปัญหาเกี่ยวกับประสิทธิภาพคืออะไร ปัญหาการอัปเกรดเป็นอย่างไร
นอกจากนี้ไม่มีทางที่ไม่ใช่นักพัฒนาสามารถประเมินสิ่งเหล่านี้
ข้อความที่วีโอไอพีคอนเน็คสื่อสารนั้นเป็นเรื่องง่ายที่จะขยายร้านวีโอไอพีของคุณโดยการติดตั้งวีโอไอพีโดยไม่ต้องมีนักพัฒนา อาจมีประโยชน์ในการขายเพื่อบอกใครบางคนว่าเป็นกรณี แต่มันก็ไม่เป็นความจริง
สิ่งที่ฉันพบบ่อยที่สุดคือในการสื่อสารความต้องการสำหรับนักพัฒนานั้นโดยนัยและไม่ได้สื่อสารกัน เป็นผลให้เจ้าของร้านค้าจำนวนมากทำลายร้านค้าของพวกเขาโดยการติดตั้งส่วนขยาย นั่นคือค่าใช้จ่ายเงินเวลาเส้นประสาทวีโอไอพีและชื่อเสียงของนักพัฒนา
ฉันต้องการให้คลาสของฉันมีอินเทอร์เฟซที่ชัดเจนและฉันเชื่อว่ามันจะดีถ้าความต้องการของนักพัฒนาสำหรับวีโอไอพีจะได้รับการสื่อสารอย่างชัดเจนเช่นกัน
สรุปผลการวิจัย
สิ่งนี้ไม่ดีสำหรับระบบนิเวศเลยแม้ว่าการแก้ไขไซต์ที่เสียหายจะให้รายได้สำหรับนักพัฒนา Magento บางคน เงินเดียวกันสามารถใช้เพื่อสร้างมูลค่าที่แท้จริงสำหรับลูกค้าร้านค้า
บน Twitter มีคนบอกว่าพ่อค้าเป็นผู้ใหญ่ที่สามารถตัดสินใจได้ด้วยตนเองหากพวกเขาติดตั้งส่วนขยายหรือไม่ ฉันไม่เห็นด้วย. หากผู้ขายไม่ใช่นักพัฒนาในเวลาเดียวกันเขาไม่สามารถตัดสินใจได้ด้วยตนเอง
Magento Connect ไม่ควรทำให้ง่ายสำหรับคนที่ไม่ใช่ช่างเทคนิคในการยิงตัวเองด้วยการเดินเท้า
โดยส่วนตัวแล้วฉันไม่สบายและเบื่อที่จะเห็นการติดตั้ง Magento เนื่องจากส่วนขยาย ฉันชอบสร้างสิ่งต่าง ๆ ที่เพิ่งทำความสะอาด
ฉันกำลังคิดที่จะลบส่วนขยายของฉันออกจาก Magento Connect เพราะฉันไม่ต้องการที่จะสนับสนุนความคิดที่มีข้อบกพร่องอีกต่อไป
วิธีการแก้
ในความคิดของฉันการแก้ปัญหาเป็นเรื่องง่ายและราคาถูก มันไม่ได้เกี่ยวกับการสร้างอีกส่วนขยายตลาดใหม่เชิงพาณิชย์หรือฟรี นี่ไม่ใช่ปัญหาทางเทคนิคมันคือทั้งหมดที่เกี่ยวกับการสื่อสาร
หาก Magento Connect ระบุว่าเป็นทรัพยากรของนักพัฒนาซอฟต์แวร์และควรมีการตรวจสอบส่วนขยายก่อนการติดตั้งและเฉพาะผู้พัฒนาเท่านั้นที่ควรติดตั้งส่วนขยายนี่จะไม่ใช่ปัญหา ร้านค้าที่ยังคงติดตั้งส่วนขยายก็สามารถทราบความเสี่ยงได้
ดังนั้นนี่คือสามขั้นตอนง่าย ๆ ที่ทำให้ Magento เป็นมิตรกับผู้ค้ามากขึ้น:
- ลบตัวเลือกในการติดตั้งส่วนขยายผ่านทางอินเทอร์เฟซผู้ดูแลระบบ Magento (เช่นตัวดาวน์โหลด)
- ระบุอย่างชัดเจนและชัดเจนใน Magento Connect ว่าเป็นงานของนักพัฒนาในการดาวน์โหลดตรวจสอบและติดตั้งส่วนขยายใด ๆ
- ให้ความรู้แก่นักพัฒนาในการตรวจสอบส่วนขยายใด ๆ ที่จะติดตั้งบนไซต์
จบคำ
ฉันชอบส่วนขยายการแบ่งปัน ฉันรักโอเพ่นซอร์ส ฉันคิดว่าชุมชนนักพัฒนา Magento นั้นยอดเยี่ยมมาก !!
การตรวจสอบส่วนขยายเป็นวิธีที่ดีในการเรียนรู้ Magento Connect ไม่เลวเพียงแค่ข้อความที่ส่งถึงผู้ที่ไม่มีความรู้ด้านเทคนิค
แต่ละเว็บไซต์วีโอไอพีเป็นแอพพลิเคชั่น มันเป็นเอกลักษณ์และจำเป็นต้องได้รับการปฏิบัติเหมือนเป็นความพยายามในการพัฒนาที่ไม่เหมือนใคร
มันควรจะเป็นฉันทามติทั่วไปในระบบนิเวศที่ส่วนขยายมีประโยชน์ แต่การติดตั้งส่วนขยายบ่อยกว่านั้นจะไม่ต้องการให้เขียนหรือแก้ไขรหัสดังนั้นจึงต้องมีนักพัฒนาซอฟต์แวร์
แก้ไข : ผมโพสต์ข้อมูลพื้นฐานบางอย่างทางเทคนิคน้อยลงในบล็อกของฉัน