What is OneRoster?

The OneRoster standard from 1EdTech Consortium (formerly, the IMS Global Learning Consortium – the same organization responsible for the LTI standard). OneRoster is designed to provide a standardized method of transferring SIS data between two OneRoster-compliant systems. This data includes information such as the names and email addresses of students and teachers, course data, enrollments, and grades.

The OneRoster 1.1 specification was developed as a subset of the Learning Information Services (LIS) standard, designed specifically for K12. Platforms that support the OneRoster standard do so through the OneRoster API and/or standardized CSV files.

Roster Server is ClassLink's implementation of a OneRoster server. Schools that work with ClassLink will install Roster Server as a virtual server on their network or in the cloud. School administrators then either directly connect their SIS to Roster Server through the OneRoster API or upload CSV templates into Roster Server that are formatted in the OneRoster specification.

When school administrators connect to an application on ClassLink, the school's Roster Server will export the school’s enrollments to the application through the OneRoster standard. Though it's not required, many applications will use this data through ClassLink Launchpad in order to provision accounts for users and enable single sign-on.

Launchpad is an SSO application developed by ClassLink. Launchpad acts as a portal that school admins can set up so their students and teachers can access multiple apps with a single set of credentials.

Users log into ClassLink Launchpad using a variety of methods, including an email address and password combination, Google account, and SAML through Microsoft Active Directory.

Most schools that use Launchpad have a custom subdomain that is customized for their users. When users access the custom subdomain, they will only see sign-in options that are relevant to their school. Typically, launchpad connects to a school's Roster Server. Launchpad then provisions accounts through OneRoster as any other application would. Note that school admins can also add users to their school's Launchpad portal who are not included in the school's OneRoster data.

When a user clicks on an application's icon in Launchpad, it usually initiates the OAuth 2.0 process with the app. Launchpad sends the user to the app (to the URL that was specified) with an authorization code. The app then exchanges the authorization code for tokens to know who the Launchpad user is. Note that the app does not see a school's OneRoster data when a user signs in through Launchpad; the app only sees the user's Launchpad data. This can be a problem if the app needs to know where the user is coming from (e.g. which school or district they belong to).

ClassLink has a property on the user object, called SourceID. This property can be null or a string. If the SourceID is null, the user was not imported from OneRoster, which means that developers can't determine where the user came from. If the SourceID is set, then it isn’t known that the user is tied to a record in the school's OneRoster data. Edlink apps that integrate with ClassLink require that schools support OneRoster (i.e. the SourceID must not be null when a user comes from Launchpad).

Once SSO with ClassLink Launchpad has been implemented and/or rostering from OneRoster, developers can schedule a time with ClassLink to become certified. Once certified, apps will show up in the main library and it becomes easier for administrators to install the app.

During the certification process, ClassLink will grant developers access to a test district and confirm that the app is working as expected. The ClassLink certification team will ask developers a number of questions about edge cases that the app might encounter (e.g. if users can be in multiple classes or multiple schools). This certification process takes about one hour and is with a number of members from the ClassLink certification team.


If you’re interested to learn more about LTI and Schoology here’re other articles we’ve written:

If you're looking for a partner who can help guide you through developing LMS integrations (like these), then let’s introduce ourselves. We’re Edlink!