Kurs Materyallerini SCORM Paketlerine Dönüştürme: Pratik Bir Dosya Dönüştürme Rehberi

Öğrenim Yönetim Sistemleri (LMS), e‑öğrenme içeriğini paketlemek, sunmak ve izlemek için SCORM (Sharable Content Object Reference Model) standardına dayanır. Yazar araçları SCORM paketlerini otomatik olarak oluştururken, birçok kuruluş yıllar boyunca oluşturulmuş dağınık varlıklar — PDF’ler, MP4 videolar, PowerPoint slaytları, HTML sınavlar — kütüphanesine sahiptir. Bu heterojen dosyaları tek, iyi yapılandırılmış bir SCORM paketine dönüştürmek, özellikle görsel bütünlüğü, meta verileri ve etkileşim mantığını korumanız gerektiğinde göz korkutucu olabilir.

Bu rehber, varlık denetiminden son zip’e kadar tüm dönüştürme iş akışını adım adım gösterir ve uyumluluk, erişilebilirlik ve veri gizliliğini etkileyen kararları vurgular. İlkeler, ayrı bir yazar platformu ya da convertise.app gibi format normalleştirme için genel amaçlı bir dönüştürücü kullanılmasına göre de uygulanabilir.


1. SCORM’un Yapısal Gereksinimlerini Anlamak

SCORM, öğrenim içeriğinizi nasıl tasarladığınızı dikte etmez; bir klasör hiyerarşisi ve LMS’nin okuduğu çok az sayıda XML manifest dosyası tanımlar. Minimum bir SCORM 1.2 ya da 2004 paketi şunları içermelidir:

  • imsmanifest.xml – her kaynağı listeleyen, sıralama kurallarını tanımlayan ve tanımlayıcıları dosya yollarına eşleyen temel tanımlayıcı.
  • Resources (Kaynaklar) klasörü – manifestte referans verilen tüm medya (görseller, ses, video) ve belge dosyaları.
  • HTML giriş noktası – LMS’nin bir iframe içinde yüklediği başlatma sayfası (genellikle index.html).

Ek varlıklar — PDF el kitapları, SCORM‑uyumlu sınavlar veya JavaScript kütüphaneleri — manifestte uygun <resource> etiketleriyle referans gösterilmelidir. Eksik ya da yanlış adlandırılmış girdiler paketinin LMS tarafından reddedilmesine ya da daha kötüsü, bozuk bir öğrenme deneyimi sunulmasına yol açar.


2. Mevcut Varlıkların Denetimi

Dönüştürmeye başlamadan önce, kursun parçası olacak her dosyayı envantere alın. Aşağıdaki sütunları içeren bir elektronik tablo oluşturun:

VarlıkMevcut BiçimKullanım AmacıGereken DönüşümlerMeta Veriler Korunsun mu?
Ders videosuMOVSatır içi videoMP4 (H.264)’e dönüştürEvet (oluşturma tarihi)
Slayt paketiPPTXHTML görünümüPDF → HTML olarak dışa aktarHayır
Sınav bankasıXLMSCORM‑QuizQTI XML olarak dışa aktarEvet
El kitabıDOCİndirme bağlantısıPDF/A’ya dönüştürEvet

Bu tablo iki kritik soruyu ortaya çıkarır:

  1. LMS hangi biçimi yerel olarak destekliyor? Çoğu modern LMS video için MP4, belgeler için PDF ve etkileşimli içerik için HTML5 kabul eder.
  2. Hangi meta veriler dönüşüm sırasında korunmalı? Uyumluluk ve analizler için yazar, oluşturma tarihi veya sürüm numaraları gibi bilgiler saklanabilir.

3. Medya Dosyalarının Normalleştirilmesi

3.1 Video Dönüştürme

Video dosyaları genellikle MOV, AVI veya kamera üreticisine özgü biçimlerde gelir. SCORM‑uyumlu video, H.264 video ve AAC ses içeren MP4 olmalıdır; bit hızı kalite ve dosya boyutu dengesini sağlamak için (genellikle 720p için 2–4 Mbps, 1080p için 5–6 Mbps) ayarlanır. Dönüştürme adımları:

  1. Kaynak meta verilerini çıkar (ör. ffprobe oluşturma tarihi, fotoğrafçı, GPS gibi bilgileri verebilir). Bunu yan dosya JSON formatında saklayıp sonradan tekrar ekleyin.
  2. İki geçişli kodlama ile transkoda ederek hedef bit hızına ulaşın ve etkileşim zaman damgalarına uygun keyframe aralıklarını koruyun.
  3. Kayıp olmadan kırpma veya döndürme yapın; kaynakta siyah çubuklar ya da yönlendirme bayrakları varsa düzeltin.
  4. Kalan meta verileri yeniden göm ffmpeg -metadata gibi araçlarla, böylece LMS varlık kütüphanelerinde gösterebilir.

Gizliliği korumanız gerekiyorsa, final zip’inden önce gömülü konum verilerini veya yüz tanıma etiketlerini temizleyin.

3.2 Görsel ve Grafik Dönüştürme

Raster görseller, kayıpsız grafikler (ikon, UI ekran görüntüsü) için PNG, fotoğraflar için JPEG tercih edilmelidir. SVG diyagramları LMS SVG’yi doğrudan işleyemiyorsa 300 dpi’de PNG’ye aktarın. Renk profillerini (sRGB) koruyun, aksi takdirde farklı cihazlarda renk kayması görülür. Tipik işlem hattı:

  • Kaynak renk uzayını exiftool ile doğrula.
  • Şu komutla dönüştür: imagemagick convert source.svg -density 300 -colorspace sRGB output.png.
  • Gereksiz EXIF alanlarını kaldır; dosyayı hafif tutarken atıf bilgilerini koru.

4. Belgeleri Web‑Hazır HTML’e Dönüştürme

Çoğu SCORM başlatma sayfası HTML5’e dayanır. PDF’leri doğrudan gömmek yerine, bunları bir dizi web sayfasına dönüştürmek daha iyidir:

  1. PowerPoint ya da Word’ü PDF’ye dışa aktar. Vektör nesnelerini koruyan bir araç kullanın (ör. Microsoft Office’ın “PDF olarak kaydet” seçeneği).
  2. OCR (isteğe bağlı) çalıştır. PDF taranmış sayfalardan oluşuyorsa, OCR metni aranabilir kılar ve erişilebilirliği artırır.
  3. PDF’i HTML’ye dönüştür; başlık, tablo ve liste yapısını koruyan bir dönüştürücü seçin. Temiz bir DOM üreten araçlar (satır içi stil yığınlarından kaçınan) SCORM’un izleme JavaScript’iyle entegrasyonu kolaylaştırır.
  4. ARIA işaretlerini manuel ya da otomatik bir betik aracılığıyla ekle; başlık hiyerarşisini <section> etiketlerine eşle.
  5. Oluşan HTML’i gzip ile sıkıştır; ancak SCORM zip’i kendisi sıkıştırılmamış kalmalıdır çünkü LMS düz bir dizin yapısı bekler.

Bu süreçte, orijinal belgenin meta verilerini (yazar, revizyon) korumak için her sayfanın <head> kısmına <meta> etiketleri ekleyin.


5. Etkileşimli Değerlendirmeler Oluşturma

SCORM, HTML/JavaScript ile oluşturulmuş sınavları barındırabilir; ancak birçok kuruluş QTI, GIFT veya özel Excel dosyalarında soru bankalarına sahiptir. Dönüştürme iş akışı:

  • Kaynak ankete CSV ya da XML gibi nötr bir biçime dışa aktar.
  • Her sütunu QTI öğe hiyerarşisine (item, response, outcome) eşle. Basit Python betikleri bu eşlemeyi otomatikleştirebilir.
  • QTI XML dosyalarını üret ve questions klasörüne yerleştir.
  • Küçük bir JavaScript sarmalayıcı ekle; bu sarmalayıcı QTI’yi okur, soruyu render eder, öğrenenin yanıtını yakalar ve SCORM API’si üzerinden LMS’ye raporlar (genellikle SetValue("cmi.score.raw", score)).

Eğer dahili geliştirme kaynaklarınız yoksa, QTI’yı alıp gerekli JavaScript köprüsünü üreten açık kaynaklı bir yazar motoru olan ADL X‑APIyi kullanabilirsiniz.


6. Manifest’in (imsmanifest.xml) Oluşturulması

Manifest, bir SCORM paketinin kalbidir. Tek ders modülü için minimal ama sağlam bir örnek aşağıdadır:

<?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>

Önemli noktalar:

  • adlcp:scormtype="sco" bir Sharable Content Object’i işaret eder; bu nesne başlatılabilir ve LMS’ye rapor gönderebilir.
  • Manifestte kullanılan her fiziksel dosya bir <file> öğesiyle listelenmelidir. Eksik dosyalar çalışma zamanında “resource not found” hatasına yol açar.
  • İnsan okunabilir tanımlayıcılar (RES-INDEX, ITEM-1) hata ayıklamayı kolaylaştırır.

Birden fazla dersiniz varsa, <item> bloğunu çoğaltın ve farklı kaynaklara referans verin.


7. Zip Arşivinin Oluşturulması

Tüm varlıklar hazır ve manifest doğrulandıktan sonra, SCORM’un istediği kesin klasör yapısıyla zip’i oluşturun:

my_course.zip
├─ imsmanifest.xml
├─ index.html
├─ assets/
│   ├─ video.mp4
│   ├─ handout.pdf
│   └─ diagram.png
└─ questions/
    └─ q1.xml

Önemli: Zip içinde üst‑düzey bir klasör bulundurmayın; LMS manifestin kök seviyede olmasını bekler. Dosya zaman damgalarını koruyan bir komut satırı aracı kullanın (zip -X -r my_course.zip .). Kaynak varlıkların orijinal zaman damgalarını koruyun; bazı LMS’ler dosyanın lastModified özniteliğini öğrenenlere gösterir.


8. Paketin Doğrulanması

Yüklemeden önce paketi ADL’ın SCORM Test Suitei ya da açık kaynak Rustic SCORM Cloud gibi bir SCORM doğrulayıcıyla test edin. Doğrulayıcı şunları denetler:

  • Manifest sözdizimi ve zorunlu öznitelikler.
  • Referans verilen tüm dosyaların varlığı.
  • Seçilen SCORM sürümüne (1.2 vs 2004) uygunluk.
  • Başlatma sayfasındaki doğru API çağrıları (ör. Initialize(), Terminate()).

Eğer doğrulayıcı eksik meta veri uyarısı veriyorsa, dönüşüm adımlarına geri dönerek gerekli etiketleri yeniden gömün.


9. İş Akışının Otomasyonu

Onlarca kurs dönüştürmesi yapan kuruluşlar için manuel adımlar darboğaz haline gelir. Python ya da Bash gibi bir betik diliyle modest bir otomasyon hattı kurabilirsiniz; aşağıdaki aşamaları yönetir:

  1. Keşif – Yeni varlıkları bulmak için bir kaynak dizini tarar.
  2. Dönüştürmeffmpeg, imagemagick ve bir PDF‑to‑HTML servisi (ör. convertise.app API) çağırarak standart çıktılar üretir.
  3. Meta Veri Toplamaexiftool ile yazar ve tarih bilgilerini çıkarır, ardından manifest üretimini besleyen bir metadata.json yazar.
  4. Manifest Üretimi – Dosya ve meta veri listesini bir Jinja2 şablonuna doldurur.
  5. Paketleme – Klasörü zip’ler, SCORM doğrulayıcıdan geçirir ve zip’i bir çıktı deposuna taşır.

Her adımın kaydını tutarak bir denetim izi oluşturursunuz; bu, düzenleyici endüstrilerde sıkça istenen bir gereksinimdir.


10. Gizlilik ve Güvenlik Hususları

Dönüştürme yerel ya da özel bir bulutta gerçekleşse bile aşağıdakilere dikkat edin:

  • Gömülü GPS’i ffmpeg -metadata location= ile görsellerden ve videolardan temizleyin.
  • PDF’lerden gizli metin katmanlarını kaldırın; yorumcıların notları burada saklanabilir.
  • Final zip’i şifreleyin yalnızca LMS şifreli SCORM yüklemelerini destekliyorsa; aksi takdirde zip’i güvenli bir depoda tutun ve erişimi IAM politikalarıyla kontrol edin.
  • Denetim kayıtları – Her dönüşümün kim tarafından başlatıldığını ve hangi kaynak dosyaların kullanıldığını tutun. Bu, GDPR ya da HIPAA gibi düzenlemeler kapsamında kişisel tanımlayıcıların öğrenim verileri içinde yer alması durumunda sorulara yanıt verir.

11. Yaygın Tuzaklar ve Çözümleri

BelirtiOlası NedeniÇözüm
LMS, “Manifest not found” hatası veriyorZip içinde ekstra bir üst‑düzey klasör varİçeriği doğrudan kök seviyede yeniden zipleyin
Video çalışıyor ama ses yokDesteklenmeyen ses codec’i (ör. PCM)Sesi AAC, 128 kbps olarak yeniden kodlayın
Quiz puanları raporlanmıyorJavaScript, Terminate öncesinde SetValue çağırmıyorSCORM API sarmalayıcısının sayfa kapanmadan veri yazdığından emin olun
El kitabı PDF, LMS görüntüleyicide boş açılıyorPDF, görüntüleyicinin desteklemediği yeni bir sıkıştırma yöntemi kullanıyorPDF/A‑1b’ye dönüştürün; uyumluluğu maksimize eder

Bu sorunları erken aşamada ele almak test döngülerinde zaman kazandırır.


12. Gerçek Dünya Örneği: Legacy Eğitim Materyallerinden SCORM’a

Senaryo: Bir üretim firması, PowerPoint (PPTX) sunumları, WMV formatında yakalanmış öğretici videolar ve PDF el kitaplarından oluşan bir legacy eğitim kütüphanesine sahip. Hedef, yalnızca SCORM 2004 kabul eden bir LMS aracılığıyla içeriği sunmak.

Uygulanan adımlar:

  1. Varlık denetimi – 45 PPTX, 30 WMV video ve 60 PDF belirlendi.
  2. Video dönüştürme – Toplu betik: ffmpeg -i "$in" -c:v libx264 -crf 22 -c:a aac -b:a 128k "${in%.*}.mp4".
  3. Slaytlar – PowerPoint CLI ile PDF’ye dışa aktarıldı, ardından pandoc--standalone bayrağıyla HTML’ye dönüştürüldü; tablolar ve madde işaretleri korundu.
  4. Meta verilerexiftool ile toplandı ve HTML <head> içinde <meta> etiketleriyle eklendi.
  5. Sınav oluşturma – Mevcut CSV çoktan seçmeli sorular, kısa bir Python betiğiyle QTI’ye dönüştürüldü.
  6. Manifest üretimi – Varlık CSV’sini yineleyen bir Jinja2 şablonu, kimlikleri otomatik atadı.
  7. Doğrulama – SCORM Cloud iki eksik görsel referansı tespit etti; eksik dosyalar zip’e eklendi.
  8. Teslim – 1,3 GB (sıkıştırılmış) zip LMS’ye yüklendi ve sağlayıcının uyumluluk testini geçti.

Proje, manuel yazar süresini %70 oranında azaltarak tüm modüllerde tutarlı bir öğrenme deneyimi sağladı.


13. En İyi Uygulama Özeti

  1. İlk olarak denetim yap – net bir elektronik tablo eksik varlıkları önler.
  2. Medya dosyalarını yaygın desteklenen biçimlere (MP4, JPEG/PNG, PDF/A) normalleştir.
  3. Temel meta verileri koru – dönüştürmeden önce çıkar, sonra yeniden göm.
  4. Temiz, doğrulanmış bir manifest oluştur; kod gibi düşün, linter ile kontrol et.
  5. Ek klasörler eklemeden paketle ve orijinal zaman damgalarını koru.
  6. Erken doğrulama yap – SCORM test süitiyle yapısal hataları yakala.
  7. İş hacmi izin veriyorsa otomasyon kur; log tutarak denetim izini sağla.
  8. Gizlilik açısından hassas verileri dönüşüm sırasında temizle; özellikle görsel ve video meta verileri.

Bu adımları izleyerek, heterojen öğrenim varlıklarınızı, LMS platformları arasında sorunsuz çalışan, kalite, erişilebilirlik ve gizliliği koruyan tek bir SCORM paketine dönüştürebilirsiniz.


Burada anlatılan teknikler platform bağımsızdır; hızlı ve gizlilik‑odaklı format normalleştirmesi için convertise.app gibi bulut‑tabanlı dönüştürücülerle SCORM zip’i oluşturma sürecine entegre edilebilir.