لدى معظم الكليات والجامعات التي تعتمد Moodle سكربتُ توفيرٍ في مكان ما. قد يكون مهمة PHP تستدعي خدمات الويب في Moodle، أو عرض SQL على نظام معلومات الطلاب (SIS) يغذّي إضافة التسجيل External database، أو ملف CSV يُصدَّر كل ليلة إلى مجلد مشترك. يقرأ هذا السكربت الشُّعب والتسجيلات من Omnivox أو Clara أو Banner أو PeopleSoft، ويحوّلها إلى مساقات وتسجيلات في Moodle.
ونادرًا ما يُطرح سؤال الإبقاء عليه في يوم هادئ. إنه يُطرح حين تُعطّله ترقية لـMoodle، أو حين يغادر الشخص الذي كتبه، أو في أسبوع الإضافة والحذف حين يمتلئ مكتب الدعم ببلاغات «لا أرى مساقي». تضع هذه المقارنة الخيارين جنبًا إلى جنب لتتخذوا القرار والتكاليف الحقيقية أمامكم.
ما الذي يجب أن يفعله سكربت التسجيل في Moodle فعلًا؟
تبدو «مزامنة التسجيلات» مهمة واحدة، لكن أي سكربت يدير فصلًا دراسيًا حقيقيًا يؤدي خمس مهام على الأقل، ولكل منها طريقتها في التعثر.
| المهمة | ما تتطلبه في Moodle | أين تتوقف السكربتات الداخلية عادةً |
|---|---|---|
| إنشاء المساقات | الاسم الكامل، والاسم المختصر، ورقم تعريف المساق، والفئة، والقالب، والظهور | تعمل إلى أن تتغير قواعد التسمية أو الفئات |
| التسجيل الأولي | مطابقة المستخدمين برقم التعريف، وأدوار الطالب والمعلم والمعلم غير المحرِّر | تعمل إذا كانت كل الحسابات موجودة مسبقًا |
| تغييرات الإضافة والحذف | الإضافات والانسحابات وتبديل الشُّعب وتغيير المعلمين في الأسابيع الأولى | تضيف ولا تحذف أبدًا، أو تحذف بقسوة زائدة |
| المساقات متعددة الشُّعب والمدرجة تحت أكثر من رمز | ميتا-مساق عبر إضافة Course meta link، ومجموعة لكل شعبة | تُنجز يدويًا وعند الطلب |
| نهاية الفصل | إخفاء المساقات ونقلها إلى فئة أرشيف وإغلاق الوصول | تُنسى حتى يزدحم الفصل التالي |
الصفّان الأولان هما ما كُتبت معظم السكربتات من أجله. أما الصفوف الثلاثة الأخيرة فهي حيث تضيع الساعات.
لماذا تزداد صيانة السكربت صعوبة في كل فصل؟
السكربت يجمّد افتراضات اليوم الذي كُتب فيه، بينما تواصل المؤسسة تغيّرها.
- نظام معلومات الطلاب يتغير. صيغة تصدير جديدة، أو ترميز جديد للفصول، أو حالة جديدة لطلاب قائمة الانتظار، أو انتقال كامل إلى نظام آخر، كلها تعني إعادة كتابة جزء الاستخراج.
- Moodle يتغير. كل ترقية رئيسية، من 3.9 LTS إلى 4.1 LTS وما بعدها مثلًا، قد تغيّر سلوك خدمات الويب أو إعدادات الإضافات أو متطلبات PHP. والسكربتات الهشة من أسباب تأجيل المؤسسات لترقياتها.
- الحالات الخاصة تتراكم. شعبة تُلغى، ومعلم يُعيَّن قبل بدء الدراسة بأسبوع، وطلاب مستمعون، ومعلمة تريد دمج شُعبها الثلاث: كل منها يصبح استثناءً في الشيفرة أو تصحيحًا يدويًا.
- المعرفة تتركز في شخص واحد. المنطق كله في ذهن شخص واحد وفي بضع مئات من الأسطر قليلة التوثيق. وحين يكون هذا الشخص في إجازة قبيل بدء الفصل، لا يجرؤ أحد على لمس مهمة cron.
- الأعطال صامتة. تشغيلٌ يتخطى 30 تسجيلًا لا يطلق أي تنبيه. الطلاب والمعلمون هم من يكتشفون الخلل، غالبًا في الأسبوع الأول.
كم يكلّف السكربت المخصص فعلًا؟
التكلفة الظاهرة صغيرة: خادم، ومدخل cron، وبضعة أيام لكتابة النسخة الأولى. أما التكلفة الحقيقية فموزعة على كل فصل يليها.
بحسب عمليات النشر لدى LS2، يتراوح الوقت الذي تقضيه فرق تقنية المعلومات في إبقاء السكربتات المخصصة عاملة عادةً بين 40 و80 ساعة في كل فصل دراسي. ويشمل ذلك الصيانة بعد تغييرات النظام أو Moodle، والتشغيلات الفاشلة، والتصحيحات اليدوية في فترة الإضافة والحذف، ودمج الشُّعب يدويًا. هذا تقدير، وقد يكون رقمكم أقل إن كان نطاقكم صغيرًا. اسألوا المعنيين كم استغرق بدء الفصل الأخير فعلًا، بما في ذلك ساعات المساء.
وثمة تكاليف لا تظهر أبدًا في سجلات دوام فريق التقنية:
- الطلاب الذين سجّلوا في الموعد ولا يرون مساقهم في اليوم الأول، أو الذين بدّلوا شعبتهم ففقدوا أثر أعمالهم.
- المعلمون الذين يفقدون الثقة بقائمة الصف في Moodle فيسجّلون الطلاب يدويًا، فتنشأ تسجيلات لن ينظّفها السكربت أبدًا.
- مسؤولو Moodle الذين يتحول عملهم اليومي إلى فرز البلاغات في أكثر أسابيع السنة ازدحامًا.
- الامتثال. حين يسأل طالب عمّن أزاله من مساق، أو يسأل مسؤول حماية الخصوصية عن كيفية تتبّع تغييرات التسجيل، نادرًا ما يقدّم ملف سجل على خادم جوابًا. فالقانون 25 في كيبيك واللائحة العامة لحماية البيانات (GDPR) في أوروبا، وكثير من الأنظمة المحلية لحماية البيانات، تطالب المؤسسة بأن تُثبت كيف تعالج المعلومات الشخصية.
أليست إضافات التسجيل المدمجة في Moodle كافية؟
يوفر Moodle أدوات جيدة لهذا العمل، وهي تستحق تقييمًا منصفًا. فإضافة External database تقرأ التسجيلات من جدول ويمكنها إنشاء المساقات الناقصة. وإضافة Flat file تعالج ملف CSV يتضمن عمليات إضافة وحذف. وأداتا Upload courses وUpload users تتوليان الإنشاء الجماعي، فيما تسجّل إضافة Cohort sync فئة كاملة من المستخدمين، كطلاب برنامج ما، في مساق واحد.
هذه الإضافات موثوقة، وكثير من التكاملات الداخلية مبني عليها. لكنها لا تتولى الجزء الخاص بمؤسستكم:
- إنتاج جدول أو ملف نظيف من نظام معلومات الطلاب، بالصيغة التي يتوقعها Moodle، وفي الوقت المناسب.
- تحديد التسمية والفئات والقوالب، والشُّعب التي تتشارك مساقًا واحدًا في Moodle.
- اختيار سلوك آمن عند انسحاب الطالب. فإعداد External unenrol action مثلًا يحدد هل يُلغى تسجيل الطالب أم يُعلَّق أم يُترك كما هو، والاختيار الخاطئ إما يمحو الدرجات وإما يُبقي الوصول مفتوحًا.
- توثيق سبب كل تغيير، لا مجرد حدوثه.
إذن، «إضافة مدمجة مع عرض SQL» ما زالت تكاملًا مخصصًا، كل ما في الأمر أن الشيفرة انتقلت إلى جانب نظام معلومات الطلاب.
كيف تقررون: سكربتات مخصصة أم تكامل مُدار؟
يفترض الجدول التالي سكربتًا يغطي الفصل كله، لا جولة التسجيل الأولى فقط.
| المعيار | السكربتات المخصصة | التكامل المُدار |
|---|---|---|
| ساعات العمل التقنية في الفصل | نحو 40 إلى 80 ساعة (تقدير) | أقل من 4 ساعات مراقبة ومعالجة استثناءات |
| ترقيات Moodle | فريقكم يعيد الاختبار والإصلاح | المزوّد يتابع إصدارات Moodle |
| تغيير نظام معلومات الطلاب | إعادة كتابة الاستخراج | استبدال الموصل مع الإبقاء على القواعد |
| المساقات متعددة الشُّعب | يدوية في الغالب | وفق قواعد ومسجّلة |
| الإضافة والحذف | دفعة ليلية في الغالب | فورية أو مجدولة، خلال دقائق |
| سجل التدقيق | سجلات الخادم إن وُجدت | كل إجراء مؤرَّخ ومنسوب إلى فاعله |
| الدعم | من كتب السكربت | اتفاقية مستوى خدمة (SLA) |
قبل أن تقرروا، اعرضوا وضعكم الحالي على هذه الأسئلة السبعة:
- هل يستطيع شخصان على الأقل تشغيل السكربت وإصلاحه وإعادة نشره من دون كاتبه الأصلي؟
- هل صمد أمام آخر ترقية لـMoodle من دون تعديل الشيفرة، وهل اختُبر على الإصدار الذي تنوون الانتقال إليه؟
- عند انسحاب طالب، هل يُعلَّق تسجيله بدل حذفه، كي تنجو درجاته وتسليماته من أي خطأ؟ (راجعوا لماذا يفقد الطلاب الوصول في فترة الإضافة والحذف.)
- هل يبني المساقات متعددة الشُّعب والمدرجة تحت أكثر من رمز، أم يدمجها أحدهم يدويًا؟ (راجعوا كيف تعالج الميتا-مساقات المساقات المكررة.)
- هل تعرفون أن تشغيلًا ما قد فشل قبل أن يخبركم به معلم؟
- هل تستطيعون، لطالب بعينه، أن تبيّنوا خلال دقائق من غيّر تسجيله ومتى وبناءً على أي تغيير في نظام معلومات الطلاب؟
- كم ساعة استغرق بدء الفصل الأخير فعلًا، إذا حُسبت بأمانة؟
إن كانت معظم الإجابات بنعم، فسكربتكم في حالة جيدة: وثّقوه وراقبوه وأبقوا عليه. وإن كانت ثلاث إجابات أو أكثر بلا، فهو يكلّف أكثر مما يبدو، وإعادة كتابته من الصفر تميل إلى إعادة إنتاج المشكلات نفسها. عندها يستحق التكامل المُدار أن تطلبوا عرض سعر له.
كيف يتعامل Classeo مع ذلك
يستبدل Classeo سكربتات SQL ومهام cron بتكامل مُدار بين نظام معلومات الطلاب وMoodle. فهو يقرأ الشُّعب والمعلمين والتسجيلات من Jenzabar أو PeopleSoft Campus Solutions أو Banner أو Workday Student أو Omnivox أو Clara أو COBA، وكل سجل صف في النظام يصبح مساقًا في Moodle عند بداية الفصل دون أي إنشاء يدوي.
تجري مزامنة التسجيلات فوريًا أو وفق جدول زمني، فتصل تغييرات الإضافة والحذف إلى Moodle خلال دقائق. وتُدمج المساقات متعددة الشُّعب والمدرجة تحت أكثر من رمز في ميتا-مساق واحد في Moodle: دفتر درجات واحد ومنتدى واحد، مع مجمّع تسجيل مستقل لكل شعبة. وفي نهاية الفصل تُخفى المساقات المكتملة أو تؤرشف وفق سياسة المؤسسة.
كل إجراء توفير أو تسجيل أو أرشفة مؤرَّخ ومنسوب إلى فاعله، وهو ما تتطلبه أسئلة القانون 25 واللائحة العامة لحماية البيانات. ويعمل Classeo بوصفه وسيط مزامنة لا يحتفظ بنسخ طويلة الأمد من بيانات الطلاب، ويُستضاف على بنية تحتية داخل كيبيك. ويدعم Moodle 3.9 LTS و4.1 LTS و4.3 و4.4 و4.5، ولأنه منتج تجري صيانته باستمرار، تصبح متابعة تغييرات Moodle ونظام معلومات الطلاب مسؤولية LS2 Innovation لا مسؤولية فريقكم.
يستغرق النشر المعتاد من أربعة إلى ثمانية أسابيع، ويبقى الجهد التقني عادةً دون أربع ساعات في كل فصل. وتعرض صفحة تكامل Moodle مع نظام معلومات الطلاب تفاصيل كل نظام مدعوم، ويمكنكم التواصل معنا إن كان نظامكم غير مدرج.
أهم النقاط
- سكربت توفير المساقات في Moodle يؤدي خمس مهام لا مهمة واحدة: إنشاء المساقات، والتسجيل الأولي، وتغييرات الإضافة والحذف، والمساقات متعددة الشُّعب، وإغلاق نهاية الفصل.
- بحسب تقديرات LS2 من عمليات النشر لديها، يستهلك تشغيل السكربتات المخصصة نحو 40 إلى 80 ساعة عمل تقنية في كل فصل دراسي، مقابل أقل من 4 ساعات مراقبة مع تكامل مُدار.
- إضافات التسجيل المدمجة في Moodle لبنات أساسية متينة، لكن أحدًا ما يجب أن يبني جانب نظام معلومات الطلاب وقواعد العمل ويصونها.
- من دون سجل يربط كل تغيير في Moodle بمصدره في نظام معلومات الطلاب، تصبح الإجابة عن الشكاوى وعن أسئلة القانون 25 أو اللائحة العامة لحماية البيانات بطيئة.
- اختبروا السكربت الحالي بسبعة أسئلة قبل أن تقرروا الإبقاء عليه أو إعادة كتابته أو استبداله.
شاهدوا نظام معلومات الطلاب يغذّي Moodle دون سكربت
عرض توضيحي مدته 30 دقيقة يُظهر Classeo وهو ينشئ مساقات Moodle ويزامن التسجيلات ويعالج تغييرات الإضافة والحذف، مع وقت مخصص لحالاتكم الخاصة.
احجز عرضًا توضيحيًاأسئلة شائعة
هل يستطيع Moodle مزامنة التسجيلات من نظام معلومات الطلاب دون برمجة مخصصة؟
جزئيًا. فإضافتا التسجيل External database وFlat file في Moodle تقرآن التسجيلات من جدول أو ملف وفق جدول زمني، وأداة Upload courses تنشئ المساقات دفعة واحدة. لكن فريقكم يبقى مسؤولًا عن إنتاج ذلك الجدول أو الملف من نظام معلومات الطلاب، وتطبيق قواعد التسمية والفئات، ومعالجة المساقات متعددة الشُّعب، وتحديد ما يحدث عند انسحاب الطالب. هذا العمل في جانب النظام هو الجزء المخصص.
كم ساعة عمل تقنية يستهلك سكربت تسجيل Moodle المخصص في كل فصل دراسي؟
يتوقف ذلك على النطاق. تقدّر LS2، استنادًا إلى عمليات النشر لديها، ما بين 40 و80 ساعة عمل تقنية في كل فصل عند احتساب الصيانة بعد تغييرات النظام أو Moodle، والتشغيلات الفاشلة، والتصحيحات اليدوية في فترة الإضافة والحذف، ودمج الشُّعب يدويًا. ومع تكامل مُدار مثل Classeo يتبقى عادةً أقل من 4 ساعات من المراقبة ومعالجة الاستثناءات.
متى يكون الإبقاء على سكربت التسجيل الخاص بنا خيارًا معقولًا؟
عندما يكون النطاق صغيرًا ومستقرًا: عدد محدود من الشُّعب، ولا حاجة إلى دمج الشُّعب أو المساقات المدرجة تحت أكثر من رمز، ونظام معلومات طلاب نادر التغيير، وشخصان على الأقل قادران على تشغيل السكربت وإصلاحه. وحتى في هذه الحالة، راقبوه واختبروه قبل كل ترقية لـMoodle وتأكدوا أنه يسجّل من غيّر ماذا. واستبدلوه حين تختل هذه الشروط.
ما أنظمة معلومات الطلاب وإصدارات Moodle التي يدعمها Classeo؟
يربط Classeo أنظمة Jenzabar وPeopleSoft Campus Solutions وEllucian Banner وWorkday Student وOmnivox وClara وCOBA بمنصة Moodle. ويدعم الإصدارات Moodle 3.9 LTS و4.1 LTS و4.3 و4.4 و4.5، وMoodle Cloud متى أُتيح الوصول إلى واجهة البرمجة، وMoodle المستضاف لدى طرف ثالث بحسب كل حالة. ويمكن دراسة الأنظمة الأخرى التي توفر واجهة برمجة أو تصدير CSV أو عرض قاعدة بيانات.




