النقاش كنظام إدارة تعلم / تكامل النقاش مع نظام إدارة التعلم

بالتأكيد، شكراً لاهتمامك.

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

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

  1. هل هناك طريقة لإرسال إشعارات إلى الأشخاص عند استخدام التطبيق كتطبيق ويب تقدمي (Progressive Web App) على الهواتف المحمولة؟
  2. هل يمكننا إنشاء نظام يمكننا من خلاله التحقق مما إذا كان المشاركون قد أجروا قراءاتهم اليومية ومكافأتهم أو تذكيرهم؟ (سألت ChatGPT عن هذا، وقال إنه يمكنني القيام بذلك عن طريق إنشاء سيناريو جديد باستخدام المكون الإضافي لأتمتة المناقشة (discourse automation plugin)، ولكن لا يوجد خيار لإنشاء سيناريو جديد)
  3. هل يمكننا إنشاء نظام شهادات حيث سنمنح دبلومات للمشاركين بناءً على حضورهم للاجتماعات الأسبوعية في الوحدات؟

كانت هذه هي الميزات التي كنت أبحث عنها منذ بضعة أيام. إذا كانت لديك ميزات تعتقد أنها ستكون وظيفية في نظام مماثل، فأنا منفتح عليها.

إعجابَين (2)

لقد استخدمت نظام شارات للواجبات. يقوم الطلاب بإنشاء موضوع بعلامة للواجب، وإذا قمت بالإعجاب به :heart:، فإنهم يحصلون على شارة (مع شارة sql). لقد كتبت نصًا برمجيًا يقرأ ملف CSV من نظام إدارة التعلم الخاص بالمدارس ويقوم بتحديثه حتى يمكن تحميله مرة أخرى إلى نظام إدارة التعلم الخاص بالمدارس.

6 إعجابات

نعم، بالتأكيد بالنسبة لـ PWA.

هل يمكنك توضيح ذلك؟ هل حاولت إضافة أتمتة جديدة عبر لوحة تحكم المسؤول؟

وكما يقول جاي، فإن الشارات طريقة جيدة للقيام بذلك.

3 إعجابات

لقد نظرت مرة أخرى، يجب عليّ تمكين الإشعارات في إعدادات Discourse. شكراً لك.

لقد ضللتني ChatGPT قليلاً، أفهم الآن، لكن الطريقة التي أخبرتني بها لا تبدو أنها تعمل.

شكراً على الإجابة.

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

إعجاب واحد (1)

نعم.

لم يكن المكون الإضافي للوحة المتصدرين موجودًا عندما قمت بذلك ولم أفعل الكثير (أي شيء؟) معه.

https://meta.discourse.org/tag/sql-triggered-badge

إذا كانت ميزة الشارة تعمل معك، فإن المكون الإضافي (أو ربما شيء يستدعي واجهة برمجة التطبيقات؟) الذي من شأنه أتمتة إنشاء الشارة مع SQL المرتبط بها سيكون فكرة جيدة.

إذا كانت يومية، فقد تكون هناك طريقة لمنح الشارة SQL شارة للأمس؛ أو مجرد شارة واحدة يمكن منحها عدة مرات ومنح شارة كل يوم ينشرون فيه الرمز التعبيري.

إعجابَين (2)

مثل الكثير منكم في هذا الموضوع، كنت أبحث عن طريقة خفيفة الوزن لاستخدام Discourse بشكل أصلي كنظام إدارة تعلم (LMS). أجد منصات LMS المخصصة ثقيلة جدًا، لكن خاصية “تلاشي الإشعارات” الافتراضية في Discourse (حيث تتوقف المواضيع القديمة عن الظهور كـ “غير مقروءة” للمستخدمين الجدد) تجعل تتبع تقدم الدورة صعبًا.

لتلبية حاجتي الخاصة، بنيت حلاً بسيطًا باستخدام مزيج من إعدادات التصنيفات، وإضافة خلفية صغيرة، ومكون سمة.

إليك كيف قمت بإعداده، والكود مفتوح المصدر الذي يمكنك استخدامه لتكراره!

الفكرة الأساسية: استخدام Discourse كنظام إدارة تعلم

لجعل هذا يعمل، أستخدم ميزات Discourse القياسية مع إضافة Discourse Doc Categories الرسمية:

  • الدورة = تصنيف: تحصل كل دورة على تصنيف خاص بها.
  • الدرس = موضوع: كل درس هو موضوع ضمن ذلك التصنيف.
  • الأذونات: يمكن للأعضاء الرد على الدروس (لطرح الأسئلة)، لكن يمكن للموظفين فقط إنشاء مواضيع جديدة.
  • الترتيب: يتم تثبيت ترتيب الدرس حسب تاريخ الإنشاء. (نصيحة: يتطلب هذا بعض التفكير المسبق عند نشر الدروس، أو يمكنك استخدام وحدة تحكم Rails لتأجيل أوقات إنشاء المواضيع بسرعة لفرض الترتيب الصحيح).
  • المنهج الدراسي: أستخدم إضافة Discourse Doc Categories لتعيين “موضوع فهرس”. يعمل هذا الموضوع الفهرسي كمخطط منهجي/متتبع للدورة ويعرض مخططًا جميلًا في الشريط الجانبي عندما يدخل المستخدمون الدورة.

القطعة المفقودة: تتبع حقيقي للتقدم

المشكلة في الإعداد أعلاه هي أنه عندما ينضم طالب جديد، لا تظهر موضوعات الدروس القديمة كـ “غير مقروءة”، لذا لا توجد لديهم طريقة لتتبع تقدمهم بصريًا.

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

1. شارات التقدم الرئيسية في الشريط الجانبي

يستبدل مكون السمة النقاط الزرقاء للإشعارات القياسية بمؤشرات تقدم [ مقروء / إجمالي ] لتصنيفات دوراتك.

2. علامات إتمام الدرس

عندما ينقر المستخدم داخل دورة، تقوم إضافة Docs بعرض المنهج الدراسي. يقوم مكون السمة الخاص بي بحقن علامات نجاح (fa-check) بجانب الدروس المحددة التي أنهى المستخدم قراءتها.

3. إتمام الدورة

بمجرد أن يقرأ المستخدم كل موضوع في التصنيف، تتحول شارة تقدم الشريط الجانبي تلقائيًا إلى علامة إتمام مرضية!

كيفية تثبيته

نظرًا لأن هذا يتطلب تجاوز ذاكرة التخزين المؤقت للإشعارات القياسية في Discourse، يجب عليك تثبيت كل من إضافة الخلفية ومكون السمة الأمامية.

الخطوة 1: تثبيت المتطلبات الأساسية
تأكد من تثبيت وإضافة Discourse Doc Categories الرسمية وتفعيلها. تستهدف إضافتي تحديدًا التصنيفات التي تم تكوين موضوع فهرس لها.

الخطوة 2: تثبيت إضافة واجهة برمجة التطبيقات الخلفية
أضف هذا إلى ملف app.yml الخاص بك أسفل docker_manager وأعد بناء الحاوية. يوفر هذا نقطة نهاية API سريعة جدًا لحالات القراءة.
:hammer_and_wrench: رابط المستودع: https://github.com/zsviczian/discourse-course-progress**

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/zsviczian/discourse-course-progress.git

الخطوة 3: تثبيت مكون سمة واجهة المستخدم
قم بتثبيته مباشرة عبر متصفح الويب الخاص بك في Admin > Customize > Themes > Install > From a Git Repository.
:hammer_and_wrench: رابط المستودع: https://github.com/zsviczian/discourse-course-progress-theme

آمل أن يساعد هذا الآخرين الذين يحاولون بناء دورات يقودها المجتمع دون تعقيد منصة LMS منفصلة! أخبرني إذا كنت ستستخدمها في النهاية.

3 إعجابات

هل كان هناك سبب لعدم تضمين كود مكون واجهة المستخدم (Theme Component) في الإضافة بدلاً من وجود نسختين منفصلتين؟

لكن، ألقيت نظرة سريعة على كودك، وكان تحقيق ذلك أبسط بكثير مما توقعت. رائع!

إعجاب واحد (1)

ظننت أن الناس قد يرغبون في مظهر وشعور مختلفين لتتبع الدورات التدريبية الخاصة بهم، ولم أرد فرض ذوقي على الآخرين.

يتضمن مكون السمة الألوان، والشارات، والتفاصيل التي تناسب احتياجاتي، لكنها لا تناسب بالضرورة احتياجات الآخرين.

تنفذ الإضافة ميزة صغيرة ناقصة في وثائق Discourse. يمكنك بناء مكون سمة خاص بك حولها واستخدام المكون الخاص بي كمثال أو مصدر إلهام فقط.

منذ استخدام هذا الحل - لمدة يوم واحد فقط :slight_smile: - أفكر بالفعل في إمكانية إضافة بعض رسوم بيانية من مستكشف البيانات (Data Explorer) لعرض التقدم العام للطلاب في الدورات، ثم إضافة تخصيصات إضافية. قد أضيف ذلك إلى الإضافة بعد استخدامه في الحياة الواقعية لفترة من الوقت.

إعجاب واحد (1)

يمكنك تغيير طابع الوقت للموضوع في واجهة المستخدم إذا كنت مسؤولاً.
يوجد هذا الخيار في قائمة إجراءات الموضوع.
للأسف، يعمل هذا فقط على مستوى الموضوع ولا يمكن تطبيقه على منشور فردي.

إعجاب واحد (1)