Activité de l'utilisation mobile

Cette page contient les requêtes SQL d'accumulateur d'activité pour la base de données Blackboard Learn qui vous permettent d'obtenir des informations concernant l'activité de l'utilisation mobile Blackboard. Pour les procédures de cette rubrique, il est supposé que vous avez déjà accès à votre base de données et que vous disposez des autorisations pour interroger des informations. Ces requêtes sont destinées à renvoyer des informations pour consultation. Aucune autorisation d'écriture n'est donc nécessaire.

Pour éviter les modifications accidentelles, nous vous recommandons d'utiliser un compte avec un accès en lecture seule. Si vous modifiez directement la base de données d'un système complexe, des problèmes importants, y compris des temps d'arrêt, peuvent survenir. Les requêtes répertoriées sur cette page n'apportent aucun changement au système.

Les exemples de code pour les requêtes SQL sont désignés sur cette page. Ces requêtes vous donneront une idée du fonctionnement d'autres éléments. La consignation des données implique certaines limites. Actuellement, nous ne pouvons pas déterminer l'application ou la plate-forme à l'origine d'un événement. Cela signifie que lorsque vous analysez les données, l'application Blackboard et Blackboard Instructor ne sont pas différenciées.

Dans les exemples de requêtes SQL, bblearn est utilisé comme exemple de schéma de base de données. La base de données Blackboard Learn peut stocker les données dans un certain nombre de schémas alternatifs tels que bb_bb60 ou bblearn_stats pour les données archivées. La première partie de la requête devra peut-être être modifiée pour prendre en compte les variations de schéma.

Comptabilisation du nombre total de connexions mobiles sur une période en particulier

Cette requête indique le nombre de connexions à Blackboard Learn de tous les utilisateurs, à partir de toutes les applications et sur tous les appareils. À chaque fois qu'un utilisateur se connecte, une connexion est comptabilisée. Si un utilisateur est déconnecté à plusieurs reprises dans une zone où la réception est mauvaise, plusieurs connexions peuvent être enregistrées, même si l'utilisateur a activé la connexion automatique et ne voit qu'une session sur son appareil. Cet exemple renvoie des données pour un mois.

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

La table des accumulateurs d'activité dans la base de données de Blackboard Learn enregistre plusieurs fois Mobile Login Attempt (tentative de connexion mobile) pour chaque connexion utilisateur d'application mobile avec l'authentification Force to Web. En savoir plus sur ce problème connu.

Comptabilisation du nombre d'utilisateurs uniques sur une période en particulier

Cette requête indique le nombre d'utilisateurs uniques qui se sont connectés pendant une période en particulier. Étant donné que la requête utilise l'ID de base de données associé à une connexion, l'utilisateur apparaîtra comme un seul utilisateur, quel que soit le nombre d'applications ou d'appareils différents utilisés sur cette période. Par exemple, si vous utilisez cette requête à plusieurs reprises pour créer un rapport mois par mois, l'utilisateur sera unique pour chaque requête. Ainsi, à chaque exécution, chaque utilisateur est comptabilisé une fois. Chaque utilisateur est comptabilisé pour chaque mois où il s'est connecté, mais uniquement une fois par mois. Cet exemple renvoie des données pour un mois.

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

Compter le nombre de connexions d'utilisateurs uniques par rôle de cours

Cette requête indique le nombre d'utilisateurs uniques qui se sont connectés via leur rôle au sein du cours. Elle associe le tableau activity_accumulator au tableau course_users (inscriptions). En associant le tableau course_users (qui contient le rôle de l'utilisateur au sein du cours ou de la communauté), vous pouvez obtenir une estimation approximative du nombre d'utilisateurs accédant aux applications Blackboard et Blackboard Instructor. Les mêmes règles qui s'appliquent à l'option de comptabilisation du nombre d'utilisateurs uniques sur une période en particulier s'appliquent à cette requête. Cet exemple renvoie le nombre mensuel de connexions mobiles uniques de professeurs.

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%';

Notez que pour cu.role, le « code de rôle » au sein du cours ou de la communauté doit être utilisé. De plus, certains utilisateurs peuvent se connecter à la mauvaise application. Par exemple, un professeur peut se connecter à l'application Blackboard par erreur. Prenez ceci en compte lors de l'analyse des résultats.

Affichage de toutes les connexions individuelles sur une période en particulier

Cette requête est effectivement identique à la requête « Comptabilisation du nombre total de connexions mobiles sur une période en particulier », à la seule différence qu'elle affiche toutes les données brutes au lieu d'un simple total du nombre de lignes. Elle peut être utile si vous cherchez des modèles ou que vous prévoyez d'exporter les données pour les utiliser dans des rapports plus approfondis. Le caractère « * » dans la première ligne signifie que toutes les colonnes du tableau seront renvoyées.

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

Affichage de façon individuelle de toutes les fois où un utilisateur a consulté des fils de discussion sur une période en particulier

Au lieu d'examiner les données de connexion comme la page des données analytiques mobiles, cette requête regarde ce que font les étudiants dans l'application. Lorsqu'une personne utilise l'application Blackboard pour afficher un fil de discussion dans un forum, le Building Block enregistre un élément « mobile.view.thread » dans le tableau activity_accumulator. Cette requête renvoie chaque consultation d'un thème dans un forum par un étudiant, pour tous les thèmes, tous les forums et tous les étudiants. Si ces données sont combinées aux données d'autres tableaux ou utilisées dans un programme tel que Microsoft Excel, des informations sur les étudiants, cours et modèles d'utilisation spécifiques peuvent être déterminées.

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

Affichage de l'utilisation mobile dans son ensemble

La requête suivante récupère tous les éléments Mobile d'un mois en particulier. Cependant, la requête peut inclure les résultats de pages qui contiennent simplement le mot « mobile ». Bien que ces informations soient utiles, il vaudrait peut-être mieux convertir les données dans un autre format pour trouver des modèles d'utilisation. Par exemple, recherchez, parmi les éléments dont l'utilisation est enregistrée, ceux auxquels les utilisateurs accèdent le plus souvent à partir d'appareils mobiles.

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

Requêtes avancées

Les requêtes suivantes incluent certains des éléments des requêtes simples ci-dessus, et proposent de renvoyer plus de détails ou de regrouper les données pour augmenter leur lisibilité.

Exécution de requêtes sur les utilisateurs Blackboard

Cette requête inclut toutes les données du tableau des utilisateurs, à savoir le nom de chaque utilisateur et la valeur PK associée. Cette requête concerne tous les utilisateurs de Blackboard Learn, qu'ils utilisent ou non un produit mobile de Blackboard.

select *
from bblearn.users

Limitation de la requête à des colonnes spécifiques

Les requêtes de cette page utilisent toutes l'astérisque « * » dans la partie de la requête où vous indiquez les colonnes. Ainsi, SQL renvoie toutes les colonnes du tableau, qu'elles vous fournissent ou non une vraie valeur. La requête suivante renvoie toutes les lignes du tableau activity_accumulator, mais uniquement 5 colonnes. Ces dernières nous permettent non seulement d'identifier l'utilisateur, le cours et l'élément de contenu, elles nous fournissent également les informations du champ de données et de l'horodatage du moment où l'activité s'est produite. La requête n'affiche aucune autre colonne.

select user_pk1, course_pk1, content_pk1, data, timestamp
from bblearn.activity_accumulator

Regroupement de plusieurs tableaux

La combinaison des résultats de deux tableaux peut vous permettre de filtrer les données en les limitant aux utilisateurs pertinents. Vous pouvez également récupérer le nom d'utilisateur afin d'associer directement des utilisateurs à des activités pour ne pas avoir à le rechercher manuellement. SQL utilise des jointures pour combiner les résultats de plusieurs tableaux. Une jointure est une instruction where qui fait savoir à SQL qu'une valeur dans un tableau est égale à la même valeur dans un autre tableau.

La requête suivante est un exemple de jointure SQL qui utilise nos tableaux. Les jointures peuvent être compliquées et exigent parfois que vous réalisiez de nombreux essais avant de parvenir à les utiliser sans erreurs. Si vous souhaitez effectuer des requêtes plus complexes, nous vous recommandons de vous renseigner davantage sur les jointures. Les requêtes plus compliquées peuvent exiger un travail de traitement plus important de la part du serveur de base de données et ont plus de chances de ne pas fonctionner.

Voici un exemple ligne par ligne, ainsi qu'une référence utile pour la création d'autres requêtes. Cette requête combine plusieurs éléments, présentés ci-dessus, dans une même requête qui renvoie uniquement des colonnes spécifiques provenant de plusieurs tableaux avec plusieurs limites définies.

  1. Indiquez les colonnes de deux tableaux différents. Les noms des tableaux sont définis d'après les colonnes.
  2. Choisissez deux tableaux et donnez-leur un diminutif à lettre unique.
  3. Where correspond à l'endroit où placer les conditions. Dans SQL, l'explication de la relation entre les tables est considérée comme une condition. Vous devez donc indiquer les colonnes qui sont équivalentes de sorte que SQL sache comment combiner les données.
  4. Condition supplémentaire : date de début de l'horodatage
  5. Condition supplémentaire : date de fin de l'horodatage
  6. Condition supplémentaire : séparateur de colonne de données

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%'

Comme pour une requête, une condition peut être ajoutée au tableau des utilisateurs comme ceci : u.user_id = 'StudentLogin'. La requête peut alors être exécutée sur le tableau activity_accumulator sans avoir à trouver la valeur PK1 des utilisateurs, tant que le nom d'utilisateur réel de l'étudiant a été obtenu.

Vous pouvez associer d'autres tables. Plus vous ajoutez de conditions et de jointures, plus la requête prend du temps, mais de meilleures données peuvent être renvoyées. Au lieu d'avoir plusieurs ID de base de données, fournis par activity_accumulator par défaut, le nom du contenu et le nom des cours peuvent être intégrés dans la requête.

Données de référence

Événements sur appareil mobile

Les événements suivants sont enregistrés par le Building Block Services Web mobiles dans le tableau activity_accumulator. La liste peut changer au fil du temps. Le format des données est le même indépendamment de l'application utilisée pour exécuter la fonction car les événements sont enregistrés par le Building Block et non par les applications directement. Dans la requête précédente pour les consultations de thèmes, le paramètre « mobile.view.thread » peut être remplacé par n'importe quelle entrée du tableau ci-dessous si l'entrée contient du texte supplémentaire en plus des données sur l'utilisation mobile. Pour certaines instances, différentes entrées existent pour la même action. Le format d'enregistrement ayant changé à un moment donné, vous devrez peut-être rechercher les deux types d'entrée pour obtenir des résultats au fil du temps.

Types de contenu pris en charge dans l'application Blackboard
Événement Entrée dans le champ « Data » du tableau activity_accumulator
affichage de la liste de blogs mobile.list.blogs
affichage de la liste des messages mobile.list.blog.entries
affichage des commentaires sur les messages mobile.list.blog.comments
ajout de commentaire de journal mobile.list.journal.add.entry.comment
ajout de commentaire de blog mobile.list.blog.add.entry.comment
ajout d'entrée de journal mobile.list.journal.add.entry
ajout d'entrée de blog mobile.list.blog.add.entry
affichage de la liste de journaux mobile.list.journals
affichage de la liste des messages mobile.list.journal.entries
affichage des commentaires sur les messages mobile.list.journal.comments
affichage des forums mobile.list.forums
affichage des thèmes mobile.list.threads
affichage d'un thème mobile.view.thread
affichage des messages de thème mobile.view.thread.post
affichage des annonces mobile.view.announcements
affichage de l'annuaire des étudiants mobile.view.roster
affichage des notes mobile.view.grades
ajout d'entrée de journal mobile.add.journal.entry
ajout de message de base de données mobile.add.thread.post
ajout de commentaire de message de base de données mobile.add.thread.post.comment
affichage d'un élément de contenu Affichage de contenu mobile

Comment savoir combien d'étudiants et/ou de membres du corps enseignant utilisent les applications Bb Mobile ?

Pour les serveurs utilisant la version *.2.9 et les versions ultérieures du Building Block Services Web mobiles de Blackboard, lorsqu'un utilisateur se connecte à l'application Blackboard Mobile Learn, le rôle Utilisateur BbMobile est ajouté en tant que rôle secondaire dans l'établissement.

Étudiants

Voici une requête permettant de trouver tous les utilisateurs étudiants auxquels l'utilisateur BbMobile est associé avec le rôle secondaire dans l'établissement (part du principe que le rôle « étudiant » est institution_roles_pk1 = 1) :

SELECT count(distinct u.pk1) as count_BbMobileUser
FROM users u, user_roles r, institution_roles ir
WHERE u.institution_roles_pk1 = '1'
AND u.pk1 = r.users_pk1
AND r.institution_roles_pk1 = ir.pk1
AND ir.role_name = 'BbMobile User';

Corps enseignant

Voici une requête permettant de trouver tous les utilisateurs du corps enseignant auxquels l'utilisateur BbMobile est associé avec le rôle secondaire dans l'établissement (part du principe que le rôle « corps enseignant » est institution_roles_pk1 = 2) :

SELECT count(distinct u.pk1) as count_BbMobileUser
FROM users u, user_roles r, institution_roles ir
WHERE u.institution_roles_pk1 = '2'
AND u.pk1 = r.users_pk1
AND r.institution_roles_pk1 = ir.pk1
AND ir.role_name = 'BbMobile User';

Comptage du nombre total de connexions à Blackboard Mobile sur un mois

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

Comptage du nombre d'utilisateurs uniques sur un mois

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