سجلات التعلّم
RODMENA LRS
متاح عند الطلبمستودع الأدلة للتعلم، يسجل ما حدث مرة واحدة ويحتفظ به بدقة تامّة.
RODMENA LRS هو مخزن لسجلات التعلّم (Learning Record Store). فهو يتلقى سجلات أنشطة التعلم بتنسيق xAPI، ويخزنها دون تغيير، ويعيدها عبر واجهة استعلام xAPI القياسية. ويجتاز جميع الاختبارات في ADL LRS Conformance Test Suite للإصدارين xAPI 1.0.3 و xAPI 2.0. وتفصل قاعدة البيانات نفسها سجلات العملاء عن بعضها البعض. وتُشفَّر محتويات السجلات عند التخزين. ولا تُخزن معرّفات المتعلمين إلا بأسماء مستعارة مع مفتاح تشفير. ولا يمكن تعديل السجلات المخزنة، على الرغم من إمكانية مسح البيانات الشخصية للمتعلم عند الطلب، وتُسجَّل عمليات المسح في سجل يمكن كشف التلاعب فيه.
لمن هذا المنتج. منصات التعلم ومزودو التدريب الذين يحتاجون إلى مستودع متوافق لسجلات أنشطة المتعلمين. إنها خدمة خلفية تُبنى عليها المنتجات وتستدعيها من خوادمها، ولا يتواصل المتعلمون والمتصفحات معها مباشرة. وتُعد REES أول مستخدم لها.
- الحالة
- متاح عند الطلب
- جزء من
- العروض
- الترخيص
- ملكية خاصة. حقوق النشر لشركة RODMENA LIMITED، وجميع الحقوق محفوظة.
- المطابقة
- 1,365 اختبارات مطابقة xAPI 1.0.3، جميعها ناجحة
- 1,435 اختبارات مطابقة xAPI 2.0، جميعها ناجحة
- تم التحقق في 23 سبتمبر 2026
- الوسوم
- xAPIسجلات التعلّمالمطابقةمتعدد المستأجرينحماية البياناتسجل التدقيق
المواصفات الفنية
مكتوب للمقيّم التقني. يُستبعد الصف الذي لا يحتوي على قيمة مقاسة.
المعايير
- xAPI 1.0.3
- ADL Experience API Specification، الإصدار 1.0.3
- xAPI 2.0
- IEEE 9274.1.1-2023
- اختيار الإصدار
- لكل طلب، عبر الترويسة X-Experience-API-Version. يُقبل الإصداران 1.0.x و 2.0.x، ويُرفض أي إصدار مفقود أو غير معروف برمز الحالة 400.
- مجموعة اختبارات المطابقة
- ADL LRS Conformance Test Suite، آخر تشغيل في 23 سبتمبر 2026
- نتيجة المطابقة
- xAPI 1.0.3: 1,365 من 1,365. xAPI 2.0: 1,435 من 1,435.
- ما يتجاوز مجموعة الاختبارات
- حيثما تنص حزمة الاختبارات على أنها لا تختبر متطلباً معيناً، فإن فحصاً مخصصاً يغطيه. كما وجدنا أيضاً ستة اختبارات في الحزمة لا تؤكد أي شيء وقمنا بتغطيتها بشكل منفصل.
- بحكم التصميم
- يُعد بروتوكول OAuth 1.0 مهجوراً ولا يتم قبوله. وتستدعيه المنتجات المبنية على الخدمة من خادم إلى خادم (server to server). ولا يستقبل استدعاءات عبر الأصول (cross-origin) من متصفح.
الواجهة
- الموارد
- تتضمن Statements، و State، و Activity Profile، و Agent Profile، و Activities، و Agents، و About. وتستجيب جميع مسارات GET أيضاً لطلبات HEAD.
- المصادقة
- يتم استخدام HTTP Basic عبر بيانات اعتماد تصدرها الخدمة. تبلغ سعة الأسرار (Secrets) 256 بت وتُخزن فقط كمتحقق مفتاحي (keyed verifier). وتتلقى بيانات الاعتماد غير المعروفة والمُعطلة والمنتهية الصلاحية استجابات 401 متطابقة بايت ببايت.
- صيغة الطلب البديلة
- مدعوم في الإصدار 1.0.3 ومرفوض في الإصدار 2.0، وفقًا لما تقتضيه تلك المواصفة.
- عبارات موقَّعة
- JWS مع RS256 وRS384 وRS512، يُتحقق منه عند تضمين شهادة.
- المرفقات
- multipart/mixed، ويُطابق عبر تجزئة SHA-2. 5 MiB لكل مرفق و1 MiB لكل متن عبارة، وكلاهما قابل للتهيئة.
- تقسيم النتائج إلى صفحات
- مؤشرات موقع (cursors) موقَّعة وعديمة الحالة تظل صالحة حتى بعد إعادة التشغيل. وتتضمن جميع استجابات العبارات (statements) ترويسة تواسق xAPI.
- منع التكرار (Idempotency)
- تُقبل إعادة إرسال عبارة بمعرّف مطابق دون تكرار. ويُرفض المعرّف المتعارض بالرمز 409.
- تحديد المعدل
- لكل بيانات اعتماد، بالإضافة إلى ميزانية منفصلة لكل عنوان IP للجهة المتصلة لمحاولات المصادقة الفاشلة.
العزل والأمان
- عزل المستأجرين
- أمان مستوى الصفوف (row-level security) في PostgreSQL، مُفعَّل ومفروض على كل جدول يحتوي على بيانات المستأجرين. ولا يملك دور قاعدة بيانات التطبيق أي شيء ولا يمكنه تجاوزه. وتأخذ كل معاملة مستأجرها من بيانات الاعتماد الموثّقة وحدها.
- العزل مفروض
- يفشل اختبار الكتالوج عملية البناء إذا افتقر أي جدول مستأجر، أو أي قسم يُنشأ وقت التشغيل، إلى السياسة.
- التشفير عند التخزين
- AES-256-GCM على متون العبارات والمستندات والمرفقات وتعريفات الأنشطة وهويات بيانات الاعتماد، بمفتاح لكل سجل مشتق باستخدام HKDF-SHA256.
- ربط النص المشفَّر
- يرتبط النص المشفر بهوية صفه ولن يُفك تشفيره إذا نُقل إلى صف آخر.
- حيازة المفاتيح
- ثلاثة مفاتيح محفوظة خارج قاعدة البيانات، في ملفات مفاتيح بصلاحيات 0600 أو في البيئة. لا يوجد مفتاح افتراضي، وترفض الخدمة بدء التشغيل بدونها.
- تدوير المفاتيح
- يُدوَّر مفتاح الفهرس من خلال عملية إعادة توليد مفاتيح (rekey) غير متصلة بالإنترنت وقابلة للاستئناف، كما يُؤدي تدوير مفتاح بيانات الاعتماد إلى إعادة إصدار بيانات الاعتماد. ونظراً لأن السجلات تخزن معرف المفتاح الذي كتبها، فلا يتطلب التدوير أي ترحيل للبيانات.
- معرِّفات المتعلِّمين
- يتم الاحتفاظ بها فقط كرموز HMAC-SHA256 مميزة بموجب مفتاح خاص بكل مستأجر، ويؤدي وجود متعلم واحد في مستأجرين اثنين إلى توليد رمزين مميزين غير مترابطين. ولا يحتوي أي عمود على هوية المتعلم بنص صريح.
- نطاقات بيانات الاعتماد
- مجموعة نطاقات xAPI المكونة من statements/write، و statements/read، و statements/read/mine، و state، و profile، و all/read، و all. يقتصر أضيق نطاق على قراءة العبارات (statements) التي كتبتها بيانات الاعتماد تلك نفسها فقط.
- عدم القابلية للتغيير
- تحافظ مشغلات قاعدة البيانات على بقاء العبارات (statements) والمرفقات في وضع الإلحاق فقط من خلال رفض عمليات UPDATE، و DELETE، و TRUNCATE. والتغييرات الوحيدة المسموح بها هي علامة الإبطال (voiding flag) وعملية المحو.
- نقل قاعدة البيانات
- يعد بروتوكول TLS مع التحقق الكامل من الشهادة واسم المضيف إلزامياً، وترفض الخدمة بدء التشغيل بدونه.
- أحداث تدقيق الطلبات
- حدث منظَّم واحد لكل طلب يحمل معرِّف الطلب، ومعرِّف مفتاح بيانات الاعتماد، والمستأجر، والطريقة، والمورد، والحالة، وعدد السجلات، والمدة، وأسماء عوامل التصفية. تُحوَّل قيم المتعلِّم في عوامل التصفية إلى رموز قبل تسجيلها.
- كشف التلاعب
- سجل المحو مرتبط بتسلسل تجزئة (hash-chained)، ويتحقق أمر واحد من السلسلة بأكملها بدءاً من الحلقة الأولى وحتى الأخيرة.
حماية البيانات
- المحو
- حجب بإحلال أسماء مستعارة (pseudonymising redaction). يتم استبدال المتعلم باسم مستعار عشوائي في أي موضع يمكن أن تذكره فيه أي عبارة (statement)، وتتم إزالة ردود النصوص الحرة والمرفقات، كما تُحذف مستندات State و Agent Profile الخاصة به. ولا يُستخدم الحذف الفعلي.
- توثيق المحو
- تُكتب عمليات المحو في السجل المترابط بسلسلة تجزئة (hash-chained log). ونظراً لأن الأمر يرفض أي محو لا يطابق أي عنصر، فلا يمكن اعتبار المتعلم المكتوب بصورة خاطئة كعملية محو مكتملة.
- النسخ الاحتياطية
- يكتمل المحو متى انتهت صلاحية النسخ الاحتياطية المأخوذة قبله. وبعد الاستعادة، يُعاد تطبيق سجل المحو.
- الاحتفاظ
- بحسب الشهر الميلادي، لكل نسخة. يُفصل الشهر، ويُصدَّر كملف واحد لكل مستأجر، ثم يُسقط. ويُرفض الإسقاط ما لم يطابق عدد الصفوف المصدَّرة.
- الاحتفاظ، لكل عميل
- العميل الذي يحتاج إلى مدة استبقاء خاصة به يحتاج إلى نسخة خاصة به.
- التصدير عند الخروج
- عبر واجهة xAPI القياسية، يمكن للعميل تصفح جميع سجلاته ومرفقاتها بصيغة xAPI JSON وسحبها بالكامل.
- إقامة البيانات
- تعمل النسخة في المنطقة التي يشترطها العقد. ولا تحتاج الخدمة إلا إلى قاعدة بيانات PostgreSQL.
العمليات والتحقق
- نموذج النشر
- نسخة مشتركة متعددة المستأجرين، أو نسخة مخصصة لكل عميل.
- تثبت أدوات الفحص إمكانية فشلها
- لن تحتسب بيئة الاختبار أي اجتياز من أي من اختبارات الفحص السلوكية الـ 47 حتى يثبت فشل (FAIL) هذا الفحص في مواجهة إصدار معطل عمداً. كما نقوم أيضاً بتشغيل مجموعة اختبارات المطابقة على إصدارات معطلة.
وظائفه
-
مُختبَر للمطابقة
يجتاز جميع اختبارات مجموعة مطابقة ADL LRS البالغ عددها 1,365 لإصدار xAPI 1.0.3، وجميع اختباراتها البالغ عددها 1,435 لإصدار xAPI 2.0.
-
لا تتغير السجلات أبدًا
بعد تخزين العبارة، لا يمكن تعديلها أو الكتابة فوقها، بل إبطالها فقط، وفق ما يحدده المعيار.
-
معزول بحكم التصميم
تُفصل سجلات العملاء عن بعضها بواسطة قواعد تفرضها قاعدة البيانات، بالإضافة إلى كود التطبيق.
-
مشفَّر وبأسماء مستعارة
تُشفَّر محتويات السجلات أثناء التخزين، ولا تُفهرَس معرِّفات المتعلِّمين إلا كرموز مفتاحية.
-
المحو مع سجل تدقيق
عند الطلب، تُزال البيانات الشخصية للمتعلم من سجلاته، وتُسجَّل عملية المسح في سجل متسلسل بالتجزئة (hash-chained) يمكن كشف التلاعب فيه.
-
بيانات اعتماد محددة النطاق
تقتصر بيانات اعتماد معينة على العمليات التي تحتاج إليها فقط، وصولاً إلى قراءة السجلات التي كتبتها بنفسها فقط.
للحصول على الوثائق أو تنفيذ مشروع تجريبي أو عملية تكامل، تواصلوا معنا.