
OneRoster TypeScript: a practical base for open source ed products
A first look at LongsightGroup/oneroster, an MIT licensed TypeScript package for OneRoster 1.2 CSV parsing, validation, diagnostics, and package writing.
Technical notes, implementation evidence, and institutional lessons from open-source education software.

The 0.3.0 release of @longsightgroup/oneroster adds REST clients and provider tools to its tested OneRoster CSV foundation.

A first look at LongsightGroup/oneroster, an MIT licensed TypeScript package for OneRoster 1.2 CSV parsing, validation, diagnostics, and package writing.

qti3 0.9.5 adds candidate-safe XML, server-side submissions, PNP resolution, package inspection, conformance fixtures, accessibility proof metadata, and a style-neutral Web Component player.

How CredTrail signs Open Badges 3.0 credentials with W3C Data Integrity, Ed25519, did:web, and Multikey.

A strict TypeScript QTI 3 runtime and native Web Component player with typed models, response processing, scoring, saved state, fixtures, and Playwright-tested rendering.
QFlow gives institutions one workflow to import, edit, validate, preview, and export QTI assessment content.

February’s Sakai patches address grading edge cases, quiz behavior, and smaller usability problems.

Digital credentials need an institution-controlled service that preserves issuer identity, proof, status, and portability after a course ends.

January’s Sakai patches address grading workflows, collaboration tools, and administration in the 25.x and 23.x lines.

Our newer Sakai end-to-end suite lives in Playwright, so accessibility checks belong there too. Here is how we pair keyboard-first workflow tests with axe scans in a Java-based Playwright harness.

December’s Sakai patches address grading, authoring, and integrations in the 25.x and 23.x lines.
We replaced Wicket SJAX with Spring REST, added site-to-site import, and explain why SCORM 2004 remains our supported standard.

October fixes for Assignments, Discussions, course home, Lessons, and notification behavior across the 23.x and 25.x lines.
What it took to move Samigo authoring views from JSP to Facelets and why it matters for the JSF 4 path.

Visible Sakai 25.x fixes across Assignments, Gradebook, Lessons, Tests & Quizzes, Resources, and course administration.

Sakai Lessons now imports Canvas QTI packages with native translators, hardened XML parsing, and clearer diagnostics for admins.

Implementation notes for cross-platform Sakai push notifications, including iOS Safari Web Push requirements, VAPID setup, service workers, and delivery edge cases.

What Sakai developers learned from JAWS and NVDA event handling, and how that changes accessibility testing.

Caddy can make reverse proxy and Tomcat load-balancing setups shorter, easier to maintain, and secure by default.

Run axe checks inside Cypress so accessibility regressions fail locally and in CI before they reach users.

How Sakai uses Lit web components to keep LMS interface code smaller, reusable, and easier to share across tools.

Run Cypress end-to-end tests in GitHub Actions so pull requests catch regressions before they reach production.