Skip to content

ateeducacion/elp-validator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eXeLearning Package Validator

A client-side web application that inspects .elp and .elpx (ZIP) packages exported from eXeLearning and highlights common structural issues before publishing.

Features

  • Drag-and-drop interface for .elp, .elpx, or .zip archives.
  • In-browser decompression using JSZip.
  • Sequential checklist that validates:
    • Archive integrity and presence of the manifest (content.xml or legacy contentv3.xml).
    • Recommended resource directories (content/, custom/).
  • XML well-formedness and root <ode> element.
  • Navigation structure, page presence, and mandatory node fields.
  • Referenced resources inside htmlView and jsonProperties blocks.
  • A package details panel that surfaces title, author, language, license, and other metadata from modern and legacy manifests.
  • No server required — all processing happens locally in the browser.

Getting Started

  1. Open index.html in a modern browser. No build step is required.
  2. Drop an .elp, .elpx, or .zip file onto the drop zone or click it to choose a file.
  3. Review the validation checklist to understand any warnings or errors.

Development

Install dependencies and run the Jest test suite:

npm install
npm test

Tests focus on the reusable validation helpers that power the UI.

Run a local server (debug)

You can serve the static files with a tiny built-in dev server for easier debugging (auto MIME types, no caching):

npm run start

By default it listens on http://localhost:8081.

Then open the printed URL in your browser and drag an .elp, .elpx, or .zip file onto the page.

Project Structure

index.html        # Application shell
styles.css        # Styling for the UI
js/validator.js   # Shared validation helpers (browser + Jest)
js/app.js         # UI glue code
tests/            # Jest unit tests