Utilizing Caliper Within Blackboard Learn




 
Utilizing Caliper Within Blackboard Learn

Date Published: Dec 23,2016 Category: Planned_First_Fix_Release:Learn_9_1_Q4_2016_Release,SaaS_Fixed; Product:Learn_Administration_Learn; Version:Learn_9_1_Q4_2016_3100_0_0_rel_107_401e,SaaS   Article No.: 000043224

Product: Blackboard Learn

Document Type: User Documentation

Document Summary: Beginning with Learn 9.1 Q4 2016, we are certified for Caliper 1.0. These instructions will help users get started with sending and receiving Caliper events in Learn.

** Currently only available for Managed Hosting and SaaS clients

** Institution must have Caliper event stores or providers already; these are not provided by Blackboard. To learn more about creating event stores and providers, clients can view some of our documentation at our Developers site here.
Document Details:

What is Caliper?

Caliper is a standard that enables the collection, storage, and transport of data about learning. As a learning analytics framework, Caliper provides a common-gauge rail for disparate applications to use and share data from student interactions with learning software and administrative systems.

Reference: https://www.imsglobal.org/activity/caliperram which has a lot more interesting info about the topic.

But what does that mean?

Essentially, applications will emit an 'event' each time a student interacts with the platform in specific ways. Events are messages that contain specific JSON that describes who the user is, the course or area they are in, the relationship they have with the course or item they interact with, information about the item itself (content IDs, names, etc). This provides a basic clickstream of activity data that the institution can use to report against, or create feeds from. The large amount of context around the actions allows for very rich data to be delivered that could help determine student performance or assist in projections for their future interactions, for example. If the institution uses other applications or learning tools that emit Caliper events, they could combine all sources to get a very robust picture of how students are spending their academic time. 

Beginning with Learn 9.1 Q4 2016, Blackboard Learn is certified with IMS as a Caliper provider. This means that institutions can now tap into the activity stream that Learn is creating and pull in the contextual data they want or need.

At the time of this writing, Learn has the following Caliper profiles available to institutions to consume (the first five are IMS standard profiles; the others are custom events Blackboard has created for Learn specifically):

  •  AssessmentEvent
  •  AssessmentItemEvent
  •  AssignableEvent
  •  OutcomeEvent
  •  SessionEvent
  •  ViewEvent
  •  LTIEvent
  •  ContentEvent
  •  CalculatedGradeSnapshotEvent
  •  ForumEvent
  •  BlogEvent
  •  WikiEvent

What is required on the Learn end?

There are basically two steps that need to happen in order to start using Caliper within Learn. First, we need to point the Learn instance to one of our Telemetry environments. These are centralized servers dedicated to gathering site data. To request this, open a ticket with Support asking for Telemetry setup.

Once we have Learn pointed to a Telemetry environment, administrators can do a couple of things. 

  • Add event stores - These are external applications that consume Caliper events coming from Learn.
  • Add Caliper providers - Also external applications, but these provide events like Learn does. Adding a provider allows outside events to enter the Learn activity stream.

To add an event store:

  1. Login as a system administrator
  2. Go to System Admin > Building Blocks > Installed Tools
  3. Locate the Telemetry building block
  4. Open the context menu, choose Settings
  5. Click Caliper Event Stores
  6. Click Add Event Store
  7. Enter the URL for the event store
  8. Enter the API key for the event store (if there is none, simply enter a 'dummy' key)
  9. Choose a batch size or leave the default of 25 events
  10. Set the store to Active
  11. Submit
Within moments, there will be events fed into the event store.

To add a Caliper Provider:
  1. Login as a system administrator
  2. Go to System Admin > Building Blocks > Installed Tools
  3. Locate the Telemetry building block
  4. Open the context menu, choose Settings
  5. Click Caliper Providers
  6. Click Configure New Provider
  7. Enter the domain name for the provider
  8. Enter the consumer key 
  9. Enter an API key
  10. Set the provider to active
  11. Submit
Now a Caliper provider can send supported events into Learn to become part of the activity stream for users. 

Here is an example event to give an idea of the kind of data that can be extracted from Learn this way. This is an LTIEvent that was triggered by an instructor clicking on an LTI link for xpLor (Blackboard Open Content) within Learn: 
{
  "_index": "event.stage_us-west2_1.20161221",
  "_type": "CaliperEvent",
  "_id": "AVkhu_kh8ShtX8SrgzYQ",
  "_score": null,
  "_source": {
    "caliper": {
      "json": "{\"@context\":\"http://caliper.blackboard.com/ctx/caliper/v1/Context\",\"@type\":\"http://caliper.blackboard.com/caliper/v1/LTIEvent\",\"actor\":{\"@id\":\"https://caliper-mapping.cloudbb.blackboard.com/v1/sites/6fdsfdsfasdfsadfsaf7919/users/bddcccb68e5e424fb64b9fb135f62f09\",\"@context\":\"http://purl.imsglobal.org/ctx/caliper/v1/Context\",\"@type\":\"http://purl.imsglobal.org/caliper/v1/lis/Person\",\"name\":null,\"description\":null,\"extensions\":{\"bb:user.id\":\"_2785_1\",\"bb:user.externalId\":\"test.edu\"},\"dateCreated\":null,\"dateModified\":null},\"action\":\"http://caliper.blackboard.com/vocab/caliper/v1/action#LTILaunch\",\"object\":{\"@context\":\"http://caliper.blackboard.com/ctx/caliper/v1/Context\",\"@type\":\"http://caliper.blackboard.com/caliper/v1/LTILaunchInfo\",\"@id\":\"https://caliper-mapping.cloudbb.blackboard.com/v1/sites/6fdsfdsfasdfsadfsaf7919/ltiLaunches/ef475b9a-c22e-4867-80d6-3a9779cae697\",\"launchUrl\":\"https://xplor-beta.cloud.bb/v1/xplor/lti?add_content=true&folder_id=_287251_1\",\"launchParameters\":{\"tool_consumer_instance_contact_email\":\"admin@samplelearnsite.edu\",\"tool_consumer_info_product_family_code\":\"Blackboard Learn\",\"lis_outcome_service_url\":\"https://samplelearnsite.edu/webapps/xplor-connector/api/xplor\",\"tool_consumer_info_version\":\"3100.8.0-ci.49+27bd4f6\",\"lti_message_type\":\"basic-lti-launch-request\",\"ext_launch_id\":\"ef475b9a-c22e-4867-80d6-3a9779cae697\",\"lis_person_sourcedid\":\"test.edu\",\"ext_lms\":\"bb-3100.8.0-ci.49+27bd4f6\",\"lis_person_name_family\":\"Instructor\",\"lis_person_name_full\":\"test Instructor\",\"context_label\":\"dec6uatultra\",\"user_id\":\"bddcccb68e5e424fb64b9fb135f62f09\",\"launch_presentation_return_url\":\"https://samplelearnsite.edu/webapps/xplor-connector/lti/launchReturn?course_id=_47071_1&content_id=_287251_1&launch_time=1482329678185&launch_id=ef475b9a-c22e-4867-80d6-3a9779cae697&link_id=12345\",\"resource_link_id\":\"12345\",\"lis_person_contact_email_primary\":\"test..edu@blackboard.com\",\"roles\":\"urn:lti:role:ims/lis/Instructor\",\"tool_consumer_instance_name\":\"Blackboard, Inc.\",\"launch_presentation_locale\":\"en-US\",\"context_title\":\"Dec 6 - UAT - Ultra\",\"tool_consumer_instance_guid\":\"722ae2fe55284de9a00e7579fe509c13\",\"lis_person_name_given\":\"test\",\"lti_version\":\"LTI-1p0\",\"ext_launch_presentation_css_url\":\"https://samplelearnsite.edu/common/shared.css,https://samplelearnsite.edu/themes/as_2015/theme.css\",\"context_id\":\"1d161907b6aa4e788d15477299c64a86\"},\"customParameters\":{\"tc_profile_url\":\"https://samplelearnsite.edu/learn/api/v1/lti/profile\",\"caliper_profile_url\":\"https://samplelearnsite.edu/learn/api/v1/telemetry/caliper/profile/12345\",\"name_lookup_service_supported\":\"1\",\"caliper_federated_session_id\":\"https://caliper-mapping.cloudbb.blackboard.com/v1/sites/6fdsfdsfasdfsadfsaf7919/sessions/E90E5C2D6D289CCBA47C71112017D95C\",\"learn_client_id\":\"347548\",\"learn_registered_name\":\"samplelearnsite.edu\",\"xplor_institution_type\":\"p\",\"xplor_b2_version\":\"3100.8.0-ci.41+7719c03\"}},\"target\":null,\"generated\":null,\"eventTime\":\"2016-12-21T14:14:38.196Z\",\"edApp\":{\"@id\":\"https://caliper-mapping.cloudbb.blackboard.com/v1/sites/6fdsfdsfasdfsadfsaf7919/applications/learn\",\"@context\":\"http://purl.imsglobal.org/ctx/caliper/v1/Context\",\"@type\":\"http://purl.imsglobal.org/caliper/v1/SoftwareApplication\",\"name\":null,\"description\":null,\"extensions\":{},\"dateCreated\":null,\"dateModified\":null},\"group\":null,\"membership\":{\"@context\":\"http://purl.imsglobal.org/ctx/caliper/v1/Context\",\"@id\":\"https://caliper-mapping.cloudbb.blackboard.com/v1/sites/6fdsfdsfasdfsadfsaf7919/courses/1d161907b6aa4e788d15477299c64a86/members/bddcccb68e5e424fb64b9fb135f62f09\",\"@type\":\"http://purl.imsglobal.org/caliper/v1/lis/Membership\",\"name\":null,\"description\":null,\"extensions\":{\"bb:user.externalId\":\"test.edu\",\"bb:user.id\":\"_2785_1\",\"bb:course.id\":\"_47071_1\",\"bb:course.externalId\":\"dec6uatultra\"},\"dateCreated\":null,\"dateModified\":null,\"member\":\"https://caliper-mapping.cloudbb.blackboard.com/v1/sites/6fdsfdsfasdfsadfsaf7919/users/bddcccb68e5e424fb64b9fb135f62f09\",\"organization\":\"https://caliper-mapping.cloudbb.blackboard.com/v1/sites/6fdsfdsfasdfsadfsaf7919/courses/1d161907b6aa4e788d15477299c64a86\",\"roles\":[\"http://purl.imsglobal.org/vocab/lis/v2/membership#Instructor\"],\"status\":\"http://purl.imsglobal.org/vocab/lis/v2/status#Active\"},\"federatedSession\":\"https://caliper-mapping.cloudbb.blackboard.com/v1/sites/6fdsfdsfasdfsadfsaf7919/sessions/E90E5C2D6D289CCBA47C71112017D95C\"}",
      "action": "http://caliper.blackboard.com/vocab/caliper/v1/action#LTILaunch",
      "id": "https://caliper-mapping.cloudbb.blackboard.com/v1/sites/6fdsfdsfasdfsadfsaf7919/ltiLaunches/ef47fdsfdasfsdafsda"
      "sensorId": "62bdsfafdsafdsafds-d-s-s-se67919"
    },
    "schema": "CaliperEvent",
    "institution": {
      "clientId": null,
      "name": null,
      "siteId": "6fdsfdsfasdfsadfsaf7919",
      "url": null
    },
    "LTIEvent": {
      "actor": {
        "extensions": {
          "bb:user.externalId": "test.edu",
          "bb:user.id": "_2785_1"
        },
        "dateCreated": null,
        "@type": "http://purl.imsglobal.org/caliper/v1/lis/Person",
        "name": null,
        "description": null,
        "dateModified": null,
        "@id": "https://caliper-mapping.cloudbb.blackboard.com/v1/sites/test/users/bddcccb68e5e424fb64b9fb135f62f09",
        "@context": "http://purl.imsglobal.org/ctx/caliper/v1/Context"
      },
      "generated": null,
      "@type": "http://caliper.blackboard.com/caliper/v1/LTIEvent",
      "eventTime": "2016-12-21T14:14:38.196Z",
      "action": "http://caliper.blackboard.com/vocab/caliper/v1/action#LTILaunch",
      "membership": {
        "extensions": {
          "bb:user.externalId": "test.edu",
          "bb:user.id": "_2785_1",
          "bb:course.id": "_47071_1",
          "bb:course.externalId": "test_course_id"
        },
        "dateCreated": null,
        "@type": "http://purl.imsglobal.org/caliper/v1/lis/Membership",
        "organization": "https://caliper-mapping.cloudbb.blackboard.com/v1/sites/6fdsfdsfasdfsadfsaf7919/courses/1d161907b6aa4e788d15477299c64a86",
        "roles": [
          "http://purl.imsglobal.org/vocab/lis/v2/membership#Instructor"
        ],
        "name": null,
        "member": "https://caliper-mapping.cloudbb.blackboard.com/v1/sites/6fdsfdsfasdfsadfsaf7919/users/bddcccb68e5e424fb64b9fb135f62f09",
        "description": null,
        "dateModified": null,
        "@id": "https://caliper-mapping.cloudbb.blackboard.com/v1/sites/6fdsfdsfasdfsadfsaf7919/courses/1d161907b6aa4e788d15477299c64a86/members/bddcccb68e5e424fb64b9fb135f62f09",
        "@context": "http://purl.imsglobal.org/ctx/caliper/v1/Context",
        "status": "http://purl.imsglobal.org/vocab/lis/v2/status#Active"
      },
      "@context": "http://caliper.blackboard.com/ctx/caliper/v1/Context",
      "federatedSession": "https://caliper-mapping.cloudbb.blackboard.com/v1/sites/6fdsfdsfasdfsadfsaf7919/sessions/E90E5C2D6D289CCBA47C71112017D95C",
      "object": {
        "@type": "http://caliper.blackboard.com/caliper/v1/LTILaunchInfo",
        "launchParameters": {
          "tool_consumer_info_product_family_code": "Blackboard Learn",
          "lti_version": "LTI-1p0",
          "lis_person_contact_email_primary": "test.edu@blackboard.com",
          "context_title": "Course to Test With",
          "lis_person_name_family": "Instructor",
          "roles": "urn:lti:role:ims/lis/Instructor",
          "tool_consumer_instance_name": "Blackboard, Inc.",
          "tool_consumer_instance_guid": "722adfsdfds84de9a00e7579fe509c13",
          "launch_presentation_locale": "en-US",
          "resource_link_id": "12345",
          "lis_person_sourcedid": "test.edu",
          "lis_person_name_full": "Test Instructor",
          "tool_consumer_instance_contact_email": "admin@samplelearnsite.edu",
          "lis_outcome_service_url": "https://samplelearnsite.edu/webapps/xplor-connector/api/xplor",
          "ext_launch_id": "ef475b9a-c22e-4867-80d6-3a9779cae697",
          "launch_presentation_return_url": "https://samplelearnsite.edu/webapps/xplor-connector/lti/launchReturn?course_id=_470671_1&content_id=_2872351_1&launch_time=1482329678185&launch_id=ef475b9a-c22e-4867-80d6-3a9779cae697&link_id=12345",
          "lis_person_name_given": "Test",
          "lti_message_type": "basic-lti-launch-request",
          "user_id": "bddcccb68e5e424fb64b9fb135f62f09",
          "tool_consumer_info_version": "3100.0.0-rel.107+401e22b",
          "context_id": "1d161907b6aa4e788d15477299c64a86",
          "context_label": "dec6uatultra",
          "ext_lms": "3100.0.0-rel.107+401e22b",
          "ext_launch_presentation_css_url": "https://samplelearnsite.edu/common/shared.css,https://samplelearnsite.edu/themes/as_2015/theme.css"
        },
        "customParameters": {
          "caliper_profile_url": "https://samplelearnsite.edu/learn/api/v1/telemetry/caliper/profile/12345",
          "caliper_federated_session_id": "https://caliper-mapping.cloudbb.blackboard.com/v1/sites/6fdsfdsfasdfsadfsaf7919/sessions/E90E5C2D6D289CCBA47C71112017D95C",
          "xplor_b2_version": "3100.0.0-rel.107+401e22b",
          "tc_profile_url": "https://samplelearnsite.edu/learn/api/v1/lti/profile",
          "name_lookup_service_supported": "1",
          "learn_registered_name": "samplelearnsite.edu",
          "xplor_institution_type": "p",
          "learn_client_id": "646434"
        },
        "@id": "https://caliper-mapping.cloudbb.blackboard.com/v1/sites/6fdsfdsfasdfsadfsaf7919/ltiLaunches/ef475b9a-c22e-4867-80d6-3a9779cae697",
        "@context": "http://caliper.blackboard.com/ctx/caliper/v1/Context",
        "launchUrl": "https://xplor-beta.cloud.bb/v1/xplor/lti?add_content=true&folder_id=_287251_1"
      },
      "target": null,
      "edApp": {
        "extensions": {},
        "dateCreated": null,
        "@type": "http://purl.imsglobal.org/caliper/v1/SoftwareApplication",
        "name": null,
        "description": null,
        "dateModified": null,
        "@id": "https://caliper-mapping.cloudbb.blackboard.com/v1/sites/6fdsfdsfasdfsadfsaf7919/applications/learn",
        "@context": "http://purl.imsglobal.org/ctx/caliper/v1/Context"
      },
      "group": null
    },
    "action": {
      "requestId": "AVkhu_kh8ShtX8SrgzYP",
      "name": "http://caliper.blackboard.com/caliper/v1/LTIEvent",
      "time": 1482329678196,
      "uuid": "AVkhu_kh8ShtX8SrgzYQ"
    },
    "source": {
      "app": {
        "name": "caliper",
        "version": null
      },
      "learnVersion": null,
      "nodeId": "56.35.231.205, 10.15.764.1767"
    },
    "bbdebug": {
      "currentTime": "2016-12-21T14:14:49.284Z",
      "partition": 0,
      "offset": 8309594,
      "size": 5013,
      "topic": "CaliperEvent"
    }
  },
  "sort": [
    1482329678196,
    1482329678196
  ]
}