เพิ่มปลั๊กอิน

เอกสารนี้จะอธิบายวิธีสร้างปลั๊กอินใหม่ แม้ว่ากระบวนการที่อธิบายไว้จะเป็นการสร้างปลั๊กอินของบุคคลที่หนึ่ง แต่คุณก็สามารถใช้เป็นแนวทางในการสร้างปลั๊กอินของบุคคลที่สามได้

ดูภาพรวมของปลั๊กอินได้ที่ปลั๊กอิน

หากต้องการดูข้อมูลเบื้องต้นเกี่ยวกับวิธีสร้างปลั๊กอิน โปรดดูวิธีสร้างปลั๊กอิน ทอล์ก (2021)

บุคคลที่หนึ่งเทียบกับบุคคลที่สาม

ผู้ใช้เป้าหมายของปลั๊กอินคือนักพัฒนาซอฟต์แวร์ที่ค้นหาและใช้ปลั๊กอินผ่าน npm

ปลั๊กอินของบุคคลที่หนึ่งได้รับการสนับสนุนจากทีม Blockly และเผยแพร่ภายใต้ขอบเขต @blockly ใน npm โดยได้รับการออกแบบมาให้ใช้งานได้ในแอปพลิเคชัน Blockly ที่หลากหลาย รวมถึงมีความเสถียรและใช้งานง่าย โดยจะจัดเก็บไว้ใน blockly-samples ฟิลด์สำหรับ การตั้งค่าความเร็วมอเตอร์สามารถใช้ในโปรเจ็กต์หุ่นยนต์หลายโปรเจ็กต์และเป็น ตัวเลือกที่ดีสำหรับปลั๊กอินของบุคคลที่หนึ่ง

ปลั๊กอินของบุคคลที่สามได้รับการดูแลและเผยแพร่แยกกัน ซึ่งอาจมีความซับซ้อนมากขึ้น เป็นการทดลองมากขึ้น หรือกำหนดเป้าหมายไปยังแอปพลิเคชัน Blockly ที่แคบลง ฟิลด์สำหรับการแก้ไขออบเจ็กต์ที่เฉพาะเจาะจงซึ่งกำหนดโดยสคีมาฐานข้อมูลของคุณจะดีกว่าหากเป็นปลั๊กอินของบุคคลที่สาม

เกณฑ์ของบุคคลที่หนึ่ง

ปลั๊กอินของบุคคลที่หนึ่งต้องเป็นไปตามข้อกำหนดต่อไปนี้

  • ทำงานในแพลตฟอร์มหลักทั้งหมด เว้นแต่จะได้รับการยกเว้นจากทีม Blockly
    • Chrome, Firefox, Safari, Edge
  • มีผู้เขียนที่เต็มใจจัดการข้อบกพร่องในช่วงปีแรก
  • อย่าแก้ไข Blockly
  • มี API ที่กำหนดไว้อย่างชัดเจนและมีเอกสารประกอบ
  • อย่าเรียกใช้ฟังก์ชันส่วนตัวหรือฟังก์ชันแพ็กเกจจาก Blockly Core เว้นแต่จะได้รับ การยกเว้นจากทีม Blockly
    • คุณสามารถลบล้างฟังก์ชันของแพ็กเกจในคลาสย่อยที่คุณกำหนดได้
    • หากต้องการรับการยกเว้น โปรดสอบถามเราในปัญหาเกี่ยวกับ blockly-samples
  • มีแบบทดสอบ

กระบวนการ

ปลั๊กอินจะผ่าน 4 ขั้นตอน ได้แก่ คำแนะนำ การอภิปราย การติดตั้งใช้งาน และ การเผยแพร่

คำแนะนำ

ปลั๊กอินจะเริ่มต้นเป็นคำแนะนำ คุณแนะนำปลั๊กอินได้โดยสร้างปัญหาใหม่ด้วยเทมเพลตคำขอฟีเจอร์ ดูข้อมูลเพิ่มเติมได้ที่วิธีเขียนคำขอฟีเจอร์

นอกเหนือจากข้อมูลคำขอฟีเจอร์พื้นฐานแล้ว คำแนะนำปลั๊กอินควรมีข้อมูลต่อไปนี้

  • API ที่ปลั๊กอินจะแสดง
  • API ที่ต้องเพิ่มหรือเปลี่ยนแปลงใน Blockly หลักเพื่อรองรับปลั๊กอิน
  • ภาพหน้าจอ, GIF หรือภาพจำลอง หากปลั๊กอินมีฟีเจอร์ UI
  • คําอธิบายสาเหตุที่ควรเป็นปลั๊กอินของบุคคลที่หนึ่งมากกว่าปลั๊กอินของบุคคลที่สาม

ทีม Blockly จะตรวจสอบคำแนะนำที่ได้รับและปิดปัญหา หรือเห็นด้วยว่าคำแนะนำนั้นจะเป็นปลั๊กอินของบุคคลที่หนึ่งที่ดี

การสนทนา

จากนั้นปลั๊กอินจะเข้าสู่ระยะการอภิปราย ขั้นตอนนี้ประกอบด้วย

  • การชี้แจงฟังก์ชันที่ต้องการ
  • การชี้แจง API ของปลั๊กอิน
  • การวางแผนการติดตั้งใช้งาน
  • การวางแผนสำหรับการทดสอบ
  • การอภิปรายเกี่ยวกับการเปลี่ยนแปลง API ใน Blockly หลัก
  • แบ่งปลั๊กอินขนาดใหญ่ออกเป็นขั้นตอนการติดตั้งใช้งาน
  • การตั้งชื่อปลั๊กอินตามแบบแผนการตั้งชื่อ
  • ยืนยันว่าจะเป็นไปตามเกณฑ์ของบุคคลที่หนึ่งทั้งหมด

โดยปกติแล้วการสนทนานี้จะเกิดขึ้นในปัญหาของ GitHub ยิ่งขอบเขตของ ปลั๊กอินมีขนาดเล็กเท่าใด ระยะการสนทนาก็จะยิ่งเร็วขึ้นเท่านั้น ปลั๊กอินขนาดใหญ่อาจดึงดูด ความสนใจของชุมชนและทำให้เกิดความคิดเห็นที่ชัดเจนเกี่ยวกับโซลูชันที่เหมาะสม หากปัญหานี้ เกิดขึ้นกับปัญหาของคุณ ก็ขอแสดงความยินดีด้วย คุณได้ค้นพบสิ่งที่ผู้คน สนใจ

เป้าหมายคือเมื่อสิ้นสุดระยะการพูดคุย เราจะตัดสินใจเรื่องการออกแบบที่สำคัญทั้งหมด และมีรายการขั้นตอนการติดตั้งใช้งานที่ชัดเจน ทั้งสองควร บันทึกไว้ในความคิดเห็นเกี่ยวกับปัญหา

ในระหว่างการสนทนา เราอาจตัดสินใจว่าปลั๊กอินควรเป็นปลั๊กอินของบุคคลที่สาม และไม่ควรเผยแพร่ภายใต้ขอบเขตของ @blockly ในกรณีดังกล่าว เราจะอธิบาย เหตุผลและปิดปัญหา

เมื่อการสนทนาเสร็จสิ้น สมาชิกในทีม Blockly จะบันทึกว่าพร้อมที่จะ นำไปใช้

การใช้งาน

ขั้นตอนการติดตั้งใช้งานมีดังนี้

  • การเรียกใช้ npx @blockly/create-package เพื่อตั้งค่าปลั๊กอินและไดเรกทอรี จากเทมเพลต ดูข้อมูล เพิ่มเติม...
  • การใช้ตรรกะหลักสำหรับปลั๊กอิน
  • การติดตั้งใช้งาน UI หากจำเป็น
  • การทดสอบปลั๊กอินโดยใช้ Mocha
  • การจัดทำเอกสารปลั๊กอิน รวมถึงREADME

หากปลั๊กอินที่แนะนำได้รับการอนุมัติให้ใช้งานแล้วและคุณต้องการ ทำงานกับปลั๊กอินดังกล่าว ให้แสดงความคิดเห็นในปัญหาและถามว่ายังเปิดรับการมีส่วนร่วมอยู่หรือไม่

โดยผู้มีส่วนร่วมหลายคนอาจทำการติดตั้งใช้งานพร้อมกัน คุณอาจ ใช้ปลั๊กอินร่วมกันใน Fork ของคุณเอง หรือผ่านคำขอ Pull เทียบกับที่เก็บนี้ หากต้องการทำงานร่วมกันในปลั๊กอินในที่เก็บนี้ โปรดขอให้ทีม Blockly สร้างกิ่งก้านฟีเจอร์ให้คุณ

ควรเพิ่มปลั๊กอินลงในไฟล์ gh-pages/index.md ในสาขา master ของ blockly-samples ซึ่งจะทำให้ปลั๊กอินปรากฏในเว็บไซต์ปลั๊กอินของเรา ปลั๊กอินของบุคคลที่หนึ่ง ควรชี้ไปยังหน้าทดสอบของปลั๊กอิน นอกจากนี้ คุณยังเพิ่มปลั๊กอินของบุคคลที่สาม ในหน้านี้ได้ และสามารถชี้ไปยังลิงก์ที่เจ้าของเลือกได้ เช่น เดโมที่โฮสต์หรือหน้า npm

การเผยแพร่

สุดท้ายคือการเผยแพร่ ทีม Blockly ใช้ Lerna เพื่อ จัดการการกำหนดเวอร์ชันและการเผยแพร่ปลั๊กอินทั้งหมด

ทุกวันพฤหัสบดี ระบบจะเผยแพร่ปลั๊กอินที่มีการเปลี่ยนแปลงนับตั้งแต่การเผยแพร่ครั้งล่าสุด หากต้องการให้เผยแพร่การเปลี่ยนแปลงเร็วขึ้น โปรดระบุในคำขอ Pull

นอกจากนี้ เรายังอัปเดตเว็บไซต์ปลั๊กอินทุกครั้งที่มีการเผยแพร่ปลั๊กอิน

ปลั๊กอินที่ยังไม่พร้อมเผยแพร่ควรทำเครื่องหมาย private ใน package.json กรณีนี้อาจเกิดขึ้นหากปลั๊กอินอาศัยการเปลี่ยนแปลงที่ยังไม่ได้เผยแพร่ ใน Blockly หลัก เราจะเผยแพร่ Blockly หลัก ในสัปดาห์สุดท้ายของแต่ละไตรมาส (ทุกๆ 3 เดือน)