ICYMI: FUSION and the D2L Executive Platform Panel

It’s been quiet here on the Valence Developer blog these past few weeks, but there has certainly been a lot of activity within the Valence Developer Community. Let’s get caught up.

The key rallying point for the community this summer was FUSION – D2L’s Global User’s Conference. As we’ve shared in previous blog posts, this year’s conference boasted more extensibility and development-focused content than ever before, mostly centered in the Extensibility Lab. With this expanded developer programming, we saw a significant increase in the number of developers and people in related roles who registered to attend FUSION. This year we met with more than 60 technical folks through breakout sessions, our ever-popular Open Q&A sessions, the new Extensibility Demos event, and the first D2L Executive Platform Panel.

If you weren’t able to attend FUSION, you can get a taste of the experience by watching a recording of the D2L Executive Platform Panel hosted by Laura Brick and (yours truly) Sarah-Beth Bianchi. This panel features John Baker, Nick Oddson, Brian Cepuran and Paul Janzen addressing the topics that have been on the minds of community members since last year’s event – including strategy and roadmap questions – plus a few specific questions from the audience.

Paul Janzen, Brian Cepuran, Nick Oddson at the D2L Executive Platform Panel in the Extensibility Lab at FUSION.

Paul Janzen, Brian Cepuran, Nick Oddson at the D2L Executive Platform Panel in the Extensibility Lab at FUSION.

The activity generated from FUSION has continued in the ValenceUsers forum. We’ve seen new members, more peer support, and many great questions being asked and answered since the conference. Join the forums to start following and participating in those conversations and building on the expertise being shared.

You can also use the forum to share your feedback about your experience at FUSION, or to share your insights into why you might not have attended this year’s conference. Planning for next year’s conference is already underway, so we want to hear from you so that we can plan an event that will be attractive and valuable for community members.


API Versions and You

As D2L moves towards continuous release for its Integrated Learning Platform, the lifecycle for legacy versions of the platform becomes more explicit, and this has a concrete effect on the versions you will be able to use of the Valence Learning Framework API. This blog post provides a simple explanation for what versions of the API will be supported, to what extent, and when that support will end. You can use this information to plan your transition from one version of the Learning Framework API to another.

How the API lifecycle works

To help you understand how the API lifecycle works, it will be good to remember that the API contract provided by the release of a product component is a feature of that release. That is, when we released LE 9.4.1, the LE v1.0 APIs were a feature directly tied to that platform. The support and lifespan of that API feature, then, is directly tied to the support and lifespan of the product component that introduced it.

End of maintenance and deprecation

When the version of a product component enters a time when it gets reduced support, when it reaches “end of maintenance”, it is no longer being actively maintained by D2L. Software defects or other product related issues are not investigated or resolved. No more service packs will be released for that version of the product component.

This also applies to the API contract feature introduced with that product component. When the API contract feature reaches end of maintenance, it becomes deprecated:

  • The APIs in that contract version won’t receive prioritized support or attention by D2L: we may perform maintenance on the API routes, especially in response to critical or security-related issues, but these will get evaluated on a case-by-case basis, and we make no commitment to do the maintenance.
  • You should now put a priority on planning the transition of all your work off the deprecated API contract.

End of support and obsolescence

When the version of a product component enters a time when it gets no support at all, when it reaches “end of support”, D2L will no longer provide support services for the product compoment.

This also applies to the API contract feature introduced with that product component. When the API contract feature reaches end of support, it becomes obsolete:

  • The APIs in that contract version are eligible to have their access entirely removed from the back-end service of all in-market versions of the product component.

That point has an important implication: because the LE v1.0 API introduced on LE 9.4.1 and provided on that platform must remain the same as the LE v1.0 API also supported on LE 10.3.0, when D2L can’t make changes to the LE v1.0 API on LE v9.4.1, the consequence of that is that D2L can’t make changes to that API version anywhere.

What the next ten months looks like

Because of the transition to the continuous release model, the traditional timelines for the lifecycle of D2L’s existing in-market platforms has become accelerated. Here are the important dates you need to know:

Now

As of this moment, both v9.4.1 and v10.0.0 of our Learning Suite are out of maintenance. All other more recent in-market releases are currently receiving full support.

That means that all the API contracts introduced by those platforms are currently deprecated. The principal contracts in question are:

  • D2LWS
  • LE v1.0, v1.1
  • LP v1.0, v1.1
  • EP v2.0, v2.1
  • LR v1.0

August 31, 2014

On August 31 of 2014, two sets of things will happen:

Firstly, v9.4.1 and v10.0.0 of our Learning Suite are out of support. This means that all the API contracts listed in the previous section move fromdeprecated to obsolete, and could get removed from all in-market releases at any time.

Secondly, v10.1.0 and v10.2.0 of our Learning Suite are out of maintenance. This means that all the API contracts that they introduced will become deprecated. The principle contracts in question there are:

  • LE v1.2, v1.3
  • LP v1.2, v1.3
  • EP v2.2, v2.3

January 4, 2015

On January 4 of 2015, the v10.1.0 and v10.2.0 versions of our Learning Suite will pass out of support. At this point, all the API contracts listed in the previous sections will become obsolete.

What this means to you

You should be planning now to move, within the next half a year, from any of these legacy API contracts up to the API contracts introduced with at leastthe v10.3.0 version of the Learning Suite.

Luckily this should not be onerous for you, thanks to D2L’s careful policies around API evolution.

API contracts strive to be supersets. Each successive API contract included, as much as possible, all the API calls from the previously released API contracts. This means that for nearly all your API calls in your integration, all you’ll need to do is increment the API version number in the call to the latest ones provided by your back-end service, and do minimal testing to look for regressions.

API contracts strive to be backwards compatible. All the Learning Framework API contracts released to this point have been minor releases and in nearly all cases have been fully backwards compatible with previous contract versions. Again, you can safely use the latest APIs provided by your back-end service, and do minimal testing to look for regressions.

There are a quite small number of APIs where fixes or improvements have introduced some backward incompatibility; however, even in these cases, the changes have been minimal. You can effectively prepare for your transition.


The Road to FUSION: Extensibility Events to Plan Your Schedule Around

If you haven’t already filled up your FUSION dance card – and even if you have – here are two sessions you’ll want to plan your schedule around.

Extensibility Demos – Tuesday @ 1:30pm – Extensibility Lab

Have you ever wondered what your peers are doing with the Valence Learning Framework APIs, LTI or customization projects at their own institutions? Do you want to pick the brains of folks who have created and used unique tools to address some of the same challenges that you’re facing? Come to this open house event to view demos, learn about the design, development and implementation process behind each solution, and get a sneak peek at the features D2L is working on to make this process even smoother in the future.

D2L Executive Platform Panel – Wednesday @ 8am – Extensibility Lab

Don’t stay out too late after the social event at the Country Music Hall of Fame on Tuesday night. You’re going to want to be in the Extensibility Lab bright and early to join CEO John Baker, VP of Product Development Nick Oddson, and Senior Director responsible for the Partners Program Mike Gruber. Moderated by Laura Brick and yours truly, these executives will address the extensibility strategy and the vision driving the development platform. Whether you’re a technology decision maker, a developer, or just curious about the D2L platform landscape, this session is a unique opportunity to hear from D2L Senior Leadership on topics that matter to you. Bring your questions to this session for an open Q&A period at the end of the panel presentation.

 


The Road to FUSION: D2L Partners

An important part of the extensibility of the Desire2Learn Integrated Learning Platform is the ability to integrate with wide range of solutions available through the Partner Network. At FUSION, many of these Partners will be on hand to demonstrate their solutions and meet with D2L clients – whether it be in the Solutions Central hall or through Partner-led breakout sessions. Arie Sowers of Respondus describes one such session below.

What is your name, role and institution?

Arie Sowers, Senior Product Specialist, Respondus

What is the title of your session?

Protecting the Integrity of Online Tests: LockDown Browser & Respondus Monitor

What is the main focus of your session?

The session focuses on the topics of preventing cheating and ensuring student identity in online tests within Desire2Learn. We provide an overview and live demonstration of LockDown Browser and Respondus Monitor, both of which integrate with Desire2Learn.

Who should attend your session, and how can they expect to benefit from it?

Intermediate to advanced Desire2Learn users or administrators, as well as faculty interested in deterring cheating. They will see a demo of a cost-effective tool that integrates seamlessly with Desire2Learn, learn how it can work with their programs, andhear tips and best practices. Attendees will also hear first-hand from a current user about how Respondus Monitor and LockDown Browser provide a solution for online exam integrity.

What are you most looking forward to about FUSION 2014?

We always enjoy having the chance to connect with our Desire2Learn clients.  And, it is always a great opportunity to meet Desire2Learn users who are new to Respondus.


Client side sample for authentication workflow

The Challenge

The authentication model for the Valence Learning Framework APIs requires a user to log in to the Learning Environment via a browser session. This is a smooth workflow when building a web application, allowing the user to be redirected to the LMS login screen and then back into your app in quick succession. However, if you are building a native application that doesn’t run in a browser, the workflow can feel disjointed and the process for securely retrieving the user tokens can be tricky. Getting your native app to kick off a browser session and then bring the user back to the app following authentication is an important problem to solve.

The Solution

The Client Side sample enables a native app to launch a web session, confirm successful user authentication, pass back the necessary user tokens to the app, and close off the browser session – including closing the tab on supported browsers. When added to your native app, this code shepherd’s the user through the context-switching necessary for authentication to minimize disruption of the user experience.

The Details

When your application comes to a place where user authentication is required – for example, if the app needs to pull new content from a course – the Client Side sample kicks in. The sample opens a browser session to take the user to the LMS login screen and also launches an HTTP Server to listen for the redirect that takes place after authentication is successful. Once the user logs in successfully, the HTTP Server receives the user tokens and passes them back to your application. The sample also sends a call to close the browser tab it opened. Some browsers – like Firefox – don’t allow themselves to be closed via javascript. In that case, the browser displays a message telling the user that it’s safe to close the browser tab. Once the user completes this authentication process, they return to the app and can move forward in an authenticated state.

The Sample

The sample provided is written in C#. To get it working in your environment, you’ll need to configure a few variables.

  • On line 66 of Programs.cs, update the pointer to the LMS. In the sample, it is set to lms.valence.desire2learn.com which is the sample server used by the API Test Tool online sample.
  • On lines 7 and 8 of App.config, update the appId and appKey values to match the values for an app that you register. The values in the sample are the same as the ones found in the API Test Tool, and will only work against the sample LMS associated with that tool.
  • On line 24 of Program.cs, you have the option to change the port the HTTP server uses. As this HTTP Server is running on the local machine,  you won’t need to change the value unless that port is allocated to another process.

Your turn

Give this sample a try in your own client side app and share your feedback in the ValenceUsers forum. If you choose to port this sample to another language, consider contributing it back to the Valence Community so that we can host it in the Desire2Learn-Valence GitHub org.


The Road to FUSION: Sneak Peek Webinar

If you’d like to get an overview of what to expect from the overall conference, check out the Community Webinar happening on Tuesday, June 3rd at 3pm Eastern. At around the halfway mark, Laura Brick will provide an overview of some of the great things we have lined up for the Extensibility Lab. As a bonus, Barry will reveal the details of the major social event happening at FUSION.


The Road to FUSION: D2L-led presentations

At FUSION, D2L staff are leading sessions on several topics related to the Valence development platform and extensibility in general. For example, Laura Brick will be presenting a session based on a popular webinar that we hosted last November. Below, Laura provides a sneak peek of her session.

What is your name, role and institution?

Laura Brick, Senior Partner Marketing Manager, Desire2Learn Incorporated

What is the title of your session?

Finding Value in Valence

What is the main focus of your session?

It is an overview of the possibilities presented by Valence for clients to create unique solutions that solve unique productivity, administration and engagement challenges.

Who should attend your session, and how can they expect to benefit from it?

Instructors with challenges that are preventing them from maximizing time teaching, System Administrators with requests from end users for unique solutions that aren’t currently addressed by other systems, Developers looking for ideas on how to create value within their organization. The overview of Valence combined with examples of success stories will inspire attendees to get creative and leverage the value in Valence to build unique solutions without the need for additional resources or dedicated development teams.

What are you most looking forward to about FUSION 2014?

Connecting with clients and Partners to better understand how the D2L platform can help them provide value on a daily basis. And the country music of course!


Follow

Get every new post delivered to your Inbox.

Join 39 other followers