Recommended Integration Path
Assuming that you know you want to work with Edlink and you've taken some time to understand your own product needs, here's the best way to get started with Edlink (at least in our opinion).
Break the Project Into Phases
Before writing any code, it's important to break the project into phases. This will make the project much more manageable and will help you ship faster. In general, we recommend shipping your integration in parts to start providing value to your users as quickly as possible (and receiving important product feedback in return).
Planning Your Integration
Check out the Planning Your Integration
section of our documentation for more details. Here are a few highlights:
- Understand Edlink's data model and how it maps to your own.
- Read our document on design decisions to understand other "gotchas" you might encounter.
- Remember that not all providers are identical. We do our best to make our API generic, but you may need to consider differences between providers.
- Edlink's models are pretty generic and might make sense for you whether or not you're using Edlink, feel free to copy them if you do not yet have your own models.
Develop an SSO & Roster Integration
Virtually all Edlink integrations begin with SSO and rostering. We general suggest this first because it is typically a prerequisite for other functionality like assignments and grades.
- Consider how you will roster people and classes (via the Graph API or User API).
- Will you sync on a schedule or in real-time?
- What controls will users have over the sync process, if any?
We typically recommend that you ship your SSO & roster integration to your users as soon as it's done.
Build Your Course & Gradebook Integration
We almost always recommend that you focus on coursework and gradebook integration last. Not only is it the most complex, but it's also the most likely to change as you get feedback from your users.
- Start simple. Consider only supporting the most basic features at first such as passing assignment links into the LMS and syncing numeric grades.
- If you want to expand to more complex features such as LTI 1.3, consider doing so in a separate phase after you've shipped a basic integration.