الإضافة جسرٌ بين حساب المدرسة في «بوابة التعليم الرقمية» ونظامَي وزارة التعليم «مدرستي» و«نور». تعمل في جلسة المستخدم نفسه في متصفحه، وبضغطة زرٍّ منه فقط، وتؤدّي أربع مهام لا خامس لها:
| الموقع | ما تفعله الإضافة فيه |
|---|---|
digitalschool.sa | تُعلِم الصفحةَ أن الإضافة مثبَّتة (ليظهر زرّ «اسحب الآن» أو «رفع إلى نور» أو «إعداد الدروس»)، وتمرّر طلب المستخدم إلى الإضافة وتعيد النتيجة. لا تقرأ من الصفحة إلا وسمًا واحدًا (mf-role) يقول هل صاحب الجلسة مدرسةٌ أم معلّم، ليظهر لكلٍّ زرّه. وتُسلَّم إليها نتائج السحب والرفع من تبويبٍ على النطاق نفسه بجلسة المستخدم. |
schools.madrasati.sa · beta.madrasati.sa · external.madrasati.sa | زرٌّ صغير قابل للطيّ أسفل الصفحة. وعند ضغط المستخدم فقط تُحقن أداةٌ من داخل حزمة الإضافة تقرأ صفحات تقارير المعلمين (للسحب)، أو تعبّئ شاشات الجدول (للنقل). وقد تفتح تبويبًا خلفيًّا مؤقّتًا على صفحة التقارير ثم تغلقه. وفي «الجدول الأسبوعي» للمعلم وحده: زرّ «إعداد دروس الأسبوع» يفتح لوحةً معزولة (لا تمسّ صفحة مدرستي). وعند ضغط المعلم تُحقن أداةٌ من الحزمة تقرأ حصص الأسبوع وشجرة المقرّرات، وبعد تأكيده تعبّئ صفحة إعداد الدرس في إطاراتٍ مخفيّة من أصل مدرستي نفسه وتحفظ بأزرار مدرستي، كما يفعل المعلم بيده. وقد يُفتح لذلك تبويبٌ أو نافذةٌ مصغّرة مؤقّتة ثم تُغلق. |
noor.moe.gov.sa/Noor/* | زرٌّ صغير قابل للطيّ. وبعد تأكيد المستخدم تُحقن أداةُ الرفع في تبويب نور (أو يُفتح تبويبٌ خلفيّ لنور إن لم يكن مفتوحًا)، فتفتح صفحة «إدخال السلوك والمواظبة» وتؤشّر غياب الطلاب المختارين وتحفظه بجلسة المستخدم. |
| البيانة | الاتجاه | لماذا |
|---|---|---|
| أسماء المعلمين وأرقام هوياتهم أو إقاماتهم كما تظهر في تقارير مدرستي | مدرستي ← بوابتنا | لربط الإحصاءات بملفّ المعلّم في سجلّ مدرسته (الهوية هي مفتاح المطابقة) |
| الدروس وحالة إعدادها، وعدد الواجبات والإثراءات ومُنشئها | مدرستي ← بوابتنا | جوهر «متابعة تحضير المعلمين» |
| اسم المدرسة ومعرّفها في مدرستي | مدرستي ← بوابتنا | حارسٌ يمنع خلط بيانات مدرسةٍ بأخرى |
| الجدول المدرسي: المواد والفصول والحصص وأسماء المعلمين المسندين | بوابتنا ← مدرستي | نقل الجدول. تصل البيانات إلى صفحة مدرستي من نافذةٍ صغيرة على نطاق بوابتنا بجلسة المستخدم |
| الطلاب الغائبون في يومٍ بعينه: الاسم والصف والفصل وتاريخ الغياب ونوعه (بعذر / بدون عذر) | بوابتنا ← نور | رصد الغياب في نور. لا يُرسَل إلا بعد تأكيد المستخدم (البند ٤) |
| قائمة الصفوف، وجدول طلاب الصف في صفحة رصد الغياب بنور (الاسم والفصل وحالة الرصد) | يُقرأ داخل تبويب نور فقط | لمطابقة أسماء الغائبين بأسمائهم في نور، ثم للتحقّق من أن الرصد ثبت. يُستعمل في المتصفّح ولا يُرسَل إلى بوابتنا |
| نتيجة الرفع لكل طالب (رُصد / تعذّر وسببه)، واسم حساب نور واسم المدرسة كما يظهران في رأس صفحة نور | نور ← بوابتنا | لتظهر النتيجة أمام كل طالب، ولتسجيل من رفع ومتى |
| حصص المعلم في الأسبوع (اليوم والحصة والفصل والمادة وحالة التحضير)، وشجرة كل مقرّر (الوحدات والدروس)، وآخر درسٍ حُضّر لكل فصل، وأهداف الدرس ومحتواه من بنك مدرستي | يُقرأ من مدرستي | لاقتراح درس كل حصة بالتسلسل. في لوحة مدرستي يبقى في المتصفّح ولا يُرسَل إلى بوابتنا. وإن بدأ المعلم من صفحة إعداد الدروس في بوابتنا تصل القراءة إلى تلك الصفحة نفسها لتعرضها |
| اختيارات التحضير: الدرس لكل حصة، ونمط التعليم، وعدد الأهداف، والاستراتيجيات والوسائل، والنشاط، والنصوص التي يكتبها المعلم (التهيئة · المفردات · مهارات التفكير · الإغلاق) | الإضافة ← مدرستي | حفظ التحضير في مدرستي بعد تأكيد المعلم (البند ٤) |
| من صفحة إعداد الدروس في بوابتنا وحدها: سجلّ ما حُفظ (التاريخ والحصة والفصل والمادة والدرس والنتيجة)، ونصوص الدرس إن اختار المعلم حفظها | بوابتنا | «أكمل من آخر درس»، وبنك نصوص الدروس المشترك المفهرس برقم الدرس في مدرستي — لا يحمل بيانات طلاب |
وكذلك تحضير الدروس: لا يُقبل طلب الحفظ إلا من لوحة الإضافة في «الجدول الأسبوعي» بمدرستي أو من صفحة بوابتنا، ثم تفتح الإضافة نافذةً خاصة بها (pconfirm.html) تعرض المادة وعدد الحصص وكل حصةٍ بتاريخها وفصلها ودرسها. لا يُحفظ شيءٌ في مدرستي حتى يؤكّد المعلم بيده، وإغلاق النافذة أو مرور المهلة = إلغاء. وكلّ دفعةٍ مؤكَّدة تُنفَّذ مرةً واحدة في الصفحة التي طلبتها فقط.
storage.local: هل طوى المستخدم زرّ الأداة في مدرستي أو نور · ودور صاحب الجلسة في بوابتنا (مدرسة أو معلّم) ووقت قراءته · وتفضيلات التحضير التي يختارها المعلم (النمط والأهداف والاستراتيجيات والوسائل والنشاط) · وسجلٌّ مختصر لآخر درسٍ حُضّر لكل مقرّرٍ وفصل، يُحذف ما تجاوز ١٢٠ يومًا. كلّه على جهاز المستخدم ولا يُرسَل إلى أحد.storage.session: رمزٌ عشوائيّ مؤقّت لكل تبويبٍ حُقنت فيه أداة الإضافة، يضمن أن أداتنا وحدها تخاطب الإضافة. يُمحى بإغلاق التبويب أو المتصفّح.| الإذن | الغرض |
|---|---|
scripting | حقن أداة القراءة أو التعبئة أو التحضير (من داخل الحزمة) في صفحة مدرستي أو نور المفتوحة بجلسة المستخدم، وتسليم النتيجة من تبويبٍ على نطاق بوابتنا — عند ضغطه الزرّ لا قبله |
tabs | إيجاد تبويب مدرستي أو نور أو بوابتنا المفتوح، أو فتح تبويبٍ خلفيّ أو نافذةٍ مصغّرة مؤقّتة ثم إغلاقها |
storage | ما ورد في البند ٥ فقط |
*.madrasati.sa (schools · beta · external) | مصدر متابعة التحضير، ووجهة نقل الجدول وحفظ تحضير الدروس — بجلسة المستخدم نفسه |
noor.moe.gov.sa | وجهة رفع الغياب بعد التأكيد — بجلسة المستخدم نفسه |
digitalschool.sa | حساب المدرسة في بوابتنا: مصدر الجدول والغياب، ووجهة المتابعة ونتائج الرفع |
لأي سؤال أو طلب حذف: system@digitalschool.sa
The extension is a bridge between a school’s own account on digitalschool.sa and two Saudi Ministry of Education systems, Madrasati and Noor. It acts only inside the signed-in user’s own browser session and only when the user clicks a button, to do four things: (a) push the school timetable from the school’s account to Madrasati’s timetable and course-assignment screens; (b) pull teacher lesson-preparation follow-up (lessons, assignments, enrichments) from Madrasati’s teacher-report pages into the school’s account; (c) submit the day’s student absences from the school’s account into Noor’s absence-recording page (excused or unexcused), after the user confirms; (d) help a teacher prepare the week’s lessons in Madrasati: from Madrasati’s teacher weekly schedule (or our lesson-preparation page) it reads the teacher’s periods and course outlines, suggests each period’s lesson in sequence, and saves the preparation through Madrasati’s own page controls, after the teacher confirms. It performs no other function and loads no remotely hosted code.
digitalschool.sa — announces that the extension is installed and relays the user’s request; it reads only one tag from the page (mf-role: whether the signed-in account is a school or a teacher) to show the right button. Results are delivered back from a tab on the same site, within the user’s session.schools/beta/external.madrasati.sa — a small collapsible button. Only on click, a script bundled in the extension reads the teacher-report pages (pull) or fills the timetable screens (push); it may open a temporary background tab and close it afterwards. On the teacher weekly-schedule page only, a “Prepare this week’s lessons” button opens an isolated panel; on click, a bundled script reads the week’s periods and course outlines and, after the teacher confirms, fills Madrasati’s lesson-preparation page in hidden same-origin frames and saves with Madrasati’s own buttons; a temporary minimized window may be used and closed.noor.moe.gov.sa/Noor/* — a small collapsible button. Only after confirmation, the bundled script opens Noor’s attendance page and records the selected absences within the user’s session.An upload request is accepted only from our own site’s top-level page. The extension then opens its own window listing the date, the number of students and their names. The confirm button stays disabled until the user ticks the acknowledgement by hand; web pages cannot reach or click this window. Closing it, cancelling, or a three-minute timeout cancels the upload and Noor is not opened at all. The window also shows the absence type (excused / unexcused).
Lesson preparation follows the same rule: a save request is accepted only from the extension’s panel on Madrasati’s
teacher weekly schedule or from our own site; the extension opens its own window (pconfirm.html) listing
the subject, the number of periods and each period’s date, class and lesson. Nothing is saved to Madrasati until the
teacher confirms by hand; closing the window or a timeout cancels it, and each confirmed batch runs once, only in the page that requested it.
Passwords, cookies, session tokens (Madrasati or Noor), browsing history, any content from websites other than madrasati.sa, noor.moe.gov.sa and digitalschool.sa, or any Noor student data beyond what is needed to match the absentees the user chose to upload.
storage.local — whether the user collapsed the on-page button; the signed-in account’s role on our portal (school or teacher) and when it was read; the teacher’s preparation preferences (mode, objectives, strategies, tools, activity); and a short record of the last lesson prepared per course and class, pruned after 120 days. All kept on the device and never sent anywhere.storage.session — a temporary random key per tab where our bundled tool was injected, so only our tool can talk to the extension; cleared when the tab or browser closes.scripting — inject the bundled reader/filler/lesson-preparation script into the open Madrasati or Noor page, and deliver results from a tab on our site, within the user’s session, when the user clicks.tabs — locate the open Madrasati / Noor / portal tab, or open a temporary background tab or minimized window and close it afterwards.storage — only what is listed under “Local storage”.host: *.madrasati.sa — source of follow-up data, and destination of the timetable and of teacher lesson preparation, within the user’s own session.host: noor.moe.gov.sa — destination of confirmed absence records, within the user’s own session.host: digitalschool.sa — the school’s own account: source of the timetable and absences, destination of follow-up data and upload results.system@digitalschool.sa