บทนำ

งานใน Classroom เรียกว่ารายการงานของชั้นเรียน ซึ่งจะอยู่ในหน้างานของชั้นเรียนในหลักสูตร Classroom ใดก็ได้ แม้ว่างานในชั้นเรียนจะมี 4 ประเภท แต่คู่มือนี้จะเน้นที่ประเภท "งาน" เท่านั้น หากต้องการทราบวิธีจัดการงานในชั้นเรียนประเภทอื่นๆ โปรดอ่านคู่มือจัดการงานในชั้นเรียน

Google Classroom ผสานรวมกับเวิร์กโฟลว์ของงานได้ 2 วิธี ได้แก่ ปุ่มแชร์ของ Classroom และ Classroom API ปุ่มแชร์ช่วยให้ผู้ใช้แชร์เนื้อหาเป็นรายการสตรีมใดก็ได้ผ่านกล่องโต้ตอบแบบป๊อปอัปของ Classroom ส่วน Classroom API ช่วยให้เวิร์กโฟลว์ของงานตั้งแต่ต้นจนจบทำงานได้ ซึ่งรวมถึงการสร้างงาน การสร้างและจัดการงานที่ส่งของนักเรียน และการส่งคะแนน

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

ทำความเข้าใจวงจรของงาน

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

ขั้นตอนหลักๆ ที่ต้องคำนึงถึงขณะผสานรวมกับงานใน Classroom มี5 ขั้นตอนดังนี้

  1. สร้างงานแล้ว
  2. แชร์งานกับนักเรียน
  3. นักเรียนทำงานให้เสร็จ
  4. นักเรียนส่งงานให้ครู
  5. ครูตรวจสอบและให้คะแนนงาน

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

แผนภาพที่แสดง 5 ขั้นตอนของงาน

การใช้งาน

ความแตกต่างประการแรกระหว่างปุ่มแชร์กับ CourseWork API คือการติดตั้งใช้งาน จากมุมมองของนักพัฒนาซอฟต์แวร์ ปุ่มแชร์เป็นวิธีที่ง่ายกว่าในการแชร์เนื้อหาไปยัง Classroom เนื่องจากต้องรวมแหล่งข้อมูล JavaScript ที่จำเป็นและเพิ่มแท็กปุ่มแชร์เท่านั้น รูปแบบที่ง่ายที่สุดในการผสานรวมปุ่มแชร์ของ Classroom จะมีลักษณะดังตัวอย่างข้อมูลโค้ดด้านล่าง

<script src="https://apis.google.com/js/platform.js" async defer></script>
<g:sharetoclassroom url="http://url-to-share" size="32"></g:sharetoclassroom>

ในทางกลับกัน CourseWork API เป็นส่วนหนึ่งของ Google Classroom API REST API ซึ่งต้องใช้การตั้งค่าและเปิดใช้คีย์ API ด้วยคอนโซล Google Cloud และปฏิบัติตามแนวทางปฏิบัติแนะนำสำหรับการผสานรวมกับ API ปัญหานี้อาจไม่ค่อยเกิดขึ้นหากแพลตฟอร์มของคุณใช้ประโยชน์จากฟังก์ชันอื่นๆ ของ Classroom API อยู่แล้ว เช่น การจัดตารางเวลา

การสร้างและแชร์งาน

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

หัวใจหลักของทั้ง 2 โซลูชันคือความสามารถในการโพสต์ลิงก์หรือไฟล์เป็นงานใน Classroom ซึ่งจะเป็นเวิร์กโฟลว์ที่มีประสิทธิภาพสำหรับครูที่ต้องคัดลอกและวางระหว่าง Classroom กับแอปพลิเคชันของบุคคลที่สาม แม้ว่าทั้ง 2 โซลูชันจะรองรับความสามารถในการโพสต์เนื้อหาเป็นงาน แต่คุณควรพิจารณาว่าแอปพลิเคชันของคุณจำเป็นต้องมีความยืดหยุ่นในการโพสต์เนื้อหานี้เป็นงานประเภทอื่นๆ ในชั้นเรียน หรือแม้แต่ประกาศหรือไม่

ทั้ง 2 แพ็กเกจจะแสดงโพสต์ Classroom ทุกประเภท ยกเว้นงานแบบแบบทดสอบ สรุปประเภทโพสต์ทั้งหมดและสถานะการแสดงโพสต์มีดังนี้

ประเภทโพสต์ ปุ่มแชร์ CourseWork API
การมอบหมาย X X
งานแบบทดสอบ
คำถาม: คำตอบสั้นๆ X X
คำถาม: เลือกหลายข้อ X X
วัสดุ X X
ประกาศ X X

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

การแก้ไขงาน

การผสานรวมกับ Classroom API ช่วยลดความจำเป็นที่ผู้ใช้จะต้องซิงค์รายละเอียดที่เปลี่ยนแปลงของงานด้วยตนเอง ปุ่มแชร์ไม่มีฟังก์ชันการอัปเดตหรือลบงานแบบเป็นโปรแกรม ดังนั้นผู้ใช้จะต้องทำการแก้ไขที่จำเป็นผ่าน UI ของ Classroom

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

ซิงค์งานโดยอัตโนมัติ

เมื่อใช้ ข้อความ Push ของ Pub/Sub แอปพลิเคชันจะสมัครรับการแจ้งเตือนที่ทริกเกอร์เหตุการณ์เมื่อมีการเปลี่ยนแปลงในรายการงานและงานที่ส่งของนักเรียนที่เกี่ยวข้องได้ ซึ่งจะช่วยให้แอปพลิเคชันของคุณซิงค์งานได้อย่างง่ายดายโดยไม่ต้องตรวจสอบอย่างต่อเนื่องเพื่อดูว่ามีการอัปเดตเนื้อหาใน Classroom หรือไม่

การทำและส่งงาน

งานแต่ละรายการเชื่อมโยงกับงานของนักเรียน N รายการ โดย N คือจํานวนนักเรียนที่ได้รับมอบหมายงาน กล่าวคือ แต่ละงานจะมีงานที่ส่งของนักเรียนที่เชื่อมโยงกันสำหรับนักเรียนแต่ละคน ซึ่งเข้าถึงได้ด้วยรหัสที่ไม่ซ้ำกัน ระบบจะสร้างงานที่นักเรียนส่งเหล่านี้โดยอัตโนมัติ และแอปพลิเคชันของคุณจะเรียกข้อมูลได้จากปลายทาง GET และ LIST ของงานที่นักเรียนส่ง

ทั้งปุ่มแชร์และ CourseWork API รองรับการเพิ่มลิงก์หรือไฟล์ไปยังงานที่นักเรียนส่ง ปุ่มแชร์ช่วยให้ดำเนินการผ่านเวิร์กโฟลว์ที่คล้ายกับกล่องโต้ตอบการสร้างงานของครู และ CourseWork API ผ่านปลายทาง studentSubmissions.modifyAttachments อย่างไรก็ตาม ฟังก์ชันนี้จะจำกัดไว้เฉพาะรายการ CourseWork ที่แอปพลิเคชันของคุณสร้างขึ้นเนื่องจากข้อจำกัดด้านสิทธิ์ API ที่ระบุไว้ก่อนหน้านี้ แต่ข้อจำกัดเดียวกันนี้จะไม่มีผลกับปุ่มแชร์ เนื่องจากนักเรียนจะเพิ่มงานลงในงานใดก็ได้ที่เลือกจาก Classroom

การสิ้นสุดเวิร์กโฟลว์ของนักเรียน

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

การตรวจสอบและให้คะแนนงาน

ส่วนสุดท้ายของวงจรงานจะส่งกลับไปให้ครู เมื่อนักเรียนส่งงานเรียบร้อยแล้ว ครูจะตรวจสอบงานด้วยวิธีใดก็ได้ที่สะดวกที่สุด ในกรณีที่เป็นไฟล์ที่เก็บไว้ในไดรฟ์ นักเรียนจะตรวจสอบได้ในเครื่องมือให้คะแนนของ Classroom โดยตรง อย่างไรก็ตาม คุณจะเข้าถึงแอปพลิเคชันของบุคคลที่สามในเครื่องมือตรวจของ Classroom ไม่ได้ ผลกระทบของประสบการณ์การใช้งานนี้ก็คือครูต้องไปยังแท็บต่างๆ หลายแท็บขณะตรวจงานและให้คะแนน

ขณะนี้ปุ่มแชร์ยังไม่มีโซลูชันสำหรับการให้คะแนนและการส่งงานคืน แม้ว่าปัจจุบันฟีเจอร์ต่างๆ เช่น ความคิดเห็นเกี่ยวกับงานที่นักเรียนส่งจะยังไม่แสดงผ่าน API แต่ทั้งการให้คะแนนและการส่งคะแนนเหล่านั้นคืนให้นักเรียนสามารถทำได้ผ่านปลายทาง studentSubmissions.patch และ studentSubmissions.return คุณสามารถระบุคะแนนสำหรับรายการสตรีมงานของชั้นเรียนเท่านั้น (งานและประเภทคำถาม) โดยคะแนนเหล่านี้จะแสดงในรูปแบบตัวเลขเท่านั้น และสามารถกำหนดเป็นคะแนนฉบับร่างหรือคะแนนสุดท้ายได้

สรุปความแตกต่าง

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

ปุ่มแชร์ CourseWork API
การใช้งาน JavaScript เพียงไม่กี่บรรทัด ทำให้การติดตั้งใช้งานง่ายและรวดเร็ว ต้องตั้งค่าคีย์ API, เปิดใช้ API ในคอนโซลผู้ดูแลระบบ และตรวจสอบอย่างใกล้ชิด
การสร้างและแชร์งาน
  • เปลี่ยนเส้นทางครูไปยังกล่องโต้ตอบการแชร์ของปุ่มแชร์ใน Classroom
  • ผู้ใช้โพสต์รายการสตรีมได้ทั้งหมดยกเว้น 1 ประเภท
  • ระบุฟิลด์ได้น้อยลง
  • ระดับที่ 1 เปิดใช้การสร้างงาน ไม่สามารถดึงหรือแก้ไขข้อมูลงาน
  • กล่องโต้ตอบปุ่มแชร์ที่ไม่จําเป็น
  • ระบุช่องงานส่วนใหญ่ของ Classroom ได้
  • ความสามารถในการแก้ไขงานหลักสูตรที่สร้างโดยแอปพลิเคชันของคุณ
  • อนุญาตให้แอปดึงข้อมูลงานทั้งหมดจาก Classroom
การทำและส่งงาน
  • เปลี่ยนเส้นทางนักเรียนไปยังกล่องโต้ตอบการแชร์ของปุ่มแชร์ใน Classroom
  • อนุญาตให้นักเรียนแนบไฟล์ที่ส่งไปกับงานใน Classroom
  • 1. เปิดใช้ไฟล์แนบการส่ง ไม่สามารถดึงหรือแก้ไขข้อมูลการส่งได้
  • ไม่อนุญาตให้นักเรียนส่งงาน
  • กล่องโต้ตอบปุ่มแชร์ที่ไม่จําเป็น
  • อนุญาตให้นักเรียนแนบไฟล์ที่ส่งมากับงานที่สร้างโดยแอปของคุณเท่านั้น
  • อนุญาตให้แอปแก้ไขงานที่นักเรียนส่งซึ่งสร้างโดยแอปพลิเคชันของคุณ
  • อนุญาตให้นักเรียนส่งงาน
การตรวจสอบและการให้คะแนนงาน ไม่รองรับการระบุหรือส่งคืนคะแนน
  • อนุญาตให้แอปดึงข้อมูลงานที่นักเรียนส่งทั้งหมดจาก Classroom ในนามของครู
  • แสดงความสามารถในการให้คะแนนนักเรียน ไม่ว่าจะเป็นคะแนนฉบับร่างหรือคะแนนสุดท้าย
  • แสดงความสามารถในการแก้ไขคะแนนของนักเรียน
  • แสดงความสามารถในการส่งคืนคะแนนให้นักเรียน