مقدمة

تُسمّى الواجبات في Classroom عناصر "الواجب الدراسي"، ويمكن العثور عليها في صفحة "الواجب الدراسي" في أي دورة تدريبية على Classroom. على الرغم من أنّ هناك أربعة أنواع من عناصر "العمل الصفي"، يركّز هذا الدليل على نوع "المهمة" فقط. إذا أردت التعرّف على كيفية إدارة أنواع "الواجب الدراسي" الأخرى، يمكنك الاطّلاع على دليل إدارة "الواجب الدراسي".

يتيح Google Classroom طريقتَين للدمج مع سير عمل المهام: زر المشاركة في Classroom وواجهة برمجة تطبيقات Classroom. يتيح زر المشاركة للمستخدمين مشاركة المحتوى كأي عنصر في ساحة المشاركات من خلال مربع حوار منبثق في Classroom، بينما تتيح Classroom API سير عمل كاملًا للمهام الدراسية يشمل إنشاء المهام الدراسية وإنشاء وإدارة عمليات إرسال الطلاب وإعادة الدرجات.

سنراجع هنا الاختلافات الرئيسية بين هذين العرضَين المخصّصَين للمطوّرين. وبشكل أكثر تحديدًا، سنتناول الاختلافات في التنفيذ وفي كل مرحلة من مراحل دورة حياة المهمة، وهي: إنشاء المهمة، وإرسال الطلاب للمهام، والتقييم/الملاحظات.

فهم دورة حياة المهمة

قبل الانتقال إلى الاختلافات بين زر المشاركة وCourseWork API، دعونا أولاً نحدّد ما نعتبره دورة حياة لواجب في سياق Classroom. سيساعدك ذلك في فهم كيفية تفاعل المعلّمين والطلاب مع المهام داخل Classroom.

هناك خمس خطوات رئيسية يجب وضعها في الاعتبار أثناء الدمج مع مهام Classroom:

  1. تم إنشاء المهمة.
  2. تتم مشاركة المهمة مع الطلاب.
  3. يكمل الطالب الواجب.
  4. يرسل الطالب الواجب إلى المعلّم.
  5. يراجع المعلّم المهام ويضع لها درجات.

يتيح التكامل مع واجبات Classroom للمعلّمين والطلاب العمل بسلاسة بين Classroom والتطبيقات التابعة لجهات خارجية. بدلاً من إدارة تفاصيل مهمة أو عمليات إرسال الطلاب، يمكن للمستخدمين الاعتماد على تطبيقك لإدارة هذه التفاصيل نيابةً عنهم.

مخطّط يوضّح الخطوات الخمس لإنشاء مهمة

التنفيذ

يتمثّل أول اختلاف بين زر المشاركة و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، ما يتطلّب إعداد مفاتيح واجهة برمجة التطبيقات وتفعيلها باستخدام &quot;وحدة تحكّم Google Cloud&quot; واتّباع أفضل الممارسات للدمج مع واجهة برمجة التطبيقات. لا يشكّل ذلك مشكلة كبيرة إذا كانت منصتك تستفيد من وظائف أخرى في Classroom API، مثل إعداد قوائم الطلاب.

إنشاء المهام ومشاركتها

على الرغم من أنّ كلاً من زر المشاركة وCourseWork API يتيحان تنفيذ الخطوتَين الأوليَين من سير عمل الواجب، أي إنشاء الواجب ومشاركته مع الطلاب، هناك بعض الاختلافات المهمة التي يجب أخذها في الاعتبار قبل اختيار أحد الحلول.

في الأساس، يتيح كلا الحلّين إمكانية نشر روابط أو ملفات كمهام دراسية على Classroom. ويشكّل ذلك سير عمل فعّالاً للمعلّمين الذين سيضطرون إلى استخدام عملية النسخ واللصق بين Classroom والتطبيق التابع لجهة خارجية. مع أنّ كلا الحلّين يتيح نشر المحتوى كمهمة، عليك تحديد ما إذا كان تطبيقك يحتاج إلى مرونة نشر هذا المحتوى كأنواع أخرى من &quot;العمل الصفي&quot; أو حتى كإعلان.

يتيح كلا العرضَين استخدام جميع أنواع المشاركات في Classroom باستثناء "مهام الاختبار". يمكنك الاطّلاع أدناه على ملخّص لجميع أنواع المشاركات وما إذا كانت معروضة.

نوع المنشور زر المشاركة CourseWork API
Assignment X X
مَهمّة اختبار
السؤال: إجابة قصيرة X X
السؤال: خيارات متعدّدة X X
المادة X X
إشعار X X

يمكن أيضًا تحديد وظائف، مثل تحديد العنوان والوصف، آليًا من خلال تطبيقك لكلا الحلّين. في حين أنّ دمج زر المشاركة يتيح للمستخدمين ضبط حقول مثل تاريخ الاستحقاق والموضوع والوضع المخصّص وعدد النقاط ضمن مربّع الحوار المنبثق، لا يمكن ضبطها آليًا من خلال تطبيق تابع لجهة خارجية. من ناحية أخرى، يتيح واجهة برمجة التطبيقات الوصول إلى جميع هذه الحقول للقراءة والكتابة.

تعديل المهام

إنّ إلغاء الحاجة إلى أن يزامن المستخدمون يدويًا التفاصيل المتغيرة لمهامهم هو إحدى مزايا التكامل مع Classroom API. لا يتضمّن زر المشاركة وظيفة تعديل الواجبات أو حذفها آليًا، لذا على المستخدم إجراء أي تعديلات مطلوبة من خلال واجهة مستخدم Classroom.

تتيح واجهة برمجة التطبيقات CourseWork API إمكانية تعديل المهام وحذفها، بالإضافة إلى إمكانية استرداد تفاصيل أي مهام تم نشرها في دورات المستخدم. يُرجى العِلم أنّه لا يمكن تعديل عناصر CourseWork التي لم يتم إنشاؤها من خلال وحدة تحكّم المطوّر نفسها باستخدام وحدة تحكّم المطوّر هذه. يمتد نموذج الأذونات هذا إلى بقية دورة حياة المهمة، مثل إدارة المهام المُرسَلة من الطلاب والدرجات، ولا يمكن الوصول إليه لعناصر CourseWork هذه.

مزامنة المهام تلقائيًا

باستخدام الإشعارات الفورية في Pub/Sub، يمكن لتطبيقك الاشتراك في الإشعارات التي تؤدي إلى تشغيل حدث عند حدوث تغييرات في عناصر CourseWork والمشاركات المرتبطة بها من الطلاب. يتيح ذلك لتطبيقك مزامنة المهام بسهولة من خلال إلغاء الحاجة إلى عمليات التحقّق المستمرة لمعرفة ما إذا تم تعديل المحتوى على Classroom.

إكمال المهام الدراسية وإرسالها

يرتبط كل واجب بـ N عمليات إرسال من الطلاب، حيث يمثل N عدد الطلاب الذين تم تعيين الواجب لهم. بعبارة أخرى، لكل مهمة، هناك نموذج إرسال مرتبط بكل طالب، ويمكن الوصول إليه باستخدام معرّف فريد. يتم إنشاء المهام المُرسَلة من الطلاب تلقائيًا ويمكن لتطبيقك استردادها باستخدام نقاط نهاية GET وLIST الخاصة بالمهام المُرسَلة من الطلاب.

يتيح كل من زر المشاركة وCourseWork API إضافة روابط أو ملفات إلى واجب تم تسليمه من قِبل الطالب. يتيح زر المشاركة ذلك من خلال سير عمل مشابه لمربّع حوار إنشاء مهمة المعلّم، وواجهة برمجة التطبيقات CourseWork من خلال نقطة النهاية studentSubmissions.modifyAttachments. ومع ذلك، وبسبب القيود المفروضة على أذونات واجهة برمجة التطبيقات الموضّحة سابقًا، تقتصر هذه الوظيفة على عناصر CourseWork التي أنشأها تطبيقك. لا ينطبق هذا القيد على زر المشاركة، إذ يمكن للطلاب إضافة أعمالهم إلى أي مهمة يختارونها من Classroom.

إنهاء سير عمل الطالب

على الرغم من أنّ حصر إذن CourseWork لا يخدم حالة استخدام للمنصات التي لا تتيح إنشاء مهام، إلا أنّ إحدى المزايا هي أنّ المنصات التابعة لجهات خارجية يمكنها منع الطلاب من إرسال المهام إلى المهمة غير الصحيحة ومن نسيان تسليم عملهم، لأنّ زر المشاركة فقط هو الذي يتم حصر إمكانية استخدامه من قِبل الطلاب لتسليم مهامهم.

مراجعة المهام الدراسية ووضع درجات لها

يعود الجزء الأخير من دورة حياة المهمة إلى المعلّم. بعد أن يسلّم الطلاب المَهمّة الدراسية بنجاح، يمكن للمعلّم مراجعتها بالطريقة التي يراها الأنسب. في حال الملفات المخزّنة في Drive، يمكن للمعلّمين مراجعتها مباشرةً في أداة وضع الدرجات في Classroom. ومع ذلك، لا يمكن الوصول إلى التطبيقات الخارجية في أداة التقييم في Classroom. ويعني ذلك أنّ المعلّمين عليهم التنقّل بين علامات تبويب متعددة أثناء مراجعة الواجبات وتقييمها.

لا يوفّر زر المشاركة حاليًا أي حلّ لتقييم الواجبات وإرجاعها. على الرغم من أنّ ميزات مثل تعليقات أعمال الطلاب التي تم إرسالها غير متاحة حاليًا من خلال واجهة برمجة التطبيقات، يمكن وضع الدرجات وإرجاعها إلى الطلاب من خلال نقطتَي النهاية studentSubmissions.patch وstudentSubmissions.return. يمكن تحديد الدرجات لعناصر ساحة مشاركات "الواجب الدراسي" فقط (أنواع "الواجب" و"السؤال"). تتوفّر هذه التقييمات في شكل رقمي فقط ويمكن تعيينها كتقييمات أولية أو نهائية.

ملخّص الاختلافات

لتلخيص كل ما تمت مراجعته في الأقسام السابقة، يعرض الجدول أدناه مقارنة بين زر المشاركة وCourseWork API للفئات الأربع الموضّحة أعلاه: التنفيذ وإنشاء المهام ومشاركتها وإكمال المهام وإرسالها ومراجعتها وتقييمها.

زر المشاركة CourseWork API
التنفيذ بضعة أسطر فقط من JavaScript، ما يجعل عملية التنفيذ بسيطة وسريعة يتطلّب ذلك إعداد مفاتيح واجهة برمجة التطبيقات وتفعيل واجهات برمجة التطبيقات في &quot;وحدة تحكّم المشرف&quot; والمراقبة عن كثب
إنشاء المهام ومشاركتها
  • إعادة توجيه المعلّمين إلى مربّع حوار المشاركة في زر المشاركة في Classroom
  • يمكن للمستخدمين نشر جميع أنواع عناصر البث باستثناء نوع واحد
  • يمكن تحديد عدد أقل من الحقول
  • يتيح هذا الإذن إنشاء المهام، ولكن لا يتيح استرداد بيانات المهام أو تعديلها.
  • لا حاجة إلى مربّع حوار زر المشاركة
  • يمكن تحديد معظم حقول الواجبات الدراسية في Classroom
  • إمكانية تعديل الدورات التدريبية التي أنشأها تطبيقك
  • يسمح لتطبيقك باسترداد جميع بيانات المهام من Classroom
إكمال المهام الدراسية وإرسالها
  • إعادة توجيه الطلاب إلى مربّع حوار المشاركة باستخدام زر المشاركة في Classroom
  • يسمح للطلاب بإرفاق إجاباتهم بأي مهمة دراسية في Classroom
  • يسمح بإرفاق مستندات بالنموذج، ولكن لا يمكن استرداد بيانات النموذج أو تعديلها
  • لا يسمح للطلاب بتسليم المهمة
  • لا حاجة إلى مربّع حوار زر المشاركة
  • يسمح للطلاب فقط بإرفاق إجاباتهم بالمهام التي أنشأها تطبيقك
  • يسمح لتطبيقك بتعديل أعمال الطلاب التي تم إنشاؤها باستخدام تطبيقك
  • تتيح للطلاب تسليم مهامهم
مراجعة المهام الدراسية ووضع الدرجات عليها لا تتوفّر إمكانية تحديد الدرجات أو عرضها
  • يسمح لتطبيقك باسترداد جميع بيانات أعمال الطلاب المُرسَلة من Classroom نيابةً عن المعلّم
  • تعرض هذه السمة إمكانية تحديد درجات الطلاب، سواء كانت مسودّة أو نهائية
  • تعرِض هذه السمة إمكانية تعديل درجات الطلاب
  • تعرض هذه السمة إمكانية إرجاع الدرجات إلى الطلاب