LMS setup guides
Each guide starts in LearnHouse under Developers → LTI. Menu names are from the LMS versions we test against.
| LMS | Tested version | Setup | Deep linking | Grades | Class list |
|---|---|---|---|---|---|
| Moodle | 5.0 | Registration URL | Yes | Yes | Yes |
| Canvas | 2026 releases | Registration URL | Yes | Yes | Yes |
| Open edX | Verawood | Manual, per block | Yes | Yes | Yes |
| Sakai | 25 | Registration URL | Yes | Yes | Yes |
| ILIAS | 11 | Manual or registration URL | Yes | Yes | Not supported by ILIAS |
| Chamilo | 1.11 | Manual | Yes | Yes | Yes |
| OpenOLAT | 21 | Manual | Yes | Yes | Yes |
Content and assignments per LMS
Every LMS above can open all LearnHouse content types and receives assignment grades. What differs is how many items one selection can add and what the LMS does with the gradebook column.
| LMS | Items per selection | Assignment while waiting for grading | Due date from LearnHouse |
|---|---|---|---|
| Moodle | Several (one activity each) | Comment “Submitted — waiting for grading” | No |
| Canvas | Several from Modules → Add item → External Tool; one from an assignment’s submission type | “Needs grading” | Yes, and later LearnHouse changes follow |
| Open edX | One per LTI block | Pending | No |
| Sakai | One per Add Learning App | Comment “Submitted — waiting for grading” | No |
| ILIAS | One per LTI Consumer object | No score yet | No |
| Chamilo | Several (one tool each) | No score yet | No |
| OpenOLAT | Several in one LTI page element | No score yet | No |
Moodle
- In LearnHouse, enter a name and click Connect with a registration URL.
- In Moodle, go to Site administration → Plugins → Activity modules → External tool → Manage tools, paste the URL in Tool URL and click Add LTI Advantage.
- Moodle shows the new tool as Pending. Click Activate.
- Optional: edit the tool and set Default launch container to New window.
- Teachers add an External tool activity, pick LearnHouse and click Select content.
Moodle blocks outgoing requests to private network addresses by default. If LearnHouse runs on a private network, remove its address from Site administration → General → Security → HTTP security → cURL blocked hosts list.
Canvas
- In LearnHouse, click Connect with a registration URL.
- In Canvas, go to Admin → Developer Keys → + Developer Key → LTI Registration, paste the URL and continue.
- Review the permissions and placements (Link Selection and Assignment Selection), then click Enable & Close.
- Install the tool in a course or account: Settings → Apps → + App → By Client ID.
- Teachers create an assignment with Submission type: External Tool → Find → LearnHouse to get a graded assignment. To add several items at once, use Modules → + → External Tool → LearnHouse instead: Canvas creates a graded assignment for each gradable item, with the LearnHouse due date. Due date and title changes made in LearnHouse later are copied to the Canvas assignment either way.
Every Canvas instance uses the issuer https://canvas.instructure.com. The client ID LearnHouse needs is the developer key’s ID as shown in Canvas (the long form, e.g. 10000000000003).
Open edX
Open edX creates a separate LTI registration for each LTI block, so add one platform in LearnHouse per block.
- In LearnHouse, click Add manually and keep the page open.
- In Studio, add
"lti_consumer"to Settings → Advanced Settings → Advanced Module List. - Add Advanced → LTI Consumer to a unit and edit it:
- LTI version: LTI 1.3
- Tool launch URL, Tool initiate login URL, Registered redirect URIs: from LearnHouse
- Tool public key mode: Keyset URL, then the LearnHouse public keyset URL
- Deep linking: enabled, with the LearnHouse deep linking URL
- Assignment and Grades Service: Allow tools to manage and submit grades (programmatic)
- Names and Role Provisioning: enabled; Scored: yes
- Save. The block now shows Client ID, Deployment ID, Keyset URL, Access Token URL and Login URL. Copy them into LearnHouse. The issuer is your LMS root URL.
- Publish the unit, then click Deep Linking Launch – Configure tool in Studio to pick LearnHouse content.
To send names and emails, enable the course in Django admin under LTI Consumer → Course allow PII sharing in LTI flags and tick the request username / full name / email options on the block.
Sakai
- In LearnHouse, click Connect with a registration URL.
- In Sakai, go to Administration Workspace → External Tools → Install LTI Tool, enter a title and continue.
- Click Use LTI Dynamic Registration, paste the URL and click Begin Configuration.
- Sakai fills in the form. Review it: tick LTI 1.3, the Resource Link and Deep Link options, the placements you want (Lessons, assignments, site navigation), sending names and emails, returning grades, creating grade columns and providing the roster. Then Save.
- Teachers add it from Lessons → Add Content → Add Learning App.
ILIAS
- In LearnHouse, click Add manually.
- In ILIAS, go to Administration → LTI → ILIAS as LTI Consumer → Add Global Provider for all Users:
- Availability: For Creating Objects; LTI version 1.3
- Launch URL, Initiate Login URL, Redirection URI: from LearnHouse
- Public key type: URL (Json Web Token), then the LearnHouse public keyset URL
- Support for Deep Linking with the LearnHouse deep linking URL as Content URL
- Assignment and Grade Services and Provider supports Outcome Service
- User identification: E-Mail Address, user name: Entire name
- Save and open the provider again. Copy the Platform ID, Client ID, Deployment ID, Public keyset URL, Access token URL and Authentication request URL into LearnHouse.
- Teachers add LTI Consumer → LearnHouse to a course and select content.
ILIAS 11 also accepts a registration URL when a user creates “own settings” for a tool with dynamic registration.
Chamilo
- In LearnHouse, click Add manually.
- In Chamilo, enable the IMS/LTI client plugin under Administration → Plugins, then open Administration → IMS/LTI → Add external tool:
- LTI version 1.3, Launch URL, Login URL and Redirect URL from LearnHouse
- Public key type: RSA key, and paste the LearnHouse public key (Chamilo 1.11 ignores the keyset URL when receiving deep links)
- Deep linking: enabled; Assignment and grades service: full; Names and Role Provisioning: enabled; share name and email
- Open the tool’s settings to copy Platform ID, Client ID, Deployment ID, OIDC Auth URL, OAuth2 Access Token URL and Keyset URL into LearnHouse.
- Teachers open IMS/LTI in their course and click Configure on LearnHouse to pick content.
Chamilo 1.11 only shares the class list on launches by teachers, and needs the course gradebook to exist before grades can be stored. Open the course’s Assessments tool once before learners start.
OpenOLAT
- In LearnHouse, click Add manually.
- In OpenOLAT, go to Administration → External tools → LTI, enable Module LTI 1.3, then External tools → Create a new tool: tool URL, initiate login URL and redirection URI from LearnHouse, public key type URL with the LearnHouse keyset URL.
- Edit the tool, turn on Activate Deep-Linking, and copy Client ID, Deployment ID, Platform ISS, Login URI, Token URI and JWK Set URI into LearnHouse.
- In a course, add an LTI page element, choose the LearnHouse tool, click Select content, enable Transfer score, and publish the course.