Skip to content

feat(lms): Oberflaeche der nativen Lernmodule / Native learning module UI - #218

Merged
securebitsorg merged 1 commit into
mainfrom
feat/lms-native-ui
Aug 25, 2026
Merged

feat(lms): Oberflaeche der nativen Lernmodule / Native learning module UI#218
securebitsorg merged 1 commit into
mainfrom
feat/lms-native-ui

Conversation

@securebitsorg

@securebitsorg securebitsorg commented Aug 25, 2026

Copy link
Copy Markdown
Member

Die Oberfläche zur Engine aus dem Enterprise-Add-on (dort PR #58 gemergt, #63 offen). Eigener Zweig, damit der neue Weg bis zur Fertigstellung abschaltbar bleibt und die bestehende Kursansicht unverändert nutzbar ist.

Routen

  • /lms/native — Verwaltung: Bündel einspielen, Katalog, Importjournal, Meldeweg
  • /trainings/native/:assignmentId — Teilnehmersicht: Level, Video, Interaktion

Ist der Schalter der Installation aus, antwortet das Backend mit 404. Die Verwaltungsseite zeigt dann den Schalter zum Einschalten statt einer Fehlermeldung, die Teilnehmerseite einen ruhigen Hinweis.

LmsInteraction

Deckt choice, estimate und sequence ab. Die Komponente kennt die Lösung nicht — der Server liefert die Interaktion ohne correct-Marken, ohne Zielwert und ohne Trefferbereiche und gibt das Urteil erst als Antwort auf das Absenden zurück.

Das Zeitlimit läuft ab, ohne zu bestrafen; erneut versuchen ist erlaubt, weil die Interaktion ein Lernmittel ist und nicht das Prüfmittel.

Zwei bewusste Entscheidungen

Kein Punktestand. Fortschritt sind Level-Punkte in der Kopfzeile. Sobald eine Zahl je Person in Berichte gelangen kann, ist sie eine Leistungskennzahl (§ 87 Abs. 1 Nr. 6 BetrVG).

Freischaltung wird angezeigt, nicht berechnet. unlocked kommt je Level vom Server; die Seite rechnet nichts nach.

sequence als Klick ins Bild

Die frühere Texteingabe-Behelfslösung ist ersetzt: Die sequence-Form zeigt das Level-Bild als Klickfläche. Der Browser sammelt nur Klickpunkte (relativ 0..1) und schickt sie zum Server — welcher Bereich getroffen wurde, entscheidet der Server, die Trefferbereiche verlassen ihn nie im Voraus. Erst die Antwort enthält die rects der gefundenen Bereiche und markiert sie im Bild; nicht Gefundenes bleibt unsichtbar. Das Bild wird per fetch mit Auth geladen und als Blob-URL angezeigt (ein img src kann keine Bearer-Header senden). Letzter Klick ist zurücknehmbar; ohne Bild bleibt die Texteingabe für Textmarken.

Braucht die Gegenstücke aus enterprise PR #63 (Bild-Endpunkt, Klick-Auflösung).

npm run build und tsc --noEmit laufen durch.

…e UI

DE:
- Eigener Zweig: /lms/native (Verwaltung) und /trainings/native/:id
  (Teilnehmer). Die bestehende Kursansicht bleibt unveraendert
- Ist der Schalter der Installation aus, antwortet das Backend mit 404; die
  Verwaltungsseite zeigt dann den Schalter statt einer Fehlermeldung, die
  Teilnehmerseite einen Hinweis
- LmsInteraction deckt choice, estimate und sequence ab. Die Komponente kennt
  die Loesung nicht - der Server liefert die Interaktion ohne correct-Marken
  und gibt das Urteil erst auf das Absenden zurueck
- Fortschritt als Level-Punkte, kein Punktestand
- Freischaltung wird angezeigt, nicht berechnet: "unlocked" kommt vom Server
- Zeitlimit laeuft ab, ohne zu bestrafen; erneut versuchen ist erlaubt, weil
  die Interaktion ein Lernmittel ist
- Uebersetzungen DE und EN

EN:
- Separate branch: /lms/native (admin) and /trainings/native/:id
  (participant). The existing course view stays unchanged
- With the installation switch off the backend answers 404; the admin page
  then shows the switch instead of an error, the participant page a notice
- LmsInteraction covers choice, estimate and sequence. The component does not
  know the solution - the server delivers the interaction without correct
  markers and returns the verdict only on submit
- Progress as level dots, no score
- Unlocking is displayed, not computed: "unlocked" comes from the server
- The time limit runs out without penalty; retrying is allowed because the
  interaction is a teaching device
- Translations DE and EN

Signed-off-by: marci <support@secure-bits.org>
@securebitsorg
securebitsorg merged commit cf65a63 into main Aug 25, 2026
10 checks passed
@securebitsorg
securebitsorg deleted the feat/lms-native-ui branch August 25, 2026 16:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant