Převod kurzových materiálů na SCORM balíčky: Praktický průvodce konverzí souborů
Learning Management Systems (LMS) se opírají o standard SCORM (Sharable Content Object Reference Model), který slouží k balení, doručování a sledování e‑learningového obsahu. Zatímco autorovací nástroje generují SCORM balíčky automaticky, mnoho organizací již disponuje knihovnou rozmanitých assetů – PDF, MP4 videa, PowerPointové snímky, HTML kvízy – vytvořených během let. Převést tyto heterogenní soubory do jediného, dobře strukturovaného SCORM balíčku může být náročné, zejména pokud je nutné zachovat vizuální věrnost, metadata a logiku interakcí.
Tento průvodce provádí celým konverzním workflow, od auditu assetů po finální zip, a zdůrazňuje rozhodnutí, která ovlivňují kompatibilitu, přístupnost a ochranu soukromí. Principy platí jak při použití specializované autorovací platformy, tak i obecného konvertoru, například convertise.app, pro normalizaci formátů před vytvořením balíčku.
1. Porozumění strukturalním požadavkům SCORM
SCORM nespecifikuje, jak navrhnete výukový obsah; definuje pouze hierarchii složek a malou sadu XML manifestových souborů, které LMS načte. Minimálně SCORM 1.2 nebo 2004 balíček musí obsahovat:
- imsmanifest.xml – hlavní popisovač, který uvádí každý zdroj, definuje sekvenační pravidla a mapuje identifikátory na cesty k souborům.
- Složka Resources – všechna média (obrázky, audio, video) a dokumenty odkazované v manifestu.
- HTML vstupní bod – spouštěcí stránka (často
index.html), kterou LMS načte v iframe.
Jakýkoli další asset – PDF podklady, SCORM‑kompatibilní kvízy nebo JavaScriptové knihovny – musí být v manifestu uveden pomocí příslušných <resource> tagů. Chybějící nebo špatně pojmenované položky způsobí, že LMS balíček odmítne, nebo co je horší, předá poškozený výukový zážitek.
2. Audit existujících assetů
Než začnete konvertovat, sestavte inventář všech souborů, které budou součástí kurzu. Vytvořte tabulku s následujícími sloupci:
| Asset | Aktuální formát | Účel | Požadované transformace | Zachovat metadata? |
|---|---|---|---|---|
| Přednáškové video | MOV | Vložené video | Převést na MP4 (H.264) | Ano (datum vytvoření) |
| Sada snímků | PPTX | HTML zobrazení | Exportovat do PDF → HTML | Ne |
| Banka otázek | XLM | SCORM‑kvíz | Exportovat do QTI XML | Ano |
| Podklad | DOC | Odkaz ke stažení | Převést na PDF/A | Ano |
Tato tabulka odhalí dvě zásadní otázky:
- Jaký formát LMS podporuje nativně? Většina moderních LMS přijímá MP4 pro video, PDF pro dokumenty a HTML5 pro interaktivní obsah.
- Která metadata musejí přežít konverzi? Pro soulad a analytiku můžete potřebovat zachovat autora, datum vytvoření nebo číslo verze.
3. Normalizace mediálních souborů
3.1 Konverze videa
Video soubory často přicházejí ve formátu MOV, AVI nebo v proprietárních formátech kamer. SCORM‑kompatibilní video by mělo být MP4 s videokodekem H.264 a audio AAC při bitrate, která vyvažuje kvalitu a velikost souboru (obvykle 2–4 Mbps pro 720p, 5–6 Mbps pro 1080p). Postup konverze:
- Extrahovat metadata zdroje (např.
ffprobedokáže vypsat datum vytvoření, fotografa, GPS). Uložte je do postranního JSON souboru pro pozdější vložení. - Převést pomocí dvou průchodů (two‑pass encoding), aby se dosáhlo cílové bitrate a zároveň zachovaly klíčové snímky, které korespondují s interaktivními časovými značkami.
- Aplikovat bezeztrátové oříznutí nebo otočení, pokud zdroj obsahuje černé pruhy či orientační značky.
- Znovu vložit zachovaná metadata pomocí nástrojů jako
ffmpeg -metadata, aby je LMS mohl zobrazit v knihovnách assetů.
Pokud musíte chránit soukromí, před finálním zipem odstraňte veškerá embedded data o poloze nebo tagy rozpoznávání obličeje.
3.2 Konverze obrázků a grafik
Rasterové obrázky by měly být PNG pro bezeztrátovou grafiku (ikony, screenshoty UI) a JPEG pro fotografie. Při konverzi SVG diagramů exportujte do PNG při 300 dpi, pokud LMS nedokáže SVG renderovat přímo. Zachovejte barevné profily (sRGB), aby nedošlo k nečekaným posunům na různých zařízeních. Typický pipeline:
- Ověřte barevný prostor zdroje pomocí
exiftool. - Konvertujte pomocí
imagemagick convert source.svg -density 300 -colorspace sRGB output.png. - Odstraňte nepotřebná EXIF pole, aby soubor zůstal lehký, ale zachoval informaci o autorství.
4. Převod dokumentů na web‑ready HTML
Většina SCORM spouštěcích stránek spoléhá na HTML5. Místo přímého vkládání PDF je převádějte na sérii webových stránek:
- Exportujte PowerPoint nebo Word do PDF. Použijte nástroj, který zachová vektorové objekty (např. „Uložit jako PDF“ v Microsoft Office).
- Spusťte OCR (volitelné). Pokud PDF obsahuje skenované stránky, OCR umožní, aby byl text prohledatelný, čímž se zlepší přístupnost.
- Převeďte PDF do HTML pomocí konvertoru, který respektuje nadpisy, tabulky a seznamy. Nástroje produkující čistý DOM – vyhýbající se inline‑style “blobům” – usnadní integraci se SCORM sledovacím JavaScriptem.
- Vložte ARIA landmarky ručně nebo pomocí automatického skriptu, který mapuje hierarchii nadpisů na
<section>tagy. - Komprimujte vzniklé HTML pomocí gzip na úrovni web serveru; samotný SCORM zip zůstává nekomprimovaný, protože LMS očekává plochý adresář.
Během tohoto procesu zachovejte metadata původního dokumentu (autor, revize) přidáním <meta> tagů do <head> každé stránky.
5. Vytváření interaktivních hodnocení
SCORM může hostovat kvízy postavené na HTML/JavaScript, ale mnoho organizací má již banky otázek ve formátech QTI, GIFT nebo proprietárních Excelových tabulek. Workflow konverze:
- Exportujte zdrojový dotazník do neutrálního formátu, např. CSV nebo XML.
- Mapujte každý sloupec na hierarchii QTI (item, response, outcome). Jednoduché Python skripty tuto mapování automatizují.
- Vygenerujte QTI XML soubory a umístěte je do složky
questions. - Přidejte malý JavaScript wrapper, který načte QTI, vykreslí otázku, zachytí odpověď žáka a nahlásí výsledek LMS přes SCORM API (obvykle
SetValue("cmi.score.raw", score)).
Pokud nemáte interní vývojové kapacity, můžete použít open‑source autorovací engine jako ADL X‑API, který konzumuje QTI a vytváří požadovaný JavaScriptový shim.
6. Tvorba manifestu (imsmanifest.xml)
Manifest je srdcem SCORM balíčku. Minimální, ale robustní příklad pro modul jedné lekce vypadá takto:
<?xml version="1.0" encoding="UTF-8"?>
<manifest identifier="com.example.course1" version="1.2"
xmlns="http://www.imsproject.org/xsd/imscp_rootv1p1p2"
xmlns:adlcp="http://www.adlnet.org/xsd/adlcp_rootv1p2"
xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1">
<metadata>
<schema>ADL SCORM</schema>
<schemaversion>1.2</schemaversion>
</metadata>
<organizations default="ORG-1">
<organization identifier="ORG-1" structure="hierarchical">
<title>Course Title – Module 1</title>
<item identifier="ITEM-1" identifierref="RES-INDEX">
<title>Lesson Overview</title>
</item>
</organization>
</organizations>
<resources>
<resource identifier="RES-INDEX" type="webcontent" adlcp:scormtype="sco" href="index.html">
<file href="index.html"/>
<file href="assets/video.mp4"/>
<file href="assets/handout.pdf"/>
<file href="questions/q1.xml"/>
</resource>
</resources>
</manifest>
Klíčové body:
adlcp:scormtype="sco"označuje Sharable Content Object, který může být spuštěn a hlásit data LMS.- Každý fyzický soubor použité SCORM objektem musí být uveden v
<file>elementu. Vynechané soubory způsobí chybu „resource not found“ během běhu. - Používejte čitelné identifikátory (
RES-INDEX,ITEM-1) pro usnadnění ladění.
Když máte více lekcí, duplikujte blok <item> a odkažte na odlišné resources.
7. Skládání ZIP archivu
Po přípravě všech assetů a validaci manifestu vytvořte zip se přesnou folder strukturou požadovanou SCORM:
my_course.zip
├─ imsmanifest.xml
├─ index.html
├─ assets/
│ ├─ video.mp4
│ ├─ handout.pdf
│ └─ diagram.png
└─ questions/
└─ q1.xml
Důležité: Do zipu neuvkládejte vrchní adresář; LMS očekává manifest na kořenové úrovni. Použijte příkazový řádek, který zachová časová razítka souborů (zip -X -r my_course.zip .). Zachovejte původní timestampy zdrojových assetů; některé LMS zobrazují souborový atribut lastModified uživatelům.
8. Validace balíčku
Před nahráním spusťte balíček přes SCORM validator, například ADL SCORM Test Suite nebo open‑source Rustic SCORM Cloud. Validator prověří:
- Správnost syntaxe manifestu a požadovaných atributů.
- Přítomnost všech odkazovaných souborů.
- Shodu s vybranou verzí SCORM (1.2 vs 2004).
- Správnost API volání na spouštěcí stránce (např.
Initialize(),Terminate()).
Pokud validator hlásí chybějící metadata, vraťte se k převodním krokům a znovu vložte potřebné tagy.
9. Automatizace workflow
Pro organizace, které potřebují převést desítky kurzů, se ruční kroky stávají úzkým hrdlem. Střídmá automatizační pipeline může být postavena v skriptovacím jazyce (Python nebo Bash) a orchestruje následující fáze:
- Discovery – prohledejte zdrojovou složku a najděte nové assety.
- Conversion – zavolejte
ffmpeg,imagemagicka PDF‑to‑HTML službu (např. API nabízené convertise.app) a vytvořte standardizované výstupy. - Metadata Harvesting – pomocí
exiftoolvytáhněte autora a datum, poté zapištemetadata.json, který později informuje generování manifestu. - Manifest Generation – naplňte Jinja2 šablonu seznamem souborů a metadat.
- Packaging – zipujte složku, spusťte SCORM validator a přesunujte zip do výstupního bucketu.
Ukládání logu každého kroku také vytváří auditní stopu – požadavek mnoha regulovaných odvětví.
10. Úvahy o soukromí a zabezpečení
I když se konverze provádí lokálně nebo v soukromém cloudu, mějte na paměti následující:
- Odstraňte embedded GPS z obrázků a videí pomocí
ffmpeg -metadata location=. - Odstraňte skryté textové vrstvy z PDF, které mohou obsahovat komentáře recenzentů.
- Šifrujte finální zip jen pokud LMS podporuje nahrávání šifrovaných SCORM balíčků; jinak uložte zip do bezpečného úložiště a kontrolujte přístup pomocí IAM politik.
- Audit logy – zaznamenejte, kdo spustil konverzi a jaké zdrojové soubory byly použity. To pomáhá odpovídat na dotazy o souladu s GDPR nebo HIPAA, když výuková data zahrnují osobní identifikátory.
11. Časté problémy a jak je řešit
| Příznak | Pravděpodobná příčina | Oprava |
|---|---|---|
| LMS odmítne balíček s „Manifest not found“ | Zip obsahuje nadbytečnou vrchní složku | Přezipujte obsah přímo na kořenové úrovni |
| Video přehrává, ale chybí zvuk | Audio kodek není podporován (např. PCM) | Překódujte audio na AAC, 128 kbps |
| Skóre kvízu se nehlásí | JavaScript nevolá SetValue před Terminate | Zajistěte, aby SCORM API wrapper dokončil zápis před odchodem ze stránky |
| PDF podklad se v LMS vieweru načítá prázdně | PDF používá novější kompresní metodu, kterou viewer nepodporuje | Převést na PDF/A‑1b pro maximální kompatibilitu |
| Handout PDF se otevře prázdně v LMS vieweru | PDF používá novější kompresní metodu, kterou viewer nepodporuje | Převést na PDF/A‑1b pro maximální kompatibilitu |
Řešení těchto potíží včas šetří čas v testovacích cyklech.
12. Reálný příklad: Z legacy materiálů na SCORM
Scénář: Výrobní firma má knihovnu starých školících materiálů sestávající z PowerPoint prezentací (PPTX), instruktážních videí zachycených ve WMV a PDF podkladů. Cílem je doručit obsah přes LMS, který přijímá jen SCORM 2004.
Kroky:
- Audit assetů identifikoval 45 PPTX, 30 WMV videí a 60 PDF.
- Konverze videí pomocí batch skriptu:
ffmpeg -i "$in" -c:v libx264 -crf 22 -c:a aac -b:a 128k "${in%.*}.mp4". - Snímky byly exportovány do PDF přes PowerPoint CLI, poté převedeny na HTML pomocí
pandocs flagem--standalone, který zachovává tabulky a hierarchii odrážek. - Metadata byla získána pomocí
exiftoola vložena do HTML<meta>tagů v<head>. - Vytvoření kvízů využilo existující CSV s otázkami, transformované do QTI pomocí krátkého Python skriptu.
- Generování manifestu použilo Jinja2 šablonu, která iterovala přes CSV se seznamem assetů a automaticky přiřazovala identifikátory.
- Validace pomocí SCORM Cloud odhalila dvě chybějící obrázkové odkazy; chybějící soubory byly do zipu doplněny.
- Doručení – finální 1,3 GB zip (komprimovaný) nahrán do LMS a prošel vendor‑ským compliance testem.
Projekt snížil manuální autorovací čas o 70 % a zajistil konzistentní zážitek pro všechny moduly.
13. Shrnutí nejlepších postupů
- Nejprve audit – přehledná tabulka předchází chybějícím assetům.
- Normalizujte média na široce podporované formáty (MP4, JPEG/PNG, PDF/A).
- Zachovejte klíčová metadata extrahováním před konverzí a reinjektováním po ní.
- Vytvořte čistý, validovaný manifest; považujte jej za kód – linte jej.
- Balíčujte bez nadbytečných složek a uchovávejte původní timestampy.
- Validujte včas pomocí SCORM test suite, abyste zachytili strukturální chyby.
- Automatizujte pipeline tam, kde objem ospravedlňuje skriptování; udržujte logy pro auditovatelnost.
- Odstraňte citlivá data během konverze, zejména z metadat obrázků a videí.
Dodržením těchto kroků můžete transformovat heterogenní sbírku výukových assetů do jediného, standardně kompatibilního SCORM balíčku, který spolehlivě funguje napříč LMS platformami a zároveň zachovává kvalitu, přístupnost i soukromí.
Techniky popsané v tomto dokumentu jsou platform‑agnostické; lze je kombinovat s cloud‑ovými konvertory, jako je convertise.app, pro rychlou a soukromí‑orientovanou normalizaci formátů před vytvořením SCORM zipu.