Buzz API

Custom Activity and BH Data Exchange API not working

Follow
Answered
Anthony Stevens

Hi - we have a successful workflow wherein we set up a new Custom Activity in BrainHoney, provide a URI that points to an outside resource, and then check the "Completion and Score set by content (SCO)" checkbox.

When the student opens that activity, additional query parameters are passed along to the outside resource that allow us to identify the student and enrollment - "approot", "enrollmentid", and "itemid". Example:

approot=https%3A%2F%2Faccelerate.brainhoney.com&enrollmentid=12345678&itemid=ABCDE

In Agilix Buzz, we have it set up properly in the administration section, and it works when viewing it from the admin area, but, when a student logs in to the appropriate subdomain and opens their course, the outside resource is retrieved, but none of the additional custom query parameters that are normally sent by BrainHoney are present, thus breaking the workflow.

Is there some sort of subdomain-wide setting that would affect this data exchange API mechanism, or some other part of Buzz itself that would override or circumvent the successful transmission of these custom parameters when a custom activity is opened by a student?

Thanks for any help.

Comments (6)

Sort by
Brad Marshall
  • Agilix team member

When you say Custom Activity, are you referring to the Custom Activity Types that is configured at a domain or the Custom Activity (see image) in the Syllabus editor?



 

0 Comment actions Permalink
Anthony Stevens

Hi Brad - the Custom Activity in the syllabus editor, as in your screenie.

0 Comment actions Permalink
Brad Marshall
  • Agilix team member

In BrainHoney, would you define these variables (i.e., approot, enrollmentid, itemid) in the "Advanced" option when editing the activity?

Is it set up the same in Buzz?

0 Comment actions Permalink
Anthony Stevens

No, they are sent automatically by BH so long as the "Completion and Score set by content (SCO)" box is checked.

Check out http://may2011.brainhoney.com/docs/DEJS_Overview

"When a student or teacher launches your activity in the course viewer, the course viewer automatically appends query parameters to your URL that enable DEJS to store and retrieve data for the current learner."

This process has been working for us for a couple years now in normal BH contexts, outside of Buzz.

Thanks Brad

0 Comment actions Permalink
Brad Marshall
  • Agilix team member

Anthony:

Thank you for asking your question and providing some responses.

The reason why these additional attributes are not returned in the activity URL is because the Data Exchange Javascript (DESJ) API does not work in Buzz. It was originally introduced into BrainHoney before LTI was invented to allow Sharable Content Objects (SCOs) to be hosted externally and send scores back into BrainHoney, which the browsers would not allow because of cross-site scripting attacks. There are a few different options you could consider.

  1. Include course variables in the URL. If you simply need to capture some student information from the URL and do not need pass anything back into Buzz, you could include course variables in the request. See "Advanced..." when choosing the URL for the activity.
  2. Host the SCO in Buzz. The HTML resource could be hosted in Buzz. This would allow you to use the SCORM API, which would allow the resource to post scores into the gradebook. 
  3. Use LTI standards to serve the activity. If the resource needs to be hosted externally and you need to send scores back to Buzz, we recommend that you implement your server as an LTI tool provider.
0 Comment actions Permalink
Anthony Stevens

Brad - thanks so much for the detailed response. I really appreciate it. We are looking into our options and will decide which avenue to pursue.

0 Comment actions Permalink
Please sign in to leave a comment.