วิกิพีเดีย:สคริปต์จัดให้/ไม่ถามแต่อยากตอบ

== คำถามที่ไม่มีคนถามแต่อยากตอบ**
และแล้วสคริปต์จัดให้ก็จะมีเมนูซะที หลังจากที่มีคนเสนอไปเป็นปี ซึ่งความเป็นจริงก็มีโค้ดที่ทำแบบนี้ได้ตั้งนานแล้ว ทำไมสคริปต์จัดให้ถึงเพิ่งจะมี?
ผมเองตั้งแต่ปีที่แล้ว เคยลองที่จะนำเมนูมาใช้แล้วครับ แต่พบว่ามีปัญหากับไออี จึงไม่สามารถนำมาใช้ได้ เพราะว่าสคริปต์จัดให้มีนโยบายที่จะต้องรองรับเบราว์เซอร์ไออีทุกความสามารถ เพราะว่ามีผู้ใช้มากที่สุด จากสถิติการใช้งานวิกิพีเดียไทย หากผมไม่รองรับผู้ใช้ดังกล่าว ก็เหมือนทำให้ผู้ใช้ส่วนมากไม่สามารถเข้าถึงสคริปต์จัดให้ได้จากเบราว์เซอร์ที่ตัวเองใช้อยู่แล้ว ณ. ช่วงนั้นผมเองก็ได้มีการพยายามติดต่อผู้ที่เขียนโค้ดที่เกี่ยวข้องกับเมนูว่าให้แก้รองรับไออีได้ไหม เขาก็ขอโทษว่าไม่ได้ ไม่ว่าจะไม่ได้ใช้วินโดวส์แล้ว หรือสาเหตุอื่น ๆ ก็ตาม ส่วนตัวแล้วหลังจากพัฒนาสคริปต์จัดให้มา 1-2 ปีที่ผ่านมา ก็ไม่แปลกใจเท่าไร ซึ่งผมเองก็เลยพับโครงการไปพักใหญ่เหมือนกันครับ ซึ่งกว่าจะรองรับได้ทั้ง 2 เบราว์เซอร์นั้นเรียกว่าเหนื่อยมาก ๆ ครับ เสียเวลาไปมากเลย แต่ผลที่ได้ก็คุ้มค่า ซึ่งผมเชื่อเลยว่า สคริปต์จัดให้ เป็นตัวแรกที่จะรองรับเมนูได้อย่างดีที่สุดบนไออี
อย่างนี้แสดงว่าการพัฒนาสคริปต์ให้ใช้งานได้บนไออีนี่ยากกว่าอย่างบนไฟร์ฟอกซ์ หรือเป็นเพราะว่าผู้พัฒนาบางคนเลือกที่จะทำให้ไฟร์ฟอกซ์ก่อนถึงทำให้มีปัญหาจุดนี้?
ส่วนตัวแล้วสนับสนุนไออีตั้งแต่เริ่มต้นพัฒนาสคริปต์จัดให้ครับ แต่แล้วก็ต้องยอมรับว่าการทดสอบและพัฒนานั้นง่ายกว่าบนไฟร์ฟอกซ์อย่างที่ได้มีพูดกัน จนปัจจุบันแม้ผมเองก็ต้องแสดงความจำนงว่าได้เปลี่ยนมาพัฒนาบนไฟร์ฟอกซ์เป็นหลักแล้ว ซึ่งผลตามมาที่อาจเห็นกันได้คือผู้พัฒนาบางคนจึงอาจใช้ความสามารถพิเศษที่มีเฉพาะในไฟร์ฟอกซ์ หรือกรณีอื่น ๆ เช่นกัน ทำให้ไออีไม่สามารถใช้ได้ ผมจำได้แม่น ครั้งแรกที่เสียเวลาอย่างมากกับความเข้ากันได้ คือพยายาม port ความสามารถย้อนกลับ จากวิกิพีเดียอังกฤษ ซึ่งตอนนั้นใช้งานได้เฉพาะบนไฟร์ฟอกซ์ จนทำให้ใช้งานได้บนไออี เสียเวลาไปมากเลยเช่นกัน
นี่คือคุณสรุปว่าไฟร์ฟอกซ์ดีกว่า?
สคริปต์จัดให้รองรับทั้งไฟร์ฟอกซ์ และไออี 100% ในทุกความสามารถครับ สคริปต์จัดให้ไม่ต้องการที่จะชักจูง หรือบังคับให้ผู้ใช้เลือกหรือจำเป็นต้องเปลี่ยนเบราว์เซอร์เพื่อใช้สคริปต์จัดให้
แล้วอย่างกรณีเบราว์เซอร์อื่น ๆ อย่าง Safari หรือ Opera?
การทำให้ความสามารถต่าง ๆ เข้ากันได้ในหลายเบราว์เซอร์นั้น จำเป็นที่จะต้องเสียเวลาทดสอบ และแก้ไขปรับจุดเล็ก ๆ น้อย ๆเพื่อรองรับถึงความแตกต่างระหว่างเบราว์เซอร์ ผู้พัฒนาบางกลุ่มที่สนับสนุนมาตรฐานแบบที่คิดว่าจะแก้ไขปัญหาความเข้ากันได้ให้สูญพันธุ์นั้น ในหลากหลายกรณีผมมองว่าเป็นพวก idealist ซึ่งในความเป็นจริงนั้น แต่ละเบราว์เซอร์หากเอนจินต่างกันก็จะมีส่วนต่างกันอยู่แม้ว่าจะรองรับมาตรฐานทั้งคู่ก็ตาม ส่วนสาเหตุที่ไม่รองรับเพราะว่าเวลาในการทดสอบ ซึ่งผมมองว่าจำนวนผู้ใช้คริปต์จัดให้นั้นน้อยมากบนเบราว์เซอร์ดังกล่าว จึงทำให้ไม่คุ้มค่ากับเวลาที่ผมต้องเสียเพื่อให้รองรับเบราว์เซอร์ดังกล่าว โดยสามารถนำเวลาไปพัฒนาอย่างอื่นได้มากกว่า อย่างไรก็ตาม แม้ว่าไม่รองรับอย่างเป็นทางการ แต่ไม่ได้หมายความว่าไม่สามารถใช้ได้เลย
อย่างล่าสุดก็สังเกตได้ว่าคุณได้เพิ่มความต้องการขั้นต่ำของสคริปต์จัดให้ อย่างไออีก็เป็นรุ่น 7.0 และไฟร์ฟอกซ์ก็กลายเป็นรุ่น 2.0....
ไออี 7.0 นั้นออกมาเป็นปีกว่าแล้วครับ และไมโครซอฟท์ได้หยุดตรวจสอบลิขสิทธิ์ในตัวติดตั้งไออี 7 แล้ว ซึ่งทำให้ผู้ใช้ส่วนใหญ่ไม่น่าจะมีปัญหาอัปเดตไปยังรุ่นล่าสุด ส่วนประเด็นหลังจริง ๆ คือการทดสอบครับ ผมเองขณะนี้ได้หันมาใช้ไออี 8 เบต้า 1 สักพักแล้ว และคิดว่าเป็นการดีที่จะปรับขึ้นมา เพื่อความง่ายในการทดสอบ โดยหากผมต้องทดสอบไออี 6 ณ ปัจจุบันนั้น ผมจะต้องเปิด Virtual Machine ขึ้นมาเพื่อมาลองตรวจสอบถึงปัญหา และความแตกต่าง ซึ่งการตรวจสอบก็ลำบากแล้ว และการพยายามแก้นั้น เรียกว่าลำบากมาก อย่างไรก็ตาม ผมเองจะพยายามรองรับไออี 6.0 เท่าที่ทำได้แต่จะไม่ทำการทดสอบอีกต่อไปแล้ว โดยจะตรวจสอบเมื่อมีการแจ้งเข้ามาเท่านั้น ซึ่งส่วนตัวแล้วไออี 7 จะรองรับอีกสักพักใหญ่ ๆ เพราะว่าไออี 8 มีไออี 7 โหมดทำให้สามารถทดสอบการแสดงผลของไออี 7 ได้ผ่านไออี 8 แต่ส่วนตัวแล้ว ผมจะแนะนำให้ทุกคนอัปเดตไปใช้ไออี 8 เร็วที่สุดเท่าที่ทำได้เมื่อออกแล้ว
แล้วอย่างนี้สำหรับผู้ใช้เบราว์เซอร์เก่า หรือมีปัญหากับเมนูป้ายใหม่ จะทำอย่างไร?
ซึ่งผมเองเข้าใจว่าอาจเป็นไปได้เช่นกัน จึงได้เพิ่มตัวเลือกปรับแต่ง useOldTabsNavigation ซึ่งเพียงตั้งค่านี้เป็น true ก็จะบอกสคริปต์จัดให้ให้ใช้รูปแบบเดิมครับผม การปรับแต่งสคริปต์จัดให้ นั้นเป็นความสามารถที่ตอบรับผู้ใช้เพื่อรองรับความหลากหลาย และความต้องการที่แตกต่างกันเมื่อมีผู้ใช้มากขึ้น โดยจะมีตัวเลือกอื่น ๆ ที่สามารถตั้งค่าได้ตามที่ผู้ใช้ต้องการครับ อย่างไรก็ตามในแทบทุกกรณี สคริปต์จัดให้ได้คัดสรร และตั้งค่าที่คิดว่าดี และเหมาะสมที่สุดมาให้เรียบร้อยแล้ว 
บางคนเหมือนแสดงว่าบั๊กเยอะ! เจอบั๊กอีกแล้ว นี่ก็บั๊ก นี่ก็บั๊กอีก
ต้องยอมรับว่าเป็นเรื่องปกติครับผม ผมเองก็คน แล้วก็ยอมรับว่าผิดพลาดบ่อย ซึ่งประเด็นแรกที่ต้องเข้าใจคือสคริปต์จัดให้นั้น ผมเองเสียสละเวลาจากการทำงานอื่นมาเขียนโค้ด โดยส่วนมากอาจจะไม่ได้ทำการทดสอบมากมายเหมือนการพัฒนาซอฟต์แวร์ตามปกติ เพียงคิดว่าหรือหากพอเพียงว่าใช้ได้ก็อาจจะโอเคแล้ว หรือบางกรณีอาจจะรอดูว่าจะมีผู้ใช้มาแจ้งปัญหาไหมด้วยซ้ำ เหอะ ๆ นอกจากนั้นแล้ว สคริปต์จัดให้มีความสามารถ และการทำงานที่คอยเพิ่มขึ้นมา รวมถึงมีเดียวิกิเองก็มีการเปลี่ยนแปลงอยู่ตลอด ซึ่งทำให้ความสามารถเดิมอาจหยุดทำงานได้ หรือไม่ว่าจะเป็นกรณีผลพ่วงจากการจัดโค้ดใหม่ หรือการแก้ไขใหม่ที่ทำให้สิ่งเดิมหยุดทำงาน กรณีหลังสุดนั้นเกิดขึ้นบ่อยเช่นกัน แต่เหมือนทุกซอฟต์แวร์ คือบั๊ก ความสามารถที่ต้องการ เหล่านี้มีอยู่ตลอด ขึ้นอยู่จำนวน และสภาพแวดล้อมอื่น ๆ
ผู้ใช้จะคาดหวังอะไรต่อจากรุ่นต่อไป จะมีอะไรเด็ด ๆ ออกมาอีก
ขณะนี้ยังไม่มีแผนอย่างเป็นรูปธรรม ซึ่งได้มีความสามารถหลายตัวที่เสนอเข้ามาก่อนหน้านี้และยังไม่ได้เพิ่มให้ ซึ่งอาจจะนำมาพิจารณา และพัฒนาในรุ่นต่อไป แต่ส่วนตัวแล้ว อาจจะพักสักพักใหญ่ ๆ เพราะว่าบอตคุง และงานอื่น ๆ ก็มีรอเข้ามาพอสมควรเช่นกัน รวมถึงขยายสาขาอื่น ๆ อีกด้วยครับ โดยผู้ใช้ทั่วไปจะไม่สังเกต แต่การเปลี่ยนแปลงมาถึงรุ่น 6.0 นี้ได้มีการจัดโค้ดใหม่เพื่อรองรับวิกิอื่นได้อย่างดีขึ้นกว่าเดิม โดยขยายรูปแบบจัดให้ จากแนวทางตอนแรกเริ่มคือผู้ใช้ไม่ต้องคัดลอกโค้ดไปหน้า monobook.js ของตน แต่ให้สมัครแทนทำให้อัปเดตง่าย ผมเองก็นำแนวทางนี้ไปใช้กับสาขาย่อย คือสาขาย่อยก็จะสมัครสคริปต์จากสาขาหลักอีกที ทำให้การอัปเดตทั้งหมดอยู่ที่ศูนย์กลาง และจะช่วยในการบริหารสคริปต์จัดให้ที่มีหลากหลายสาขาอย่างสะดวกมากขึ้น ยกตัวอย่างกรณีต้องการพิ่มคำศัพท์แก้ไขในเก็บกวาด หรือแก้ไขบั๊กในเก็บกวาด ผมเองก็เพียงแก้ที่เดียว ซึ่งจะมีผลไปยังวิกิอื่น ๆ ด้วย ซึ่งปัจจุบันนี้สาขาแรกที่นำร่องใช้วิธีใหม่คือไร้สาระนุกรมครับ และเมื่อสคริปต์จัดให้ 6.0 เสร็จแล้ว ก็มีแผนจะนำไปขึ้นใหม่ที่วิกิซอร์ซเป็นสาขาต่อไป
เดี๋ยวนี้บอตคุงเองก็ได้คอยเก็บกวาดบทความจากปรับปรุงล่าสุดทุกวันอยู่แล้ว ป้ายเก็บกวาดในสคริปต์จัดให้ยังมีความหมาย และควรจะมีอีกเหรอ?
จริงครับที่ว่าปัจจุบันนี้บอตคุงเองจะคอยเก็บกวาดบทความจากปรับปรุงล่าสุดรายวัน เพื่อเก็บกวาดบทความใหม่ และรวมถึงบทความที่มีอยู่แล้วที่ได้รับการแก้ไขใหม่ แต่ทว่าการทำงานเก็บกวาดในบอตคุง และสคริปต์จัดให้นั้นไม่เหมือนกัน ความสามารถเก็บกวาดในบอตคุงนั้นมีน้อยกว่าพอสมควรเพื่อเทียบกับสคริปต์จัดให้ สำหรับรายละเอียดเก็บกวาดของบอตคุง สามารถดูได้ที่หน้าผู้ใช้บอตคุงเอง ซึ่งความสามารถเก็บกวาดหลายอย่างในสคริปต์จัดให้ อาจจะไม่มีวันที่จะเพิ่มในบอตคุง สาเหตุที่ไม่เหมือนกันไม่ใช่เพราะว่าบอตคุงไม่สามารถทำทุกอย่างที่เก็บกวาดในสคริปต์จัดให้ทำได้ทางเทคนิค แต่ความจริงแล้วทุกอย่างที่เก็บกวาดในสคริปต์จัดให้ทำได้ บอตคุงสามารถทำได้และมากกว่า แต่สาเหตุที่แท้จริงนั้นเพราะว่าเป้าหมายต่างกัน รวมถึงผมเองจะคอยเพิ่มความสามารถใหม่ไปในสคริปต์จัดให้ก่อนเพิ่มไปยังบอตคุง เพื่อให้คนจริง ๆ ได้ทดสอบใช้ และแจ้งปัญหา จากนั้นเมื่อผ่านเวลาไปสักพักแล้วจึงค่อยนำไปใส่ในบอตหากเหมาะสม ซึ่งนี่คือหนึ่งในวิธีที่ผมใช้ทดสอบว่าโค้ดใหม่มีเสถียรภาพเพียงพอ เพราะว่าวิกิพีเดียมีเป็นหมื่น ๆ บทความ หลากหลายแขนง ในหลากหลายกรณี ไม่สามารถคาดคะเนหรือเตรียมพร้อมสำหรับทุกกรณีได้ และจึงเป็นไปได้เช่นกันเมื่อบอตคุงรันแล้ว อาจจะพบเจอปัญหาเพิ่มเติม เพราะเพียงใช้งานในหลากหลายบทความกว่าตอนแรกที่ถูกใช้ในสคริปต์จัดให้ ดังนั้น ป้ายเก็บกวาดในสคริปต์จัดให้จะคงมีต่อไป และจะไม่ถูกทดแทนโดยบอต ดังนั้นหากคุณสนใจจะลองใช้ไม่ว่าจะทดสอบความสามารถใหม่ล่าสุดในเก็บกวาด หรือเพียงต้องการเก็บกวาดบทความก็แนะนำเป็นอย่างยิ่ง หรือแม้แต่กรณีที่บอตคุงจะเก็บกวาดไปแล้วก็ตาม เพราะเชื่อได้เลยว่า ยังมีให้เก็บกวาดมากกว่านั้นอีก 
อืม.. คำถามที่ต้องการคำตอบไม่เห็นมีเลย มีแต่คำถามอะไรก็ไม่รู้ ทำอย่างไรดี?
หากมีคำถามเพิ่มเติม สนใจ หรือต้องการเสนอแนะ แจ้งปัญหา ก็สามารถพูดคุยได้ที่ คุยกับผู้ใช้:Jutiphan
หมวดหมู่:สคริปต์วิกิพีเดีย