Sakai LMS — Codebase Overview
Repository
| Field | Detail |
|---|---|
| GitHub | sakaiproject/sakai |
| Stars | 1,207 |
| Forks | 1,009 |
| License | ECL-2.0 (Educational Community License) |
| Primary Language | Java (55.8M lines), HTML, JavaScript, SCSS |
| Created | 2014 on GitHub (project dates to 2004) |
Tech Stack
- Backend: Java (Spring Framework, Hibernate ORM)
- Application Server: Apache Tomcat
- Database: MySQL/MariaDB, Oracle, Microsoft SQL Server
- Frontend: JavaScript, Vue.js (newer tools), Handlebars templates, SCSS
- Build: Apache Maven (multi-module project)
- APIs: REST APIs, LTI 1.1/1.3 support
- Standards: LTI, SCORM, IMS Common Cartridge, QTI
- Search: Elasticsearch
- Other: Perl (legacy scripts), XSLT, PL/SQL
Architecture Highlights
- Large Java monolith organized as a Maven multi-module project
- Spring Framework for dependency injection and service layer
- Hibernate for ORM / database abstraction
- Tool-based architecture: each learning tool (Assignments, Tests & Quizzes, Forums, etc.) is a semi-independent module
- Sakai Kernel provides core services (user management, site management, content, events)
- Entity Broker for RESTful API access to tools
- Runs as a web application deployed in Tomcat
Current Versions
| Version | Status |
|---|---|
| 25.1 | Current stable (released November 2025) |
| 25.0 | Stable (released June 2025) |
| 23.4 | Previous maintenance |
Recent Development Activity
Sakai is actively maintained with regular commits. Recent sample commits (March 2026):
SAK-52426 Samigo handle empty notification property on userSAK-52310 Samigo batch student list lookupsSAK-52402 Kernel warn if Tomcat parse error truncates multi-part requestsSAK-52034 Notifications should only fire when openedSAK-52420 Samigo images in calculated questions are not imported
Development uses a Jira-based tracker (SAK-xxxxx issue keys).
Sakai 25.0 Key Features
- Microsoft 365 Integration: New Microsoft Admin Tool for group/user synchronization, Teams integration via new Meetings tool, Collaborative Documents, OneDrive, and Stream integrations
- Rubrics improvements: Admin control over public rubrics, group submission rubric grading support
- Tests & Quizzes enhancements:
- Safe Exam Browser (open-source lockdown browser) integration
- Question pool export
- Improved event log UI
- Markup text editor with HTML formatting support
- Random draw from multiple pools
- Time limit per question or page
- Improved grading navigation
Key Technical Characteristics
- Java ecosystem: Enterprise-grade, runs on standard Java application servers
- Apereo Foundation governance: Community-driven open-source project under Apereo
- Higher education focus: Designed by educators for educators, primarily used in universities
- Mature tool set: Assignments, Tests & Quizzes (Samigo), Forums, Gradebook, Lessons, Resources, Announcements, Calendar, Chat, Wiki, Roster
- Internationalization: Multi-language support
- Accessibility: Strong VPAT/accessibility compliance tradition
Development Governance
- Governed by the Apereo Foundation
- Community-driven development with institutional contributors (universities contributing developer time)
- Release cycle roughly annual for major versions with maintenance releases
- Core development community is smaller than Moodle or Canvas but dedicated, primarily from higher education institutions