Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Info
titleSummary

OData is a standard for exposing relational data over HTTP using REST-ful endpoints. LearningBuilder uses it to expose data to 3rd party tools.

For more information about the OData standard see www.odata.org.


Note

For security reasons, the OData configuration tools are only available to System Administrators. If you would like to consume one of LearningBuilder's OData APIs, please contact support for assistance.

If you are a System Administrator, you can access /wiki/spaces/DOCS/pages/1685618730/wiki/spaces/DOCS/pages/1685618730


Overview

Many clients have a need to integrate data from LearningBuilder into their 3rd party tools or APIs for reporting, auditing, or quality assurance purposes. Using the OData features in LearningBuilder, a System Administrator can easily expose a database table or SQL view using a standards-based RESTful API. 

Built-in tables and views can be exposed with no custom programming at all. In more advanced cases, custom SQL views can be easily created and then exposed through the same configuration tools.

API Authentication

OData APIs are secured using API Keys, which should be passed in a HTTP Basic Authentication header. 

For more details, see the API Key Authentication Use API Keys to authenticate API calls page.

API Endpoints

Info
titleList of available endpoints

https://<LearningBuilderUrl>/data

Info
titleList of available endpoints with metadata

https://<LearningBuilderUrl>/data/$metadata


Info
titleEndpoint for a specific resource (requires API Key)

https://<LearningBuilderUrl>/data/<entityName>

Row-level security via "Member ID Field"

A common requirement is to restrict the data exposed via the data feed so that callers only see the data they are authorized to see. This can be easily accommodated by identifying a specific column in the table or view as the "Member ID Field".

If a field is designated in this way, the LearningBuilder OData endpoint will automatically filter the results to include only rows where the designated column matches the owner of the API Key used to authenticate the request.

For example, to construct an OData feed that shows each Member a list of their own Applications:

  1. Construct a custom SQL view returning all Applications. 
  2. In the Sys Admin → App Configuration → OData tool, create a new OData Entity with a name matching the view.
  3. Enter the name of the column, in the view, representing the owner's Member Id

When a caller authenticates to the API Endpoint with an API Key, the OData endpoint will then filter out all rows where the value in the specified column does not match the Owner Member Id associated with the API Key used on the request. Thus, the caller will only receive the data relevant to them/wiki/spaces/DOCS/pages/1685618730 requires assistance from a System Administrator.

Requirements

  • LearningBuilder 9.1

Benefits

  • Many business applications, such as Excel, natively support OData

  • OData RESTful APIs are easy to consume, reducing integration costs

  • Supports row-level security, restricting users to data they are authorized to view

  • Client-specific database views can be exposed, providing a simpler and more tailored view of the data than the system-level views might expose



Filter by label (Content by label)
cqllabel = "odata"

Page Properties
hiddentrue


Related issues