Skip to main content

Gebruiksactiviteit van de Blackboard-app

Activiteit mobiel gebruik

Deze pagina bevat SQL-query's voor de Blackboard-database, zodat je activiteitsgegevens voor mobiel gebruik van Blackboard kunt ophalen. In deze informatie wordt aangenomen dat je al toegang hebt tot je database en de bevoegdheid hebt om informatie op te vragen. Deze query's zijn ontworpen met het oog op rapportages. Je hoeft dus geen schrijfbevoegdheid te hebben.

Belangrijk

We raden aan om een account met alleen-lezentoegang te gebruiken om te voorkomen dat er per ongeluk iets wordt gewijzigd. Als je wijzigingen in de database van een complex systeem aanbrengt, kan dit aanzienlijke problemen opleveren, zoals uitval. De query's die op deze pagina in dit document worden vermeld, hebben geen wijzigingen in het systeem tot gevolg.

Op deze pagina vind je voorbeelden van SQL-querycodes. Deze query's geven je een idee van hoe ze werken. Er gelden enkele beperkingen voor de manier waarop gegevens worden vastgelegd. We kunnen momenteel niet bepalen vanuit welke app of vanaf welk platform een bepaalde gebeurtenis is uitgevoerd. Dit wil zeggen dat de gegevens van de Blackboard-app en van Blackboard Instructor er allemaal hetzelfde uitzien.

In de voorbeelden van SQL-query's wordt het databaseschema bblearn als voorbeeld gebruikt. In de Bb-database kunnen de gegevens worden opgeslagen in een aantal alternatieve schema's, zoals bb_bb60 of bblearn_stats voor gearchiveerde gegevens. Het eerste deel van de query moet mogelijk worden aangepast met het oog op variaties van het schema.

Het totale aantal mobiele aanmeldingen gedurende een bepaalde periode tellen

Deze query toont het aantal keren dat een gebruiker zich heeft aangemeld bij Blackboard vanuit een app op elk apparaat. Elke keer dat een gebruiker zich aanmeldt, wordt als één keer geteld. Als de verbinding van een gebruiker herhaaldelijk wordt verbroken vanwege slechte ontvangst, kunnen er veel aanmeldingen worden gerapporteerd, ook al ziet een gebruiker die automatisch wordt aangemeld het als één sessie op het apparaat. In dit voorbeeld zien we de gegevens van één maand.

select Count(*) from bblearn.activity_accumulator

where TIMESTAMP > '01-MAR-2016'

and TIMESTAMP < '01-APR-2016'

and data like '%Mobile Login%'

Opmerking

In de tabel met activiteitsaccumulator in de Blackboard-database wordt de aanmeldingspoging voor elke gebruiker van een mobiele app meerdere keren geregistreerd met Force to Web-verificatie.

Het aantal unieke gebruikers in een bepaalde periode tellen

Met deze query wordt het aantal unieke gebruikers aangegeven dat zich in een bepaalde periode heeft aangemeld. Omdat de database-ID wordt gebruikt in combinatie met een aanmelding, wordt de gebruiker als één gebruiker weergegeven, ongeacht hoeveel verschillende apps of apparaten er in deze periode zijn gebruikt. Als je deze query bijvoorbeeld herhaaldelijk gebruikt om maandelijkse rapporten te maken, is de gebruiker bij elke query uniek. Dit wil zeggen dat elke gebruiker elke keer dat je de query uitvoert als één gebruiker wordt geteld. Elke gebruiker wordt voor elke maand waarin hij of zij zich heeft aangemeld meegeteld, maar slechts één keer per maand. In dit voorbeeld zien we de gegevens van één maand.

select Count(Distinct(user_pk1)) from bblearn.activity_accumulator

where TIMESTAMP > '01-MAR-2016'

and TIMESTAMP < '01-APR-2016'

and data like '%Mobile Login%'

Het aantal unieke gebruikersaanmeldingen per cursusrol tellen

Met deze query wordt het aantal unieke gebruikers aangegeven dat zich met een cursusrol heeft aangemeld. De tabel activity_accumulator wordt samengevoegd met de tabel course_users (inschrijvingen). Door de tabel course_users, die de cursus- of organisatierol van elke gebruiker bevat, samen te voegen, kan er een ruwe schatting worden gegeven van het aantal gebruikers met toegang tot de Blackboard- en Blackboard Instructor-apps. Op deze query zijn dezelfde richtlijnen van toepassing als op 'het aantal unieke gebruikers in een bepaalde periode tellen'. Dit voorbeeld retourneert het aantal unieke mobiele aanmeldingen van cursusleiders in één maand.

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

Voor cu.role moet de 'ROL-ID' van de cursus of organisatie worden gebruikt. Daarnaast melden sommige gebruikers zich mogelijk aan bij de verkeerde app. Een cursusleider kan zich bijvoorbeeld per ongeluk aanmelden bij de Blackboard-app. Houd hier rekening mee bij de analyse van de resultaten.

Alle individuele aanmeldingen in een bepaalde periode weergeven

Deze query is in feite hetzelfde als de query waarbij het totale aantal mobiele aanmeldingen gedurende een bepaalde periode wordt geteld, maar in dit geval worden alle onbewerkte gegevens weergegeven, niet alleen het aantal rijen. Dit kan handig zijn als je patronen wilt ontdekken of de gegevens wilt exporteren om voor uitgebreidere rapporten te gebruiken. Het teken '*' in de eerste regel betekent dat alle kolommen uit de tabel worden weergegeven.

select * from bblearn.activity_accumulator

where TIMESTAMP > '01-MAR-2016'

and TIMESTAMP < '01-APR-2016'

and data like '%Mobile Login%'

Alle individuele keren dat gebruikers discussielijnen hebben bekeken in een bepaalde periode

In plaats van dat er naar de aanmeldingsgegevens gekeken wordt, zoals de pagina Mobiele analyse, wordt er voor deze query gekeken naar wat studenten doen in de app. Wanneer iemand de Blackboard-app gebruikt om een discussielijn op een forum te bekijken, wordt er in het Building Block een item 'mobile.view.thread' vastgelegd in de tabel activity_accumulator. Deze query laat zien wanneer een student een discussielijn in een forum heeft bekeken. Als deze gegevens worden gecombineerd met gegevens uit andere tabellen of worden bewerkt in een programma zoals Microsoft Excel, is het mogelijk om informatie over specifieke studenten, cursussen en gebruikspatronen vast te stellen.

select * from bblearn.activity_accumulator

where TIMESTAMP > '01-MAR-2016'

and TIMESTAMP < '01-APR-2016'

and data = 'mobile.view.thread'

Al het mobiele gebruik weergeven

Met de volgende query worden alle mobiel-items voor een bepaalde maand opgehaald. De query kan echter ook resultaten bevatten voor pagina's waarin het woord 'mobiel' voorkomt. Dit is nuttige informatie, maar het kan beter zijn om de gegevens naar een andere indeling te converteren om gebruikspatronen te kunnen ontdekken. Je kunt bijvoorbeeld bekijken welke gebruikte items het vaakst worden geopend vanaf mobiele apparaten.

select * from bblearn.activity_accumulator

where TIMESTAMP > '01-MAR-2016'

and TIMESTAMP < '01-APR-2016'

and data like '%Mobile%'

Geavanceerde query's

De volgende query's bevatten enkele van de basiselementen die hierboven zijn beschreven en laten manieren zien om nauwkeurigere gegevens te krijgen of gegevens te combineren om ze beter leesbaar te maken.

Query's op Blackboard-gebruikers uitvoeren

Deze query omvat alle gegevens in de gebruikerstabel, waaronder de gebruikersnaam en bijbehorende PK-waarde van elke gebruiker. Dit zijn alle gebruikers binnen Blackboard, ongeacht of ze een van de mobiele producten van Blackboard gebruiken of niet.

select *

from bblearn.users

De query beperken tot specifieke kolommen

Voor alle query's op deze pagina is de aanduiding '*' gebruikt in het deel van de query waarin je kolommen kunt opgeven. Hierdoor worden alle kolommen in de tabel door SQL geretourneerd, of ze nu van waarde zijn of niet. Met de volgende query worden alle regels uit de tabel activity_accumulator geretourneerd, maar er worden slechts 5 kolommen geretourneerd. Hiermee kunnen we niet alleen de gebruiker, de cursus en het inhoudsitem identificeren, maar zien we ook de informatie in het gegevensveld en de tijdstempel van het moment dat de activiteit plaatsvond. De andere kolommen worden niet weergegeven.

select user_pk1, course_pk1, content_pk1, data, timestamp

from bblearn.activity_accumulator

Meerdere tabellen samenvoegen

Als je de resultaten van twee tabellen combineert, kan dit je helpen de gegevens te filteren, waardoor je deze beperkt tot de relevante gebruikers. Je kunt ook de gebruikersnaam ophalen om gebruikers direct aan activiteiten te koppelen, waardoor je dit niet handmatig hoeft op te zoeken. SQL gebruikt koppelingen om de resultaten van meerdere tabellen te combineren. Een koppeling laat SQL weten dat de waarde van de ene tabel gelijk is aan dezelfde waarde in een andere tabel.

De volgende query is een voorbeeld van een SQL-koppeling die naar onze tabellen verwijst. Koppelingen kunnen ingewikkeld zijn en vergen veel oefening. Als je ingewikkeldere query's wilt uitvoeren, is het raadzaam om je te verdiepen in hoe koppelingen werken. Ingewikkeldere query's vereisen mogelijk meer werk van de databaseserver voor de verwerking ervan en er kan meer mis gaan met deze query's.

In het volgende voorbeeld zie je het regel voor regel. Dit kun je gebruiken voor het bouwen van andere query's. In deze query worden meerdere stukken, waar je al over hebt gelezen, gecombineerd in één query, waarin alleen specifieke kolommen uit meerdere tabellen worden weergegeven aan de hand van meerdere ingestelde beperkingen.

  1. Geef de kolommen uit twee verschillende tabellen op. De tabelnamen staan achter de kolommen.

  2. Kies twee tabellen en geef ze een bijnaam die uit één letter bestaat.

  3. Waar is de plaats om voorwaarden te stellen. In SQL wordt de uitleg van hoe de tabellen aan elkaar verwant zijn als voorwaarde gezien. Je moet dus opgeven welke kolommen gelijkwaardig zijn, zodat SQL weet welke gegevens bij elkaar horen.

  4. Aanvullende voorwaarde: startdatum tijdstempel

  5. Aanvullende voorwaarde: einddatum tijdstempel

  6. Aanvullende voorwaarde: gegevenskolombegrenzer

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

Net als bij de query kan er een voorwaarde aan de gebruikerstabel worden toegevoegd, zoals u.user_id = 'StudentLogin'. Hiermee kan een query worden uitgevoerd voor de tabel activity_accumulator zonder dat de PK1-waarde van de gebruikers bekend is. Alleen de gebruikersnaam van de student moet zijn opgehaald.

Andere tabellen kunnen worden gekoppeld. Hoe meer voorwaarden en koppelingen er zijn toegevoegd, hoe meer tijd er voor de query nodig is, maar dit resulteert mogelijk wel in betere gegevens. Standaard worden er veel database-ID's door de activity_accumulator uitgevoerd, maar het is ook mogelijk om de naam van de inhoud en de namen van de cursussen in de query in te vullen.

Referentiegegevens

Mobiele gebeurtenissen

De volgende gebeurtenissen worden vastgelegd door het Building Block Mobile Web Services in de tabel activity_accumulator. Deze lijst kan in de loop van de tijd veranderen. De gebeurtenissen worden vastgelegd door het Building Block, niet de apps zelf. Daarom is de indeling van de gegevens hetzelfde, welke app er ook voor de functie is gebruikt. In de vorige query voor de weergave van discussielijnen kan de parameter 'mobile.view.thread' worden vervangen door een van de vermeldingen uit de onderstaande tabel, als de vermelding extra tekst bevat afgezien van de vermelding van mobiel zelf. Er zijn gevallen waarbij er verschillende vermeldingen voor dezelfde actie zijn. Dit komt doordat de indeling op een gegeven moment is gewijzigd. Mogelijk moet je dus beide vermeldingstypen zoeken om resultaten van een langere periode te krijgen.

tabel 68. Ondersteunde inhoudstypen in de Blackboard-app

Gebeurtenis

Vermelding in het veld 'Gegevens' in de tabel activity_accumulator

bloglijst weergeven

mobile.list.blogs

berichtenlijst weergeven

mobile.list.blog.entries

berichtopmerkingen weergeven

mobile.list.blog.comments

dagboekopmerking toevoegen

mobile.list.journal.add.entry.comment

blogopmerking toevoegen

mobile.list.blog.add.entry.comment

dagboekvermelding toevoegen

mobile.list.journal.add.entry

blogvermelding toevoegen

mobile.list.blog.add.entry

dagboeklijst weergeven

mobile.list.journals

berichtenlijst weergeven

mobile.list.journal.entries

berichtopmerkingen weergeven

mobile.list.journal.comments

forums weergeven

mobile.list.forums

discussielijnen weergeven

mobile.list.threads

discussielijn weergeven

mobile.view.thread

discussielijnberichten weergeven

mobile.view.thread.post

aankondigingen weergeven

mobile.view.announcements

Naamlijst weergeven

mobile.view.roster

cijfers weergeven

mobile.view.grades

dagboekvermelding toevoegen

mobile.add.journal.entry

db-bericht toevoegen

mobile.add.thread.post

db-berichtopmerking toevoegen

mobile.add.thread.post.comment

inhoudsitem weergeven

Mobiele weergave van inhoud



Hoe vind ik het aantal studenten en/of faculteiten dat gebruikmaakt van Bb Mobile-apps?

Voor servers die gebruikmaken van versie *.2.9 en hoger van het Building Block Blackboard Mobile Web Services, geldt dat wanneer een gebruiker zich aanmeldt bij de Blackboard Mobile-app, de rol BbMobile-gebruiker wordt toegevoegd als een secundaire institutionele rol.

Studenten

Hier vind je een query om alle studenten te vinden die de BbMobile User hebben gekoppeld als een secundaire instellingsrol (de rol 'student' is 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';

Faculteit

Hier vind je een query om alle faculteitsleden te vinden aan wie de BbMobile User is gekoppeld als een secundaire instellingsrol (met de rol 'faculteit' is 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';

Totaal aantal Mobile-aanmeldingen tellen voor 1 maand

SELECT Count(*) from bblearn.activity_accumulator

WHERE TIMESTAMP > '01-MAR-2016'

AND TIMESTAMP < '01-APR-2016'

AND data like '%Mobile Login%';

Unieke gebruikers tellen voor 1 maand

SELECT Count(Distinct(user_pk1))

FROM bblearn.activity_accumulator

WHERE TIMESTAMP > '01-MAR-2016'

AND TIMESTAMP < '01-APR-2016'

AND data like '%Mobile Login%';