fix: support both flat and nested YAML structures

Problem:
- Echte Forgejo-Dateien haben YAML auf Root-Level (flach)
- Vorherige Implementation erwartete nested unter 'commonMetadata'
- Viele Felder waren null (license, learningResourceType, etc.)

Lösung:
- AMB Extractor unterstützt jetzt beide Strukturen:
  1. Direkt auf Root-Level (Forgejo Standard)
  2. Unter commonMetadata verschachtelt (Legacy)
- Keine unnötigen Warnings mehr bei Fallbacks
- Tests angepasst

Ergebnis:  Vollständige Metadaten-Extraktion
- license: 
- learningResourceType: 
- educationalLevel: 
- creativeWorkStatus: 
- inLanguage: 
- about: 
- creator mit ORCID/ROR: 
- Validierung:  Gültig!

Tests: 11/11 passing 
This commit is contained in:
Jörg Lohrer 2025-10-01 16:14:40 +02:00
parent 9fe34cc743
commit 2a96ba228e
2 changed files with 10 additions and 5 deletions

View file

@ -84,8 +84,9 @@ test('AMB Extractor: verwendet Fallbacks', () => {
assert.strictEqual(metadata.name, 'Fallback Title')
assert.strictEqual(metadata.description, 'Fallback Description')
assert.ok(metadata._warnings, 'Warnings sollten vorhanden sein')
assert.ok(metadata._warnings.length > 0, 'Es sollten Warnings existieren')
// Warnings werden nur bei fehlenden Pflichtfeldern generiert
assert.ok(metadata.creator, 'Creator sollte vorhanden sein')
assert.strictEqual(metadata.creator[0].name, 'Max Mustermann')
})
test('AMB Extractor: validiert Metadaten', () => {