SDK Overview & Installation

The Woolf SDK enables real-time tracking of student activities within your LMS, ensuring compliance with Woolfโ€™s Academic Management System (AMS). The SDK automates the capture of educational events - such as resource consumption, attendance, submissions, and gradingโ€”and synchronizes them with Woolfโ€™s accreditation workflows.


Key Capabilities

  • Tracks resource consumption across PDFs, videos, markup, and other media
  • Captures assignment submissions and meeting attendance with verifiable evidence
  • Synchronizes grades and feedback from teachers with AMS records
  • Signs events in real time to support compliance and verification
  • Provides secure, extensible access via a modern JavaScript client
๐Ÿ’ก All events require correct user context. Authorize the SDK using a User Token to track actions reliably.

Supported Environments

The SDK and API work across multiple deployment environments:

Environment Env Key Purpose
university env: "university" Production environment for live data
sandbox env: "sandbox" Testing environment with test tokens and data
engineering env: "engineering" Internal environment for engineering builds
local env: "local" Localhost and development usage

Installation Options


Generating a User Token

Each user must be authenticated using a User Token signed with your College Secret.

import jwt from "jsonwebtoken";

const COLLEGE_SECRET = "YOUR_SECRET_KEY";
const token = jwt.sign({
  id: "USER_ID",
  collegeId: "COLLEGE_ID"
}, COLLEGE_SECRET);

console.log("User Token:", token);

You can also generate tokens using the API:

 
๐Ÿ” Do not expose your College Secret in frontend code. Always sign tokens on the server.

After Initialization

  • The woolf.user object becomes available for accessing user profile data.
  • The woolf.widget interface allows programmatic control of onboarding and dashboard flows.
  • Use methods like woolf.trackSubmission, trackAttendance, trackGrade, and trackFeedback to log events.
  • The SDK emits a woolf:created event on successful initialization.

Explore More