Add LocalizedString and LocalizedContent #7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
MOOChub Schema Multilingual Enhancement
Zusammenfassung der Änderungen
Es besteht der Bedarf Kurse, die in mehreren Sprachen angeboten werden, mit mehrsprachigen Metadaten auszustatten oder nicht deutsche Metadaten als solche kennzeichnen zu können, um so Zielgruppen bei der Darstellung der Kurse besser erreichen zu können. Ich schlage vor die Kursmetadaten um Mehrsprachigkeit zu erweitern. Für Namen oder kuze Beschreibungen lässt sich hierfür der im AMB definierte Typ Localized String verwenden. Darauf aufbauend schlage ich einen weiteren Typ vor
LocalizedContent, der aufLocalizedStringaufbaut, und zuätzlich einen contentMediaTyp setzen lässt. Dieser würde es erlauben Textinhalte auch in anderen Formaten als HTML wie PlainText und Markdown zur Verfügung zu stellen, oder mindestens als solche zu kennzeichnen. Markdown eignet sich gut, da hier im Vergleich zu HTML der verarbeitenden Plattform weniger Freiheiten bei der Darstellung genommen werden können, jedoch dennoch wesentliche semantische Informationen erhalten bleiben. Die Kennzeichnung von Sprache und MediaType erlaubt außerdem eine zielgenauere und effizientere maschinelle Verarbeitung der Daten, sowie zielgerichtete automatisierte Übersetzungen. Dies würde zudem den Wert der MoochubDatenbank zum Beispiel für das KI-Modell-Training weiter stärken. Diese neuen Typen sind rückwärtskompatibel implementiert, sodass bestehende Datensätze weiterhin valide bleiben würden. Nur Moochub-Clients müssten die Änderung sofort unterstützen.1. Neue Typen definiert
Localized String
LocalizedContent2. Rückwärtskompatibilität
Das neue Schema ist rückwärtskompatibel für Provider
Moochub-Clients müssten allerdings kompatibilität für die neuen Typen sicher stellen.
Alternativ könnte localizedString auch ohne Fallback eingesetzt werden, um den Umstieg zu erzwingen. Dann wäre für keine Partei eine Rückwärtskompatibilität da.
3. Beispiele
Legacy Format (funktioniert weiterhin):
{ "name": "Confidential Communication", "description": "<p>A message on the Internet...</p>" }Neues mehrsprachiges Format:
{ "name": { "de": "Vertrauliche Kommunikation", "en": "Confidential Communication" }, "description": { "contentMediaType": "text/markdown", "content": { "de": "# Vertrauliche Kommunikation\n\nEine Nachricht im Internet...", "de": "# Confidential Communication\n\nA message on the Internet..." } } }5. Nächste Schritte
Für eine vollständige Implementierung könnten auch folgende Bereiche aktualisiert werden: