Skip to content

Sakai LMS — Codebase Overview

Repository

FieldDetail
GitHubsakaiproject/sakai
Stars1,207
Forks1,009
LicenseECL-2.0 (Educational Community License)
Primary LanguageJava (55.8M lines), HTML, JavaScript, SCSS
Created2014 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

VersionStatus
25.1Current stable (released November 2025)
25.0Stable (released June 2025)
23.4Previous maintenance

Recent Development Activity

Sakai is actively maintained with regular commits. Recent sample commits (March 2026):

  • SAK-52426 Samigo handle empty notification property on user
  • SAK-52310 Samigo batch student list lookups
  • SAK-52402 Kernel warn if Tomcat parse error truncates multi-part requests
  • SAK-52034 Notifications should only fire when opened
  • SAK-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

Schema Education — Internal Research