نشاط الاستخدام على الأجهزة المحمولة

تحتوي هذه الصفحة على استعلامات SQL الخاصة بمجمّع الأنشطة لقاعدة بيانات Blackboard Learn حتى يمكنك الحصول على معلومات النشاط لاستخدام Blackboard على الأجهزة المحمولة. وتفترض هذه المعلومات أنك لديك بالفعل القدرة على الوصول إلى قاعدة البيانات الخاصة بك والصلاحيات الخاصة بالاستعلام عن المعلومات. وهذه الاستعلامات قد تم تصميمها لأغراض إعداد التقارير لذا لا توجد حاجة لصلاحيات الكتابة.

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

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

يتم استخدام bblearn في نماذج استعلامات SQL كنموذج لمخطط قاعدة البيانات. قد تحتوي قاعدة بيانات Blackboard Learn على البيانات المخزنة في عدد من المخططات البديلة مثل bb_bb60 أو bblearn_stats للبيانات المؤرشفة. قد يحتاج الجزء الأول من الاستعلام إلى تعديله لأخذ اختلافات المخطط في الاعتبار.

حساب إجمالي عدد عمليات تسجيل الدخول من على الأجهزة المحمولة لفترة زمنية محددة

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

select Count(*) from bblearn.activity_accumulator
where TIMESTAMP > '01-MAR-2016'
and TIMESTAMP < '01-APR-2016'
and data like '%Mobile Login%'

يقوم الجدول التراكمي للنشاط الموجود في قاعدة بيانات Blackboard Learn بتسجيل "محاولة تسجيل الدخول إلى الأجهزة المحمولة" عدة مرات لكل عملية تسجيل دخول لمستخدم تطبيق الأجهزة المحمولة مع "فرض" المصادقة على الويب. المزيد عن هذه المشكلة المعروفة.

حساب عدد المستخدمين الفريدين لفترة زمنية محددة

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

select Count(Distinct(user_pk1)) from bblearn.activity_accumulator
where TIMESTAMP > '01-MAR-2016'
and TIMESTAMP < '01-APR-2016'
and data like '%Mobile Login%'

حساب عدد عمليات تسجيل دخول المستخدم الفريدة حسب دور المقرر الدراسي

يُظهر هذا الاستعلام عدد المستخدمين الفريدين الذين قاموا بتسجيل الدخول حسب دور المقرر الدراسي الخاص بهم. ويقوم بالانضمام إلى جدول activity_accumulator باستخدام الجدول course_users (عمليات التسجيل). يمكن أن يوفر الانضمام إلى جدول course_users، الذي يحتوي على دور مقرر دراسي أو منتدى مجموعة لكل مستخدم، تقديرًا تقريبيًا لعدد المستخدمين الذين يقومون بالوصول إلى تطبيقي Blackboard وBlackboard Instructor. تنطبق نفس الإرشادات التي تنطبق على "حساب عدد المستخدمين الفريدين لفترة زمنية محددة" على هذا الاستعلام. يقوم هذا النموذج بإرجاع عدد عمليات تسجيل الدخول بالأجهزة المحمولة الفريدة الخاصة بالمدرس لمدة شهر واحد.

select Count(Distinct(user_pk1)) from bblearn.activity_accumulator aa
join bblearn.course_users cu on
aa.user_pk1 = cu.users_pk1
where cu.role = 'P'
and timestamp > '01-NOV-2018'
and timestamp < '30-NOV-2018'
and aa.data like '%Mobile Login%';

لاحظ أنه بالنسبة لدور cu، يجب أن يستخدم المقرر الدراسي أو منتدى المجموعة "معرف الدور". أيضًا، قد يقوم بعض المستخدمين بتسجيل الدخول إلى التطبيق غير الصحيح. علي سبيل المثال، قد يسجل المدرس الدخول إلى تطبيق Blackboard عن طريق الخطأ. خذ هذا بعين الاعتبار عند تحليل النتائج.

إظهار جميع عمليات تسجيل الدخول الفردية لفترة زمنية محددة

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

select * from bblearn.activity_accumulator
where TIMESTAMP > '01-MAR-2016'
and TIMESTAMP < '01-APR-2016'
and data like '%Mobile Login%'

عرض جميع المرات الفردية التي يقوم فيها المستخدمون بعرض موضوعات المنتدى في فترة زمنية محددة

وبدلاً من قيام هذا الاستعلام بالنظر إلى بيانات تسجيل الدخول مثل صفحة تحليلات الأجهزة المحمولة (Mobile Analytics)، فهو ينظر إلى ما يقوم به الطلاب في التطبيق. عند قيام أحد الأشخاص باستخدام تطبيق Blackboard لعرض موضوع في منتدى، تسجل الكتلة البرمجية الإنشائية عنصر 'mobile.view.thread' في جدول activity_accumulator. يعرض هذا الاستعلام الوقت الذي يقوم فيه أي طالب بعرض أي موضوع في أي منتدى. إذا اجتمعت هذه البيانات مع البيانات الصادرة عن الجداول الأخرى أو تلك المستخدمة في برنامج مثل Microsoft Excel، يمكن تحديد المعلومات الخاصة بأنماط طلاب أو مقررات دراسية أو استخدام.

select * from bblearn.activity_accumulator
where TIMESTAMP > '01-MAR-2016'
and TIMESTAMP < '01-APR-2016'
and data = 'mobile.view.thread'

عرض جميع الاستخدامات من على الأجهزة المحمولة

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

select * from bblearn.activity_accumulator
where TIMESTAMP > '01-MAR-2016'
and TIMESTAMP < '01-APR-2016'
and data like '%Mobile%'

الاستعلامات المتقدمة

تتضمن الاستعلامات التالية بعضًا من الأساسيات المذكورة أعلاه وتعرض طرقًا كي تكون أكثر تفصيلاً أو تستجمع البيانات كي تكون أكثر قابلية للقراءة.

الاستعلام عن مستخدمي Blackboard

يتضمن هذا الاستعلام جميع البيانات الموجودة في جدول المستخدمين. ويتضمن هذا اسم المستخدم وقيمة PK المرتبطة بكل مستخدم. ويكون ذلك لكل المستخدمين الموجودين داخل Blackboard Learn بغض النظر عما إذا كانوا يستخدمون أيٍ من منتجات Blackboard المحمولة أم لا.

select *
from bblearn.users

تحديد الاستعلام الخاص بك إلى أعمدة معينة

تستخدم جميع الاستعلامات الموجودة في هذه الصفحة العلامة المحددة '*' في الجزء من الاستعلام الذي يسمح لك بتحديد الأعمدة. ويتسبب هذا في قيام SQL بإرجاع جميع الأعمدة في الجدول بغض النظر عن إذا ما كانوا يقدمون أي قيمة حقيقية لك. يقوم الاستعلام التالي بإرجاع جميع الأسطر من الجدول activity_accumulator إلا أنه يقوم بإرجاع 5 أعمدة فقط. وتلك لا تسمح لنا فقط بالتعرف على المستخدم والمقرر الدراسي وعنصر المحتوى، ولكنها أيضًا تعطينا المعلومات من حقل البيانات وطابع الوقت عند وقوع الحدث. فهي لا تعرض أيٍ من الأعمدة الأخرى.

حدد user_pk1، وcourse_pk1، وcontent_pk1، والبيانات، وtimestamp
من bblearn.activity_accumulator

انضمام جداول متعددة معًا

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

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

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

  1. قم بتحديد الأعمدة من جدولين مختلفين. يكون اسما الجدولين محددين بعد الأعمدة.
  2. اختر جدولين وأعطهما اسمين مستعارين مكونين من حرف واحد.
  3. تكون العبارة Where هي المكان الذي ستقوم فيه بوضع العبارات الشرطية. في SQL، يعتبر توضيح كيفية اتصال الجداول ببعضها عبارة شرطية. لذا، ستحتاج إلى تحديد الأعمدة المكافئة حتى يتسنى لـ SQL التعرف على كيفية اتصال البيانات ببعضها.
  4. الشرط الإضافي: timestamp start date
  5. الشرط الإضافي: timestamp end date
  6. الشرط الإضافي: data column limiter

select u.user_id, a.data, a.timestamp
from bblearn.activity_accumulator a, bblearn.users u
where u.pk1=a.user_pk1
and a.TIMESTAMP > '01-MAR-2016'
and a.TIMESTAMP < '01-APR-2016'
and a.data like '%Mobile Login%'

ومثلها مثل الاستعلام، يمكن إضافة العبارة الشرطية إلى جدول المستخدم مثل u.user_id = 'StudentLogin'. ويسمح هذا للاستعلام بالتشغيل بالمقابلة مع الجدول activity_accumulator دون الحاجة إلى استنتاج المستخدمين الذين لهم القيمة PK1 طالما تم الحصول على اسم المستخدم الفعلي للطالب.

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

البيانات المرجعية

أحداث Mobile

يتم تسجيل الأحداث التالية من خلال الكتلة البرمجية الإنشائية Mobile Web Services في الجدول activity_accumulator. وقد تتغير هذه القائمة بمرور الوقت. ولأن الأحداث يتم تسجيلها بواسطة الكتلة البرمجية الإنشائية وليس التطبيقات نفسها، يكون تنسيق البيانات هو نفسه بغض النظر عن التطبيق الذي تم استخدامه لتنفيذ الوظيفة. وفي الاستعلام السابق لطرق عرض الموضوعات، يمكن استبدال المعلمة 'mobile.view.thread' بأيٍ من الإدخالات الموجودة في الجدول الموضح أدناه إذا كان الإدخال يحتوي على نص إضافي بجانب قائمة الأجهزة المحمولة نفسها. وهناك بعض الأمثلة حيث توجد إدخالات مختلفة للإجراء نفسه. وهذا يرجع إلى أن تنسيق التسجيل قد تغير في نقطة ما، لذا فقد تضطر إلى البحث عن كلا نوعي الإدخال للحصول على النتائج بمرور الوقت.

أنواع المحتوى المعتمد في تطبيق Blackboard
الحدث الإدخال في الجدول activity_accumulator في الحقل 'Data'
عرض قائمة المدونة mobile.list.blogs
عرض قائمة المشاركة mobile.list.blog.entries
عرض تعليق المشاركة mobile.list.blog.comments
إضافة تعليق على اليومية mobile.list.journal.add.entry.comment
إضافة تعليق على المدونة mobile.list.blog.add.entry.comment
إضافة إدخال إلى اليومية mobile.list.journal.add.entry
إضافة إدخال إلى المدونة mobile.list.blog.add.entry
عرض قائمة اليومية mobile.list.journals
عرض قائمة المشاركة mobile.list.journal.entries
عرض تعليق المشاركة mobile.list.journal.comments
عرض منتديات المجموعة mobile.list.forums
عرض الموضوعات mobile.list.threads
عرض الموضوع mobile.view.thread
عرض مشاركات الموضوع mobile.view.thread.post
عرض رسائل الإعلام mobile.view.announcements
عرض لائحة الطلاب mobile.view.roster
عرض التقديرات mobile.view.grades
إضافة إدخال إلى اليومية mobile.add.journal.entry
إضافة رسالة db mobile.add.thread.post
إضافة تعليق على مشاركة db mobile.add.thread.post.comment
عرض عنصر محتوى طريقة عرض المحتوى للأجهزة المحمولة

كيف يمكنني العثور على عدد الطلاب و/أو أعضاء هيئة التدريس الذين يستخدمون تطبيقات Bb Mobile؟

بالنسبة للخوادم التي تستخدم الإصدار *.2.9 والإصدارات الأحدث من الكتلة البرمجية الإنشائية لـ Blackboard Mobile Web Services، عند تسجيل دخول المستخدم إلى تطبيق Blackboard Mobile Learn، تتم إضافة دور مستخدم BbMobile كدور مؤسسي ثانوي.

الطلاب

إليك استعلام حول كيفية العثور على جميع المستخدمين من الطلاب الذين يوجد لديهم مستخدم BbMobile مرتبط بهم كدور مؤسسي ثانوي (يفترض أن دور "الطالب" هو institution_roles_pk1 = 1):

حدد count(distinct u.pk1) على أنه count_BbMobileUser
من users u، user_roles r، institution_roles ir
حيث u.institution_roles_pk1 = '1'
وu.pk1 = r.users_pk1
وr.institution_roles_pk1 = ir.pk1
وir.role_name = 'BbMobile User'؛

عضو هيئة التدريس

إليك استعلام حول كيفية العثور على جميع مستخدمي أعضاء هيئة التدريس الذين يوجد لديهم مستخدم BbMobile مرتبط بهم كدور مؤسسي ثانوي (يفترض أن دور "عضو هيئة التدريس" institution_roles_pk1 = 2):

حدد count(distinct u.pk1) على أنه count_BbMobileUser
من users u, user_roles r, institution_roles ir
حيث u.institution_roles_pk1 = '2'
وu.pk1 = r.users_pk1
وr.institution_roles_pk1 = ir.pk1
وir.role_name = 'BbMobile User'؛

حساب إجمالي عمليات تسجيل الدخول عبر الجهاز المحمول لمدة شهر واحد

حدد Count(*) من bblearn.activity_accumulator
حيث TIMESTAMP > '01-MAR-2016'
وTIMESTAMP < '01-APR-2016'
وبيانات مثل '%تسجيل الدخول عبر الجهاز المحمول%'؛

حساب المستخدمين الفريدين لمدة شهر واحد

SELECT Count(Distinct(user_pk1))
FROM bblearn.activity_accumulator
WHERE TIMESTAMP > '01-MAR-2016'
AND TIMESTAMP < '01-APR-2016'
AND data like '%Mobile Login%';