What are Extensions?

An it's learning Extension is a web application that can be plugged into it's learning and make use of one of the APIs that we provide. As an Extension developer you can create tools for teachers and students to use in their courses or create plug-ins for our teachers for our rich text editor.

To learn more about tools and plugins please choose from the menu.

Release progress

The it's learning application SDK is currently in beta. Our goal is to release this April 15th 2010. If your application is ready by April you will be invited to be part of the marketing campaign, and your application will be released together with the next generation of it's learning to millions of users worldwide.

If you want to discuss commercial distribution and marketing of your application, please contact our Business Developer Roger Stjernberg at  roger.stjernberg@itslearning.com.

Getting started guide

Register as a developer

  1. Fill out this registration form to get access to it's learning as a developer
  2. You will receive 5 test user accounts, 1 teacher account and 4 student accounts (these may not be sent before the next business day, so please have some patience)
  3. Log in with your teacher user, you will have access to a course called "Developer course". Navigate to this course either from the start page or from the "Courses" tab in the top menu.
  4. In the "Developer course" there is a forum that can provide useful information, also known bugs will be listed here.
  5. In the top menu you can find the link "Developer portal", click this and proceed to "Registering your application in it's learning" (use your teacher account for this)

Registering your application in it's learning

Type of application should be considered carefully as you cannot change it later (you will have to register a new application), and you should consider if your application should support sharing or not. We strongly recommend that you make support for sharing, read more about sharing.

img

  1. On the Developer portal page click "Add a new application" link. The "Add application" page will appear.
  2. Enter the application name and description and upload icons for your application. Enter a default name for instances (such as "New test"). New instances will have this name in the it's learning tree menu when they are created.
  3. Enter URLs for adding and viewing instances. When a teacher adds your application to a course he is first taken to the add page. After that, teacher and students are taken to the view page.

URLs can contain parameters with static values, standard parameters will be added to these URLs, so you do not have to enter them here. Example: if you enter the URL https://www.MyItslearningApp.com/add.aspx for adding a new instance, the request sent to this page will be something like:

https://www.MyItslearningApp.com/add.aspx/add.aspx?ApiSessionId=xnuuhn2nd3qxvvbrc0svmqmk&LearningObjectId=100091&LearningObjectInstanceId=100091&Version=LatestOrDraft&UserId=13&WindowsTimeZoneId=GMT%20Standard%20Time&OlsonTimeZoneId=Europe/London&FirstName=Bent%20Audun&LastName=Hesvik&Locale=en-GB&Language=en-GB&Use12HTimeFormat=False&Accessibility=False&Permissions=Read,%20Participate,%20Evaluate,%20Modify&Timestamp=2009-04-07T06:58:41&Signature=621e2b0e2a306bd79dfbd7d01379495d

The ApplicationKey and shared secret values are displayed on the bottom of the page. You have to save these values in your application code or configuration file and use them to create authorization header that is used for communicating with the it's learning rest api.

Creating project and configuring your application

Microsoft Visual Studio .NET

  1. Use the template project provided in the SDK.
  2. Paste the application key and shared secret into the web.config and basepage.cs. You can search for "WRITE YOUR APPLICATION KEY HERE" and "WRITE YOUR SHARED SECRET HERE".
  3. Happy coding :)

For other IDEs

  • Create a new Web application
  • Make references to the it's learning rest api
  • Use the application key and shared secret

Rest API urls

start url: https://betarest.itslearning.com/Restapi/LearningObjectService.svc

HTTP method relative web service URL C# SDK function (found in LearningObjectServiceClient) Description
[GET] /learningObjects/{learningObjectId}/instances/{instanceId} GetLearningObjectInstance get instance of learning object instance
[PUT] /learningObjects/{learningObjectId}/instances/{instanceId} UpdateLearningObjectInstance update instance of learning object instance
[GET] /learningObjects/{learningObjectId}/instances/{instanceId}/PossibleAssessments GetPossibleAssessments get possible assessments for learning object instance
[GET] /learningObjects/{learningObjectId}/instances/{instanceId}/AssessmentItems GetAssessmentItems get assessment items that can be used for evaluating on an learning object instance
[GET] /learningObjects/{learningObjectId}/instances/{instanceId}/PossibleAssessmentStatuses GetPossibleAssessmentStatuses get possible assessment statuses for a learning object instance
[GET] /learningObjects/{learningObjectId}/instances/{instanceId}/AssessmentStatusItems GetAssessmentStatusItems get assessment status items that can be used for setting status on learning object instance
[GET] /learningObjects/{learningObjectId}/instances/{instanceId}/Reports GetLearningObjectInstanceUserReports get reports (assessment etc) for users with access to learning object instance
[POST] /learningObjects/{learningObjectId}/instances/{instanceId}/Reports UpdateLearningObjectInstanceUserReports update reports (assessment etc) for users with access to learning object instance
[GET] /learningObjects/{learningObjectId}/instances/{instanceId}/Reports/{userId} GetLearningObjectInstanceUserReport get report (assessment etc) for user with access to learning object instance
[PUT] /learningObjects/{learningObjectId}/instances/{instanceId}/Reports/{userId} UpdateLearningObjectInstanceUserReport update report (assessment etc) for user with access to learning object instance

Using the Rest API

Please download the SDK and have a look at the class SampleRestApiClient in the template project. There are two helpful methods here:

  • CallRestApiUsingProxyClass (wrapper if using .net)
  • CallRestApiUsingHttpRequest (step by step in c# with comments what needs to be done)

Also have a look at the class SampleCommunicationHelper.