Developer Platform (September 2019)

What's in the Brightspace developer platform?

«  Brightspace API Reference   ·  [   home  ·   reference  ·   community   ·  search   ·  index   ·  routing table   ·  scopes table   ]   ·  Core concepts  »

Contents

Brightspace includes all the APIs and tools that developers use to create valuable, integrated solutions for their customers. If you have used D2LWS APIs in the past, or are new to integrating with D2L’s products, then you can use the documentation on this site to understand the state-of-the-world for extensibility at D2L.

We’ve organized Brightspace’s developer platform into four general sets of materials:

Brightspace SDK. Provides access to the D2L Brightspace APIs, client libraries and tools, samples and walkthroughs.

Remote Plugin Service. Provides a user interaction extension point to a third-party service built on the IMS LTI (v1.0 and v1.1) standard.

Community Resources. Developers have access to the Developer Community of Practice (Dev CoP) that houses a set of resources including support forums, a developer blog, code samples, and the available developer support paths.

Known Issues/Fixed Issues List. The known issues and fixed issues lists for the developer platform are available in the Brightspace Community’s Documentation section. For known issues, you can find release specific information within the Cumulative Known Issues List document and for the fixed issues, within the Release Notes document.

All our documentation is open and we are working to provide clear tools and programs. We host all our available open software in our Brightspace repository on GitHub.

Technology features

Web 2.0 integrated and decoupled. We’ve based our architecture upon the practices of Web 2.0 and cloud services that permit richly integrated apps, easy configuration, and operational independence. All access to our system is supported through HTTP and HTTPS calls.

ID-key Auth. Our three-legged authentication system ensures that we can transparently support all customer authentication scenarios involving your applications. Also, by ensuring that all API routes into an LMS occur within the acting context of a particular user login, service administrators can be confident that activating your application is a safe and constrained step to take.

REST/JSON standards. As a result of using RESTful APIs and JSON data structures, we provide a broad and well-supported technology base for our platform. You will find many off-the-shelf tools you can use to help simplify your work. Additionally, we provide open-source library wrappers for a number of languages with an emphasis on prioritizing the more sophisticated authentication steps of your application’s interaction with an LMS.

IMS LTI standards. As a result of building our Remote Plugin Service on top of the IMS LTI standard, we provide third-parties with a way to integrate their services with the Learning Service’s user experience in a standardized way incorporating robust, tool-to-tool trust. Additionally, the Remote Plugin Service automates the configuration of the integration for deployment to a variety of Learning Environment extension points (content, org unit homepages) and makes it easy for LTI Tool Providers to provide LTI-defined functionality and extend that functionality using the Brightspace APIs in concert.

Extensibility Areas. Our continually expanding suite of APIs provide access to a variety of technical functionality:

Area

Notes

Org and structural

Retrieve and update organizational structure, course lists, user information, and more

Content

View and create content components and resources for a course

Assignments and grades

Facilitate assignment and assessment-related features

Social

Access to ePortfolio Collections, Artifacts, and activities of electronic portfolios

Current release changes

Our Brightspace ILP in continuous delivery provides the following features and changes since the release of August 2019.

API deprecation and obsolescence. With this release, the versions of our product component API contracts introduced with the following specific product components become (or remain) deprecated. While you can still call the routes in these contracts on the Learning Suites that have historically supported them, you should plan to migrate to the new API contracts available on your back-end service with due priority.

Code

Deprecated API contracts or services

Obsolete API contracts or services

Learning Platform

lp

1.16 to 1.20

1.15 and older

Learning Environment

le

1.24 to 1.27

1.23 and older

Learning Repository

lr

1.1 and older

ePortfolio

ep

2.4 and older

Awards Service

bas

1.0

D2L Web Services (SOAP)

d2lws

all versions

all versions

Warning

API deprecation and obsolescence. We are serving notice that as of the Brightspace 20.20.1 release (projected for January 2020), the API contracts introduced with Learning Suites v10.8 will be deprecated and the API contracts introduced with the Learning Suite v10.7 (and earlier) will become obsolete.

D2LWS end-of-life. We are serving notice that as of the Brightspace 20.20.6 release (projected for June 2020), the obsolete D2L Web Services product will be end-of-lifed and formally removed from our Brightspace releases.

Clients actively using D2L Web Services will be required to switch those usages to our Learning Framework APIs or decommission their code using D2LWS prior to the end of life date. D2L will be contacting those affected to ensure that they have the information necessary to switch away from their use of D2LWS. We understand that time and developer resources will be needed for the change and are therefore providing a longer, more concrete, timeline notice for this product.

For more information on this end of life for D2LWS, please contact your Technical Account Manager or Customer Success Representative.

IE11 support end-of-life. We are serving notice that, as of the Brightspace 20.20.1 release (projected for January 2020), D2L will end-of-life support for the Internet Explorer 11 browser. This will affect users attempting to use applications that use our learning framework applications as they will be unable to use IE11 to complete the user-authentication workflow required for both our ID-key auth and OAuth2.0 authentication systems.

For more information on this end of life for IE11, please contact your Technical Account Manager or Customer Service Representative.

Previous changes. You can find details about previous platform releases on the history topic page.

Versions and migration

All API routes to an LMS component are versioned, and include a version negotiation process. This process allows your applications to gracefully adapt to the product components that a customer has active. Additionally, it lets D2L maintain overlapping API versions in a particular product installation, giving your application’s development a way to transition to new features along with your customers, gradually.

The following table shows the association between various product versions and the Brightspace APIs and services they offer. Each table column shows, for a major LMS platform release version:

  • The earliest and latest supported API contract versions provided either by an individual product component along with that product component’s release version (first four rows), or by the overall Learning Suite release version (ext APIs).

    Where a product component introduces a new API contract with a minor platform release version, this additional support gets noted (for example, LE added the 1.30 API contract as of LMS v10.8.6).

  • The version of support provided by an included service (Remote Plugin service, LTI support).

Suite 20.19

Suite 10.8

Suite 10.7 (legacy)

Learning Platform (lp)

20.19.8+: 1.9* to 1.20*, 1.21 to 1.24
20.19.7: 1.9* to 1.20*, 1.21 to 1.23
20.19.4-6: 1.9* to 1.20*, 1.21 to 1.22

10.8.9+: 1.9* to 1.20*, 1.21 to 1.22
10.8.6-8: 1.9* to 1.20*, 1.21
10.8.0-5: 1.9* to 1.20*

10.7.0+: 1.9* to 1.20*

Learning Environment (le)

20.19.7+: 1.12* to 1.27*, 1.24 to 1.36
20.19.6: 1.12* to 1.27*, 1.24 to 1.35
20.19.5: 1.12* to 1.27*, 1.24 to 1.34
20.19.4: 1.12* to 1.27*, 1.24 to 1.33

10.8.11+: 1.12* to 1.27*, 1.24 to 1.33
10.8.8-11: 1.12* to 1.27*, 1.28 to 1.32
10.8.7: 1.12* to 1.27*, 1.28 to 1.31
10.8.6: 1.12* to 1.27*, 1.28 to 1.30
10.8.5: 1.12* to 1.27*, 1.28 to 1.29
10.8.0-4: 1.12* to 1.27*, 1.28

10.7.0+: 1.12* to 1.27*

Learning Repository (LR)

20.19.4+: 1.2

10.8.0+: 1.2

10.7.0+: 1.2

ePortfolio (ep)

20.19.4+: 2.5

10.8.0+: 2.5

10.7.0+: 2.5

Awards Service (bas)

20.19.7+: 1.0*, 1.1
20.19.4-6: 1.0*

10.8.0+: 1.0*

10.7.0+: 1.0*

Extensibility (ext)

20.19.4+: 1.3

10.8.0+: 1.3

10.7.0+: 1.3

Remote Plugins (rp)

20.19.4+: RP service v1.5

10.8.0+: RP service v1.5

10.7.0+: RP service v1.5

LTI support (lti)

20.19.4+: LTI v1.0 & v1.1.1

10.8.0+: LTI v1.0 & v1.1.1

10.7.0+: LTI v1.0 & v1.1.1

Note

  • Marked with an asterisk (*); as of Suite 20.19.4’s release (April 2019), the API contracts introduced with Learning Suite 10.7 have become deprecated. You should plan to move off these routes with all due priority.

  • As of Suite 20.19.4’s release (April 2019), the API contracts introduced with all versions of the Learning Suite prior to 10.7.0 have become obsolete: they may or may not still be present on your back-end service, and will not receive any support by D2L. You should move off the routes in these contracts immediately and adopt the versions of these routes in newer, supported contracts.

  • Extensibility APIs tie to the overall Learning Suite release version.

  • Remote Plugins tie to the overall Learning Suite release version. Remote Plugin course-builder and widget types were added before the rp product component appeared in a version block, prior to Learning Suite v10.1.0.

    Remote Plugin support indicates the Remote Plugin service version supported by the Learning Suite (that is, the types of Remote Plugin builds supported, and so forth).

  • LTI support indicates the LTI standard version supported by the Learning Suite.

Program features

Tools and community. We intend to provide an expanding list of tools to assist you in developing and managing your relationship with D2L; for example, using our Keytool service you can easily register your application and retrieve the necessary Application ID and Key values you will need to authenticate with an installed LMS.

Additionally, we provide a Developer Community of Practice that supports you in a number of different ways depending on your needs.

Distributing applications with the Partner Program. Our relaunched partner program provides access to all the tools you need for success in deploying and commercializing your application or service, including levels that offer support, training, and partner business plans. For more information on partner benefits, check out our Partner Program home page.

Support

We provide support for Brightspace extensibility through a number of channels, depending upon the nature of your issue or question. See the list of available Support Paths in the Developer Community of Practice site.

«  Brightspace API Reference   ·  [   home  ·   reference  ·   community   ·  search   ·  index   ·  routing table   ·  scopes table   ]   ·  Core concepts  »