Skip to content

Commit aceaddb

Browse files
committed
new blog: liaex evolution
1 parent 54a5989 commit aceaddb

File tree

3 files changed

+173
-0
lines changed

3 files changed

+173
-0
lines changed

assets/images/post/098_banner.png

1.81 MB
Loading

assets/images/post/liaex-app.png

50 KB
Loading
Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
---
2+
title: "LiaEx: From CLI Tool to Full Export Platform"
3+
date: 2026-03-26
4+
draft: false
5+
image: "/images/post/098_banner.png"
6+
tags: ["OER", "Funding", "BMBFSFJ", "LMS", "Exporter", "SCORM", "xAPI", "Accessibility", "Desktop", "Web"]
7+
categories: ["News", "Feature"]
8+
author: "Jihad Hyadi"
9+
description: "As the LiaEx funding sprint draws to a close, here is an overview of what was built: a new desktop app, a web UI, xAPI support, ePub/DOCX export, a GitHub Action, and much more."
10+
---
11+
12+
Back in October 2025, we [announced that LiaEx had received funding](../094_liaex-funding-for-the-liascript-exporter) through the [OE_Sprints](https://www.oer-strategie.de/foerdern/foerderrichtlinien/oe_sprints/) program of the German Federal Ministry for Family Affairs, Senior Citizens, Women and Youth (BMBFSFJ). With the project period running from October 15, 2025 to April 14, 2026, the sprint is now in its final stages — and this post provides an overview of the key developments completed so far.
13+
14+
**Project Period:** October 15, 2025 – April 14, 2026
15+
**Funding Code:** 01PZ25002
16+
17+
### Overview
18+
19+
The primary objective was to evolve the LiaScript-Exporter from a capable but CLI-only tool into an accessible solution that educators, course designers, and institutions can adopt without requiring developer expertise.
20+
21+
The exporter is now available in **three forms** — a native desktop application, a browser-based web UI, and the existing CLI — all driven by the same underlying export engine.
22+
23+
---
24+
25+
### Developments to Date
26+
27+
#### 1. New User Interfaces
28+
29+
A central goal of LiaEx was to make the exporter accessible beyond the command line. The same export engine now powers three distinct usage modes:
30+
31+
**Desktop Application (recommended)**
32+
33+
The desktop app is the most accessible entry point. It runs on **Windows, macOS, and Linux** and requires no Node.js installation or terminal knowledge. Download and install it directly from the [GitHub Releases](https://github.com/LiaScript/LiaScript-Exporter/releases) page. Available packages include `.exe`, `.dmg`, `.AppImage`, `.deb`, `.rpm`, and portable archives for all platforms.
34+
35+
![Desktop App Screenshot](/images/post/liaex-app.png)
36+
37+
**Web UI (via CLI)**
38+
39+
For users who prefer a browser-based workflow or want to integrate the exporter into a server environment, the same interface is available as a local web server. After installing via npm, start it with:
40+
41+
```bash
42+
npm install -g @liascript/exporter
43+
liaex serve
44+
```
45+
46+
This starts the export server on port 3000. The interface allows you to:
47+
48+
- **Upload files** or specify a **Git repository** as your course source
49+
- Select an export target (Moodle, ILIAS, OPAL, Generic LMS, Web, PDF, ePub, DOCX, xAPI)
50+
- Configure advanced format-specific settings
51+
- Submit export jobs and track their status in an asynchronous queue
52+
53+
**Docker (Android export)**
54+
55+
Android exports require the Android SDK, which can be complex to set up locally. A pre-built Docker image is provided for this purpose:
56+
57+
```bash
58+
docker pull liascript/exporter
59+
docker run --rm -v $(pwd):/work liascript/exporter \
60+
liaex -f android \
61+
-i /work/README.md \
62+
--android-appId io.github.liascript.mycourse \
63+
--output /work/output
64+
```
65+
66+
The Docker image can also be used to run the web UI in a self-hosted or institutional environment.
67+
68+
---
69+
70+
#### 2. New Export Formats
71+
72+
Three new output formats were added alongside the existing SCORM, IMS, Web, PDF, and Android exports:
73+
74+
**xAPI (Tin Can API)**
75+
76+
xAPI is the modern standard for tracking rich learning interactions with a **Learning Record Store (LRS)**. LiaEx now generates self-contained xAPI packages with a `tincan.xml` manifest. Options include LRS endpoint configuration, actor and course ID settings, mastery threshold, and zip packaging.
77+
78+
```bash
79+
liaex -i course/README.md --format xapi --xapi-endpoint https://lrs.example.com/xapi
80+
```
81+
82+
**ePub**
83+
84+
LiaScript courses can be exported as **ePub e-books** compatible with most e-readers. Puppeteer renders the course content, which is then packaged in standard ePub 2/3 format. Options include custom cover images, fonts, stylesheets, language metadata, and table-of-contents control.
85+
86+
```bash
87+
liaex -i course/README.md --format epub --epub-title "My Course" --epub-author "Author Name"
88+
```
89+
90+
**DOCX**
91+
92+
Courses can be exported as **Microsoft Word documents** (.docx), compatible with Word 2007+, LibreOffice, and Google Docs. Custom headers, footers, page numbers, fonts, page orientation, and CSS stylesheets are supported.
93+
94+
```bash
95+
liaex -i course/README.md --format docx --docx-title "My Course"
96+
```
97+
98+
---
99+
100+
#### 3. GitHub Action
101+
102+
For teams managing course content in Git repositories, we published an official **GitHub Action** that runs exports automatically on every push — no server required. Add it to your workflow and get SCORM, PDF, or any other format as a build artifact:
103+
104+
```yaml
105+
- name: Export to SCORM
106+
uses: LiaScript/LiaScript-Exporter@master
107+
with:
108+
input-file: 'README.md'
109+
format: 'scorm1.2'
110+
output-name: 'my-course'
111+
```
112+
113+
Full documentation is available in [`action/README.md`](https://github.com/LiaScript/LiaScript-Exporter/blob/master/action/README.md).
114+
115+
---
116+
117+
#### 4. Improved LMS Compatibility
118+
119+
We significantly expanded and validated SCORM compatibility across real-world LMS platforms. The exporter now includes tested, documented command examples for:
120+
121+
| LMS | Recommended Command |
122+
|-----|---------------------|
123+
| ILIAS | `scorm2004 --scorm-masteryScore 80 --scorm-iframe` |
124+
| Moodle 3.x | `scorm1.2 --scorm-masteryScore 80 --scorm-iframe` |
125+
| Moodle 4.x | `scorm1.2 --scorm-masteryScore 80 --scorm-embed` |
126+
| OPAL | `scorm1.2 --scorm-masteryScore 80 --scorm-embed` |
127+
| OpenOlat | `scorm1.2 --scorm-masteryScore 80 --scorm-embed` |
128+
| open edX | `scorm1.2 --scorm-masteryScore 80 --scorm-embed` |
129+
| learnworlds.com | `scorm2004 --scorm-masteryScore 80 --scorm-iframe` |
130+
131+
New SCORM options were added: `--scorm-embed` (for Moodle 4 and LMS with strict content security policies), `--scorm-typicalDuration`, and expanded `--scorm-iframe` support.
132+
133+
---
134+
135+
#### 5. Export Presets (YAML Configuration)
136+
137+
To make complex export setups reproducible, we introduced **YAML-based export presets**. Instead of repeating long command flags, you can store your configuration in a file and reference it — particularly useful for project-level batch exports with per-course overrides.
138+
139+
---
140+
141+
### Demo
142+
143+
<video src="https://github.com/user-attachments/assets/05ddc764-8522-437a-b569-00b4df7d98b6" controls></video>
144+
145+
---
146+
147+
### Try It Now
148+
149+
All developments described above are already available in the current release:
150+
151+
- **npm:** `npm install -g @liascript/exporter`
152+
- **Desktop app:** [GitHub Releases](https://github.com/LiaScript/LiaScript-Exporter/releases)
153+
- **Docker:** `docker pull liascript/exporter`
154+
- **Source:** [github.com/LiaScript/LiaScript-Exporter](https://github.com/LiaScript/LiaScript-Exporter)
155+
156+
Contributions, bug reports, and feature suggestions from the community are welcome. The project is maintained openly and is intended to serve educators and OER practitioners across institutional contexts.
157+
158+
---
159+
160+
### Acknowledgments
161+
162+
We gratefully acknowledge the support of:
163+
164+
* **BMBFSFJ** – Federal Ministry for Family Affairs, Senior Citizens, Women and Youth
165+
* **DLR Project Management Agency** – for project coordination
166+
* **OER and LiaScript communities** – for feedback, inspiration, and testing throughout the sprint
167+
* **TU Bergakademie Freiberg** – for hosting the project and providing development resources
168+
169+
**Further Information:**
170+
171+
* [OE_Sprints Program](https://www.oer-strategie.de/foerdern/foerderrichtlinien/oe_sprints/)
172+
* [Project Page](https://www.oer-strategie.de/projects/liaex-oer-exporter-fuer-liascript/)
173+
* [GitHub Repository](https://github.com/LiaScript/LiaScript-Exporter)

0 commit comments

Comments
 (0)