مقدمة

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

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

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

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

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

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

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

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

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

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

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

جارٍ تعديل المهام

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

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

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

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

إكمال المهام وإرسالها

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

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

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

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

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

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

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

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

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

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