A robust, modular library for parsing and validating eLearning module manifests in industry-standard formats such as SCORM 1.2, SCORM 2004, AICC, and cmi5. This library is designed to help developers integrate eLearning content into Learning Management Systems (LMS) and other platforms.
- Manifest Parsing: Supports SCORM 1.2, SCORM 2004, AICC, and cmi5 manifest file parsing.
- Validation: Detects missing or invalid files and ensures compliance with the specifications.
- Lightweight: Minimal dependencies with optional support for AWS S3 (SDK v1 or v2) module handling.
- Java 17 or higher
- Gradle 7.0+ (or Maven equivalent)
implementation("dev.jcputney:elearning-module-parser:0.0.5")
<dependency>
<groupId>dev.jcputney</groupId>
<artifactId>elearning-module-parser</artifactId>
<version>0.0.5</version>
</dependency>
import dev.jcputney.elearning.parser.parsers.Scorm2004Parser;
import dev.jcputney.elearning.parser.api.LocalFileAccess;
import dev.jcputney.elearning.parser.output.ModuleMetadata;
public class Main {
public static void main(String[] args) {
String modulePath = "path/to/scorm2004/module";
Scorm2004Parser parser = new Scorm2004Parser(new LocalFileAccess());
ModuleMetadata metadata = parser.parse(modulePath);
System.out.println("Title: " + metadata.getTitle());
System.out.println("Version: " + metadata.getVersion());
}
}
import dev.jcputney.elearning.parser.parsers.Cmi5Parser;
import dev.jcputney.elearning.parser.api.ZipFileAccess;
public class Main {
public static void main(String[] args) {
String modulePath = "path/to/cmi5/";
Cmi5Parser parser = new Cmi5Parser(new ZipFileAccess(modulePath + "module.zip"));
ModuleMetadata metadata = parser.parse(modulePath);
System.out.println("Course ID: " + metadata.getIdentifier());
}
}
Format | Features | Status |
---|---|---|
SCORM 1.2 | Manifest parsing, resource validation | 🚧 In Progress |
SCORM 2004 | Manifest parsing (all editions), sequencing, objectives | 🚧 In Progress |
AICC | INI-based parsing for .crs, .des, .au, .cst, prerequisites, assignable units | 🚧 In Progress |
cmi5 | XML-based manifest parsing, objectives, blocks, and assignable units | 🚧 In Progress |
Clone the repository:
git clone https://github.dev/jcputney/elearning-module-parser.git
cd elearning-module-parser
Build the project:
mvn clean compile
Run tests:
mvn test
You can find sample eLearning modules in the resources/modules
directory for testing.
We welcome contributions! Please read our Contributing Guidelines and Code of Conduct for details on how to participate in this project.
This project is licensed under the LGPL v3.0 License. See the LICENSE file for details.