GoReact has integrated with Progress DataDirect, a third party API tool that allows our customers to query GoReact using your preferred data-visualization tool.  If your organization has the technical resources to query data in REST (OData) formats, authorized users will be able to access our data. 

Note

Currently only rubric data is accessible, but we plan to add markers and usage data in the future.
We will be granting beta access for interested customers from December 2021 through June 2022.

 

To gain access to GoReact data:

  1. Contact your GoReact representative to request access.
  2. Once your access has been set up, you'll receive an email with instructions.  This email will be sent to the user who will be querying the data.:

    data_api_access_email.png

  3. Follow the instructions provided:
    1. Navigate to hdp.goreact.com/hdpui
    2. Enter the credentials given in the email
    3. Change the default password to a new password
  4. Access to your data will be via OData.
    1. The base URL to access your data will be:
      https://hdp.goreact.com/api/odata4/data_source-{orgId}
    2. You will need to replace the {orgId} with the ID provided in the email.  Remove the curly brackets once your ID is in-place.
    3. Add these paths to the end of the base URL above to access each data set.  (See the table below for additional information):
      • /rubric_templates
      • /rubric_sessions
      • /rubric_session_elements
      • /rubric_elements
      • /rubric_element_options
      • /users
      • /presenters
      • /courses
      • /assignments
      • /sessions
    4. Here are some links to popular visualization tools that describe how to connect and query data from OData:
      1. Tableau
      2. PowerBI
      3. And here is the documentation for querying data provided by Progress DataDirect.

Parameters

You can append a number of query parameters to each URL to specify the data you're looking for in each category. For a list of and details about those parameters, see the guide from Progress DataDirect here.

 

Example

Since OData just uses REST API URLs to access the data, you can access it through any tool that can query APIs. Postman, cURL, Tableau, PowerBI, etc. You can even access the data through a web browser. To see this in action, just navigate to the URL in the address bar of your favorite browser, replacing the orgIds with your own:

https://hdp.goreact.com/api/odata4/data_source-8065/rubric_templates/

data_access_login.png

You will be prompted to enter your credentials. If you are accessing this via Postman or some other tool, this will use the Basic authentication header with your base64 encoded username:password.

After the credentials have been verified, the data will be sent to the user via JSON.

rubric_data_csv_example.png

 


 

Rubric Data Entity Diagram

Rubric_Data_Relationship.png

 


 

Querying the Rubric Report/Table of Terms

Rubric Report value Data API location
Date/Time Exported The time the Rubric Report was generated, no location in the Data API for this one.
Rubric Title rubric_templates.title
Rubric Type if assignments.peer_rubric != null && rubric_sessions.role not in [‘reviewer’, ‘instructor’, ‘admin’, ‘super’]; then rubricType = ‘student’ else rubricType = ‘instructor’
Instructor ID assignments.created_by
Instructor Last Name assignments.created_by == users.user_id; Use: users.last_name
Instructor First Name assignments.created_by == users.user_id; Use: users.first_name
Course ID (GoReact) sessions.course_id
Course ID (LMS) sessions.course_id == courses.course_id; Use: courses.external_course_id
Course Title sessions.course_id == courses.course_id; Use: courses.name
Assignment ID (GoReact.com) sessions.assignment_id
Assignment ID (LMS) sessions.assignment_id == assignments.assignment_id; Use: assignments.external_assignment_id
Assignment Title assignments.name
Assessor Last Name rubric_sessions.created_by == users.user_id; Use: users.last_name
Assessor First Name rubric_sessions.created_by == users.user_id; Use: users.first_name
Presenter Email sessions.session_id == presenters.session_id; Use: presenters.user_id = users.user_id; users.email
Presenter ID sessions.session_id == presenters.session_id; Use: presenters.user_id = users.user_id; 
Presenter Last Name sessions.session_id == presenters.session_id; Use: presenters.user_id = users.user_id; users.last_name
Presenter First Name sessions.session_id == presenters.session_id; Use: presenters.user_id = users.user_id; users.first_name
Date/Time Assignment Submitted sessions.posted_at
“<PointsOnlyTitle>(points)” rubric_elements.type == ‘points’; Use: rubric_session_elements.value
“<PointsOnlyTitle>(points possible)” rubric_elements.type == ‘points’; Use: rubric_elements.points
“<CheckboxTitle>(points)” rubric_elements.type == ‘checkbox’; Use: rubric_session_elements.value if rubric_elements.points == null; then use null else use 0
“<CheckboxTitle>(points possible)” rubric_elements.type == ‘checkbox’; Use: rubric_elements.points
“<NumericScaleTitle>(points)” rubric_elements.type == ‘numeric’; Use: rubric_session_elements.value
“<NumericScaleTitle>(points possible)” rubric_elements.type == ‘numeric’; rubric_session_elements.rubric_element_option_id = rubric_element_options.id Use: the largest value from the options
“<QualitativeScaleTitle>(<Poor>: <assigned points>, <Fair>: <assigned points>, <Good>: <assigned points>, <Very Good>: <assigned points>, <Excellent>: <assigned points>)” rubric_elements.type == ‘qualitative’; if rubric_session_elements.rubric_element_option_id != null; rubric_session_elements.rubric_element_option_id = rubric_element_options.id Use: rubric_element_options.label
“<QualitativeScaleTitle>(points)” rubric_elements.type == ‘qualitative’; Use: rubric_session_elements.value
“<QualitativeScaleTitle>(points possible)” rubric_elements.type == ‘qualitative’; rubric_session_elements.rubric_element_option_id = rubric_element_options.id Use: the largest value from the options
“<TextResponseTitle>(text)” rubric_elements.type == ‘text’; Use: rubric_session_elements.value
Was this article helpful?