Developer Platform (August 2017)

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) which 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 as of August 2017.

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.5 to 1.8 1.4 and older
Learning Environment le 1.5 to 1.11 1.4 and older
Learning Repository lr   1.1 and older
ePortfolio ep   2.4 and older
D2L Web Services (SOAP) d2lws all versions  

Warning

We are serving notice that as of the Learning Suite 10.7.0 release (in April 2017), the API contracts introduced with the Learning Suites v10.4 and v10.5 will be deprecated and the API contracts introduced with the Learning Suite v10.3.0 (and earlier) will be obsolete.

Learning Environment. Version 10.7.3 of the Learning Environment includes these improvements:

  • As of the v1.25 API contract, content topics and modules described in the table of contents structure now use an IsHidden property to indicate their visibility to the calling user.
  • As of the v1.25 API contract, learning activities can be exempt from being graded, and this status appears in the APIs and structures around content topics.

Learning Platform. Version 10.7.4 of the Learning Platform includes these improvements:

  • As of LP API v1.18, the route to retrieve group category data for an org unit, by group category ID, no longer erroneously includes section property data as it previously did.
  • As of LP API v1.18, the routes to list and download data sets have been promoted to a stable version and the report info structure has been modified to include data set version information.

Version 10.7.3 of the Learning Platform includes these improvements:

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.14 API contract as of LMS v10.6.3).

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

  Suite 10.7 Suite 10.6 (legacy) Suite 10.5 (legacy) Suite 10.4 (legacy)
Learning Platform (lp) 10.7.4+: 1.5* to 1.8*, 1.9 to 1.18
10.7.3: 1.5* to 1.8*, 1.9 to 1.17
10.7.2: 1.5* to 1.8*, 1.9 to 1.16
10.7.0-1: 1.5* to 1.8*, 1.9 to 1.15
10.6.7+: 1.5* to 1.8*, 1.9 to 1.15
10.6.6: 1.5* to 1.8*, 1.9 to 1.14
10.6.5: 1.5* to 1.8*, 1.9 to 1.13
10.6.4: 1.5* to 1.8*, 1.9 to 1.10
10.6.3: 1.5* to 1.8*, 1.9 to 1.10
10.6.2: 1.5* to 1.8*, 1.9 to 1.10
10.6.1: 1.5* to 1.8*, 1.9
10.6.0: 1.5* to 1.8*
10.5.5+: 1.5* to 1.8*
10.5.4: 1.5* to 1.7*
10.5.3: 1.5* to 1.6*
10.5.0-2: 1.5*
10.4.0+: 1.5*
Learning Environment (le) 10.7.3+: 1.5* to 1.11*, 1.12 to 1.26
10.7.0-2: 1.5* to 1.11*, 1.12 to 1.24
10.6.11+: 1.5* to 1.11*, 1.12 to 1.23
10.6.10+: 1.5* to 1.11*, 1.12 to 1.22
10.6.9+: 1.5* to 1.11*, 1.12 to 1.21
10.6.8: 1.5* to 1.11*, 1.12 to 1.20
10.6.7: 1.5* to 1.11*, 1.12 to 1.19
10.6.6: 1.5* to 1.11*, 1.12 to 1.18
10.6.5: 1.5* to 1.11*, 1.12 to 1.15
10.6.4: 1.5* to 1.11*, 1.12 to 1.14
10.6.3: 1.5* to 1.11*, 1.12 to 1.14
10.6.0-2: 1.5* to 1.11*, 1.12
10.5.7+: 1.5* to 1.11*
10.5.6: 1.5* to 1.10*
10.5.5: 1.5* to 1.9*
10.5.4: 1.5* to 1.8*
10.5.3: 1.5* to 1.7*
10.5.2: 1.5* t0 1.6*
10.5.0-1: 1.5*
10.4.3+: 1.5*
Learning Repository (LR) 10.7.0+: 1.2 10.6.0+: 1.2 10.5.0+: 1.2 10.4.8+: 1.2
ePortfolio (ep) 10.7.0+: 2.5 10.6.0+: 2.5 10.5.0+: 2.5 10.4.0+: 2.5
Extensibility (ext) 10.7.0+: 1.3 10.6.0+: 1.3 10.5.0+: 1.3 10.4.0+: 1.3
Remote Plugins (rp) 10.7.0+: RP service v1.5 10.6.0+: RP service v1.5 10.5.0+: RP service v1.4 10.4.0+: RP service v1.4
LTI support (lti) 10.7.0+: LTI v1.0 & v1.1.1 10.6.0+: LTI v1.0 & v1.1.1 10.5.0+: LTI v1.0 & v1.1.1 10.4.0+: LTI v1.0 & v1.1.1

Note

  • The Learning Environment product component released API contracts v1.16 through v1.18 with Brightspace release v10.6.6.

  • The Learning Platform product component released API contracts v1.11 through v1.13 with Brightspace release v10.6.5.

  • The Learning Environment product component released both API contracts v1.13 and v1.14 with Brightspace release v10.6.3.

  • The subsequent release after Suite 10.5.6 is 10.6.0.

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

  • As of Suite 10.7.0’s release (April 2017), the API contracts introduced with all versions of the Learning Suite prior to 10.4.10 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.

  • 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  »