تعد منصة Open edX منصة موجهة نحو الخدمة لتأليف وتقديم التعلم عبر الإنترنت على أي نطاق. النظام مكتوب بلغة Python وJavaScript ويستخدم إطار عمل Django على نطاق واسع. على أعلى مستوى، تتكون المنصة من كتلة واحدة، وبعض التطبيقات القابلة للنشر بشكل مستقل (IDAs)، والواجهات الأمامية الصغيرة (MFEs) المستندة إلى ReactJS.
يستضيف هذا المستودع المتراصة الموجودة في مركز منصة Open edX. من الناحية الوظيفية، يوفر مستودع منصة edx خدمتين:
يمكن العثور على الوثائق على https://docs.openedx.org/projects/edx-platform.
إن تثبيت وتشغيل مثيل Open edX ليس بالأمر السهل. نوصي بشدة باستخدام مزود خدمة لتشغيل البرنامج نيابةً عنك. لديهم تجارب مجانية تجعل من السهل البدء: https://openedx.org/get-started/
ومع ذلك، إذا كان لديك الوقت والخبرة، فمن الممكن الإدارة الذاتية لمثيل Open edX للإنتاج. لمساعدتك في إنشاء مثيلك وتخصيصه وترقيته وتوسيع نطاقه، نوصي باستخدام Tutor، وهو توزيع Open edX المعتمد على المجتمع والمعتمد على Docker.
يمكنك قراءة المزيد حول بدء تشغيل نشر المعلم في الصفحة الرئيسية لـ Site Ops على docs.openedx.org.
يتميز المعلم أيضًا بوضع التطوير الذي سيساعدك أيضًا على تعديل منصة edx واختبارها وتوسيعها. نوصي بهذه الطريقة لجميع مطوري Open edX.
من الممكن أيضًا تشغيل منصة Open edX مباشرة على مضيف Linux. هذه الطريقة أقل شيوعًا وغير موثقة في الغالب. لن يتمكن مجتمع Open edX إلا من تقديم دعم محدود له.
يُنصح بتشغيل "المعدن العاري" فقط لـ (أ) المطورين الباحثين عن المغامرة و(ب) مسؤولي النظام ذوي الخبرة الذين يرغبون في تحمل تعقيد تكوين Open edX ونشره بأيديهم.
نظام التشغيل: * أوبونتو 20.04
المترجمون/الأدوات:
خدمات:
حزم اللغة:
الواجهة الأمامية:
npm clean-install
(الإنتاج)npm clean-install --dev
(تطوير)بناء الواجهة الخلفية:
pip install -r requirements/edx/assets.txt
تطبيق الخلفية:
pip install -r requirements/edx/base.txt
(الإنتاج)pip install -r requirements/edx/dev.txt
(تطوير) تحتوي بعض حزم Python على تبعيات النظام. على سبيل المثال، سيتطلب تثبيت هذه الحزم على Debian أو Ubuntu أولاً تشغيل sudo apt install python3-dev default-libmysqlclient-dev build-essential pkg-config
لتلبية متطلبات حزمة mysqlclient
Python.
قم بإنشاء قاعدتي بيانات MySQL ومستخدم MySQL بأذونات الكتابة لكليهما، وقم بتكوين Django لاستخدامهما عن طريق تحديث إعداد DATABASES
.
ثم قم بتشغيل عمليات الترحيل:
يتم ترحيل ./manage.py lms ./manage.py lms migrate --database=student_module_history ./manage.py cms ترحيل
إنشاء أصول ثابتة (لمزيد من التفاصيل، راجع إنشاء أصول ثابتة):
تشغيل npm build # أو "build-dev"
قم بتنزيل اللغات وجمع الأصول الثابتة (يمكن تخطيها لمواقع التطوير):
إجراء pull_translations ./manage.py lms Collectstatic ./manage.py cms Collectstatic
إعداد CMS SSO (للتطوير):
./manage.py lms Manage_user studio_worker [email protected] --كلمة مرور غير قابلة للاستخدام # لا تفعل هذا في الإنتاج. سيجعل المصادقة الخاصة بك غير آمنة. ./manage.py lms create_dot_application studio-sso-id studio_worker --رمز التفويض من نوع المنحة --تفويض التخطي --redirect-uris 'http://localhost:18010/complete/edx-oauth2/' --نطاقات user_id --معرف العميل 'studio-sso-id' --العميل السري "استوديو SSO السري"
إعداد الدخول الموحد (SSO) لنظام إدارة المحتوى (CMS) (للإنتاج):
قم بإنشاء مستخدم CMS وتطبيق OAuth:
./manage.py lms Manage_user studio_worker--كلمة مرور غير قابلة للاستخدام ./manage.py lms create_dot_application studio-sso-id studio_worker --رمز التفويض من نوع المنحة --تفويض التخطي --redirect-uris 'http://localhost:18010/complete/edx-oauth2/' --النطاقات user_id
قم بتسجيل الدخول إلى مسؤول Django (على سبيل المثال http://localhost:18000/admin/oauth2_provider/application/)، وانقر فوق التطبيق الذي قمت بإنشائه أعلاه ( studio-sso-id
)، وانسخ "سر العميل" الخاص به.
في ملف yaml LMS_CFG الخاص بك أو وحدة إعدادات Django الخاصة بك:
- قم بتعيين
SOCIAL_AUTH_EDX_OAUTH2_KEY
على معرف العميل (studio-sso-id
).- قم بتعيين
SOCIAL_AUTH_EDX_OAUTH2_SECRET
على سر العميل (الذي قمت بنسخه).
أولاً، تأكد من تشغيل MySQL وMongo وMemcached.
بدء نظام إدارة التعلم:
./manage.py lms runserver 18000
ابدأ نظام إدارة المحتوى:
./manage.py cms runserver 18010
سيعطيك هذا منصة Open edX مقطوعة الرأس في الغالب. تم ترحيل معظم الواجهات الأمامية إلى "Micro-Frontends (MFEs)" والتي يجب تثبيتها وتشغيلها بشكل منفصل. كحد أدنى، ستحتاج إلى تشغيل Authentication MFE، وLearner Home MFE، وLearning MFE من أجل التنقل بشكل هادف في واجهة المستخدم.
الكود الموجود في هذا المستودع مرخص بموجب الإصدار 3 من AGPL ما لم يُذكر خلاف ذلك. يرجى الاطلاع على ملف الترخيص للحصول على التفاصيل.
راجع موقع Open edX لمعرفة المزيد حول عالم Open edX. يمكنك العثور على معلومات حول استضافة برنامج Open edX وتوسيع نطاقه والمساهمة فيه. بالإضافة إلى ذلك، يوفر موقع Open edX إعلانات عن المنتجات، ومدونة Open edX، وموارد المجتمع الغنية الأخرى.
إذا كنت تواجه مشكلة، فلدينا منتديات للمناقشة على https://discuss.openedx.org حيث يمكنك التواصل مع الآخرين في المجتمع.
محادثاتنا في الوقت الفعلي تجري على Slack. يمكنك طلب دعوة Slack، ثم الانضمام إلى فريق Slack المجتمعي الخاص بنا.
لمزيد من المعلومات حول هذه الخيارات، راجع صفحة الحصول على المساعدة.
نحن نستخدم مشكلات Github لتتبع المشكلات لدينا. يمكنك البحث عن المشكلات التي تم الإبلاغ عنها مسبقًا. إذا كنت تريد الإبلاغ عن خطأ ما، أو ترغب في مناقشة ميزة جديدة قبل تنفيذها، فيرجى إنشاء مشكلة جديدة.
المساهمات هي موضع ترحيب! الخطوة الأولى هي تقديم اتفاقية مساهم فردي موقعة. راجع ملف المساهمة الخاص بنا لمزيد من المعلومات - فهو يحتوي أيضًا على إرشادات حول كيفية الحفاظ على جودة عالية للتعليمات البرمجية، مما يزيد من احتمالية قبول مساهمتك.
يتم قبول الميزات الجديدة. إن مناقشة أفكارك الجديدة مع المشرفين قبل كتابة التعليمات البرمجية ستؤدي أيضًا إلى زيادة فرص قبول عملك.
يرجى قراءة قواعد سلوك المجتمع للتفاعل مع هذا المستودع.
يرجى عدم الإبلاغ عن القضايا الأمنية في الأماكن العامة. يرجى إرسال بريد إلكتروني إلى[email protected].
يمكن العثور على المشرفين الحاليين لهذا المستودع على Backstage.