Alle Komponenten

LmsExam

Lern-Interaktion

Mehrere Aufgaben, gemeinsam abgegeben.

In Markdown: ::lms-exam Nimmt einen Default-Slot Im Zusammenhang ansehen

Übernommen aus LmsExam (coactum-nuggets).

Der Unterschied zu einzelnen Fragen ist nicht die Zahl, sondern der Zeitpunkt: hier gibt es kein Prüfen nach jeder Antwort. Wer alles beantwortet hat, gibt ab und sieht dann die Auflösung — wie in einer Klausur. Deshalb blenden die enthaltenen Bausteine ihre eigenen Knöpfe aus. Gegenüber der Seite zählt eine Prüfung als eine Aufgabe. Sonst bliebe der Lernfortschritt gesperrt, obwohl die Prüfung als Ganzes noch offen ist.

Beispiele (1)

Zwei Aufgaben, eine Abgabe

Quiz und Lückentext im selben Rahmen. Der Knopf bleibt gesperrt, bis beides beantwortet ist.

Zum Abschluss

Kurze Prüfung

Ab wie vielen Beschäftigten kann ein Betrieb als wichtige Einrichtung gelten?

Ergänzen Sie die Frist.

Ziehen Sie die Wörter in die Lücken — oder tippen Sie erst das Wort an, dann die Lücke.

Ein erheblicher Sicherheitsvorfall ist binnen   Stunden zu melden, der vollständige Bericht folgt binnen   Stunden.

API

Vollständig aus den Quellen erzeugt. Dieselben Angaben stehen an jedem Beispiel hinter dem Knopf API — hier ausgeschrieben, damit sie über die Seitensuche und im Druck auffindbar bleiben.

Props

PropTypStandardBedeutung
idPflichtstring—Eindeutig im Dokument. Klammert die enthaltenen Aufgaben.
titlestring—Überschrift.
eyebrowstring—Kleine Zeile über dem Titel.
advanceRequiresAnswerbooleantrueWeiterblättern erst, wenn die Aufgaben der Seite beantwortet sind.
submitRequiresAllbooleantrueAbgeben erst, wenn alle Aufgaben beantwortet sind.
colorTone'primary'Semantische Farbrolle.

Slots

SlotIn Markdown
defaultRumpf des Blocks

Emits

Dieser Baustein sendet keine Events.

Theme

Dieser Baustein hat keine Fläche in der app.config.ts.

Sein Aussehen steuerst du über Props — bei den didaktischen Bausteinen über das gemeinsame Farbrollen-Vokabular (color, variant), bei den dekorativen über deren eigene Props. Eine Theming-Ebene wie ui.<komponente> in Nuxt UI gibt es hier noch nicht.

Changelog

  1. Hinzugefügt1.27.0

    Der Adapter kann die Abgabe sperren: gesperrt(kennung) gibt einen Satz zurück, und die Prüfung zeigt ihn statt eines aktiven Abgabeknopfs (null heißt abgeben erlaubt). Gedacht für Vorschauen, in denen eine Prüfung zu sehen sein soll, ohne dass gewertet oder gespeichert wird

  2. Hinzugefügt1.24.1

    Gemischte Prüfungen: Liefert der Adapter einen Startwert (LmsExamAdapter.mischung, je Person und Versuch), stehen Seiten, Fragen und Antworten in eigener Reihenfolge (mischreihenfolge(), deterministisch — ein Neuladen ändert nichts). Nur die Anzeige: gespeichert, gemeldet und aufgelöst wird weiter in der Reihenfolge des Inhalts, das Zielprojekt wertet unverändert. Ein Seitentitel „Frage 7 von 13 · …" wird auf die Seite umgeschrieben. Bis der Startwert da ist, bleibt der Inhalt unsichtbar; „Nochmal" holt einen neuen

  3. Hinzugefügt1.24.1

    „Nochmal Konfetti" neben dem Zertifikat einer bestandenen Prüfung (Beschriftung exam.confetti, optional). Fehlt, wer weniger Bewegung eingestellt hat — dort fiele das Konfetti ohnehin aus

  4. Hinzugefügt1.24.0

    Teilpunkte: bewertung[].punkte und die Summe stehen als „7,5 von 9" da (punkteText()); das Abzeichen oben zeigt nach der Abgabe die Punkte des Urteils statt der eigenen Zählung

  5. Hinzugefügt1.23.0

    Der gespeicherte Stand beim Öffnen: Ein Adapter mit stand(kennung) liefert das letzte Urteil, und die Prüfung steht danach so da, wie sie verlassen wurde — vorher vergaß sie beim Neuladen, dass sie abgegeben war

  6. Hinzugefügt1.23.0

    Konfetti beim Bestehen (canvas-confetti, nachgeladen, ohne bei reduzierter Bewegung) und eine hervorgehobene Erfolgsfläche mit größerem Zertifikatsknopf

  7. Hinzugefügt1.23.0

    abgeschlossen im Urteil: nur noch zum Ansehen, kein „Nochmal"; wiederholbar sagt, ob ein neuer Versuch jetzt geht. Nach einer Abgabe sind alle Seiten zum Nachsehen frei

  8. Geändert1.23.0

    Die Auflösung nach dem Bestehen heißt „Zum Nachlernen"; ohne Auflösung nach einem Fehlversuch steht da, wie viele Fragen nicht richtig waren

  9. Hinzugefügt1.20.0

    Verdeckte Prüfungen. Steht in einer Prüfung keine Lösung im Dokument (kein correct, keine explanation), färbt LmsQuiz nach der Abgabe nach dem Urteil des Zielprojekts: bewertung sagt je Frage, ob sie stimmte, aufloesung nennt für falsch beantwortete Fragen die richtigen Optionen (mit ihrem Text) und die Erklärung. Nach einem bestandenen Versuch bleibt die Lösung falsch beantworteter Fragen verdeckt — sie steht dann nur als „falsch“ da. Das Zielprojekt kann die Lösungen so vor dem Ausliefern entfernen; gewertet wird ohnehin auf seinem Server. LmsExamController reicht dafür das Urteil als urteil an die Aufgaben weiter, LmsExamErgebnis kennt bewertung

  10. Hinzugefügt0.8.0

    und LmsExamStep — mehrere Aufgaben, gemeinsam abgegeben,

  11. Behoben1.29.0

    Schreiben in den Fortschrittsspeicher geschieht je Schlüssel nacheinander, und zuletzt immer der neueste Stand. Vorher liefen Schreibvorgänge gleichzeitig, und der zuletzt fertige gewann: Ein Quiz blieb mit dem Stand von vor „Antwort prüfen“ stehen, eine Reflexion (Freitext, je Tastendruck geschrieben) konnte mit abgeschnittenem Text enden

  12. Hinzugefügt1.29.0

    useLmsProgress nimmt als viertes Argument beimLaden: gerufen, wenn ein gespeicherter Stand angekommen ist

  13. Hinzugefügt1.29.0

    LmsProgressMeta kennt points und maxPoints für Bausteine, die Punkte zählen. score bleibt der Anteil richtiger Antworten; Punkte gewichten anders und dürfen negativ sein

  14. Hinzugefügt1.28.0

    Überarbeitungen: Werkzeug untertitel_erzeugen (nur auf Hinweis der Redaktion). Die Brücke holt Videos ohne subtitles-src über ki-auftrag-video der Plattform, schreibt mit WhisperNotes medien/<kennung>.srt und trägt es ein; wahlweise nur für bestimmte Nuggetdateien

  15. Hinzugefügt1.28.0

    Aufträge: Beim pruefen und abgeben schreibt die Brücke für jedes lms-video ohne subtitles-src, dessen Video im Paket liegt, mit ffmpeg und WhisperNotes ein .srt daneben und trägt es als subtitles-src ein (playground/server/utils/untertitel.ts). Ein zweiter Lauf tut nichts; ohne WhisperNotes bleibt das Paket, wie es ist, und der Agent erfährt es

  16. Hinzugefügt1.27.0

    Aufträge: Überarbeitung eines vorhandenen Lernpfads. Die Plattform gibt den Lernpfad als Paket mit (ausgang), die Brücke legt ihn nach paket/ und unverändert nach bestand/. Zwei Werkzeuge mehr: plan_vorlegen und rueckfrage warten auf die Antwort der Redaktion, die die Brücke bei der Plattform abholt (ki-auftrag-frage, ki-auftrag-antwort) — Antworten geht so auch aus einem anderen Fenster. Endet ein Lauf ohne Abgabe, meldet die Brücke das

  17. Hinzugefügt1.27.0

    Brücke: POST /api/editor/ki/abschreiben schreibt eine Sprachnotiz ab (ffmpeg + WhisperNotes), für fremde Gastgeber freigegeben wie verfuegbar

  18. Hinzugefügt1.26.0

    Datum im Inhalt: 2026-10 wird beim Zeichnen gerechnet statt im Text zu stehen — vor dem zweiten Doppelpunkt der Versatz in Tagen, dahinter das Schema (JJJJ, JJ, MM, TT; englisch YYYY, YY, DD), beides entbehrlich. Der Versatz zählt Tage, mit angehängtem j/y Jahre — nötig, wo im Inhalt eine Zahl danebensteht: Im Passwort-Beispiel steht Luna2021! neben „Luna wird heute 5!“, und 5 × 365 Tage lägen nach einem Schaltjahr im falschen Jahr. Ohne Schema gilt das der Sprache, content.dateFormat, überschreibbar wie jede Beschriftung. Wirkt in jedem Textfeld, das durch LmsMarkdown läuft, und zusätzlich in den reinen Textfeldern der Mail-Attrappen (Betreff, Absender, Adresse, Vorschauzeile, Linkziel, Anhangsname) in LmsPhishingQuiz, LmsMailTriage und LmsMockMail. Damit veraltet ein Beispiel nicht mehr: Eine Phishing-Mail mit einer Rechnungsnummer von vorgestern ist glaubwürdig, eine von 2024 verrät sich an der falschen Stelle. Der Tag kommt aus useStichtag() — auf dem Server gerechnet, über die Nutzlast in den Browser, dort einmal nachgebessert, damit auch eine vorgerenderte Seite nicht den Tag ihres Builds trägt. Geprüft von pnpm run datum-test. Auch dort eingesetzt, wo ein Feld nicht gerendert, sondern verglichen oder zerlegt wird: das gesuchte Passwort in LmsPasswordHunt und die Tage eines Rasters in LmsHeatmap — ein Raster mit festen Tagen zeigt nach zwölf Wochen nichts mehr

  19. Hinzugefügt1.25.0

    Aufträge: Folien, Word-Seiten und PDFs liegen zusätzlich als Seitenbilder im Auftragsordner (LibreOffice + pdftoppm, ausgeblendete Folien mit, damit die Nummern zum Textauszug passen) — der Textauszug kennt keine Anordnung, und Schaubilder gingen verloren

  20. Hinzugefügt1.25.0

    Aufträge über die Brücke (/_ws/ki-auftrag): Ein Agent baut aus hochgeladenem Material in einem eigenen Ordner ein Lernpfadpaket, prüft es bei der Plattform und gibt es dort ab; useLmsBausteinwissen() liefert ihm Katalog, Typen, Konventionen und Muster. laufeCodex() nimmt einen eigenen Arbeitsordner, der MCP-Kanal eine eigene Werkzeugliste

  21. Behoben1.16.2

    Die Umbrüche richten sich nach der eigenen Breite, nicht nach dem Fenster. Nach LmsHeader sind die übrigen 28 Bausteine mit sm:/md:/lg: nachgezogen: Raster, Seitenspalten und Zeilenumbrüche fragen jetzt per @container ihren eigenen Platz ab

  22. Hinzugefügt1.15.0

    Die eingebauten Beschriftungen gibt es auf Englisch. Gewählt wird über lms.sprache in der app.config.ts (de oder en); labels gilt weiterhin und liegt über der gewählten Sprache, so dass sich einzelne Texte weiter austauschen lassen

  23. Geändert0.7.0

    src/runtime/utils/totp.ts kommt hinzu: TOTP in reinem JavaScript, gegen die Testvektoren des RFC geprüft. Einzige Änderung gegenüber der Quelle sind Nicht-Null-Zusicherungen an den Feldzugriffen — der Bestand an @ts-nocheck bleibt bei 51, und keine Ausnahme liegt außerhalb von fx/

  24. Hinzugefügt0.6.0

    useLmsProgress: Fortschritt lässt sich speichern, ohne dass die Bibliothek ein Backend kennt. Das Zielprojekt hinterlegt einmal einen Adapter mit get/set, die Bausteine nutzen ihn, wenn er da ist — sonst halten sie den Stand im Speicher wie bisher. Ereignisse wären hier nutzlos: MDC kann keine Events abonnieren, und genau dort werden diese Bausteine benutzt

  25. Behoben0.4.0

    Die Warnung Slot "default" invoked outside of the render function erscheint nicht mehr. Der Katalog läuft jetzt mit 0 Fehlern und 0 Warnungen

  26. Hinzugefügt0.3.0

    Der MDC-Bereich jedes Beispiels ist jetzt ein Editor: Syntaxhervorhebung, Code-Vervollständigung aus der Registry, Prüfung in sechs Stufen und eine Vorschau, die beim Tippen mitläuft. Oben rechts Zurücksetzen und Kopieren

  27. Hinzugefügt0.3.0

    Die Prüfung meldet unbekannte Bausteine, unbekannte Props, fehlende Pflicht-Props, unbekannte Slots, Events (die MDC nicht abonnieren kann) und den Typkonflikt, an dem man in MDC am häufigsten hängenbleibt: Inline-Attribute sind immer Zeichenketten, {count=14} übergibt "14"

  28. Hinzugefügt0.2.0

    API-Ansicht je Baustein: Props, Slots, Emits, Theme und dieser Changelog. In der Demo-Hülle als Reiter hinter dem Knopf API, auf der Detailseite ausgeschrieben

  29. Hinzugefügt0.2.0

    Emits werden dokumentiert. Sie sind der Grund, warum sich manche Bausteine aus Markdown heraus nicht vollständig bedienen lassen: MDC kann keine Events abonnieren

  30. Geändert0.2.0

    Die Komponentenreferenz der README wird jetzt vollständig erzeugt statt von Hand gepflegt

  31. Geändert0.2.0

    Auch die Tabelle der optionalen Abhängigkeiten wird erzeugt. Sie war gedriftet: motion-v stand mit 50 statt 54 Komponenten darin, @uiw/color-convert unter „je 1", obwohl es drei sind

  32. Hinzugefügt0.1.0

    Erstveröffentlichung: 187 Bausteine in 17 Kategorien, davon 40 didaktische Lms- und 147 dekorative Fx-Bausteine aus Inspira UI