Giter VIP home page Giter VIP logo

mathe-jung-alt's Introduction

mathe-jung-alt

Documentation

The documentation can be found here:

Resourcen lokal

Bilder

  • /media/veracrypt1/knobelarchiv_2/latex/resources
  • /media/veracrypt1/knobelarchiv_2/latex/internetarchiv/resources

LaTeX

  • /media/veracrypt1/knobelarchiv_2/latex/aufgabenarchiv
  • /media/veracrypt1/knobelarchiv_2/latex/loesungsarchiv
  • /media/veracrypt1/knobelarchiv_2/latex/internetarchiv

Release-Notes

hier

mathe-jung-alt's People

Contributors

heike2718 avatar

Watchers

 avatar

mathe-jung-alt's Issues

FE: file upload component ist dysfunktional und unresponsive

Man sieht nicht so richtig, was eigentlich passiert, wenn es mehr als eine Grafikdatei zum Hochladen gibt. Daher ist eine Variante mit upload-Button wie in der Minikänguru-Anwendung wohl besser. Ein Progress-Bar wird dann nicht benötigt.

Prod-Infrastruktur bereitstellen

Insbesondere CORS-Header für die Minikänguru-OpenData-Anbindung.

Die Daten der bis dahin in der Entwicklungsdatenbank gespeicherten Rätsel und die Deskriptoren sollten am besten per dump gleich importiert werden. Das spart Zeit.

Preflight-Count-Abfrage sparen

Suchabfragen sollen neben den n Treffern die Gesamtanzahl der Treffer zurückliefern.

Dann kannn der preflight-Workflow zum Suchen entfallen

Autorisierung von APIs

Ressourcen mittels rollenbasierter Autorisierung und bearer-Header sichern (das wäre neu für mich) oder, alternativ, ähnliches Vorgehen wie beim Minikänguru-Wettbewerb mit selbstgebastelter URL-Autorisierung. Aber mal schauen, wie Quarkus das vorschlägt, ist besser, weil ich das für die Arbeit brauche.

Import von Bildern als eps

Für Rätsel mit externen Grafiken müssen die eps-Dateien hochgeladen und in die vorbereitete Verzeichnisstruktur eingebettet werden.
Zunächst wird auf das Scannen nach Viren verzichtet, da ich mir vertraue und es noch keine anderen Admis gibt.

Zu klären ist noch, ob und welche Metadaten in der Datenbank abgelegt werden sollen. Aber ich schätze mal, der bisher verwendete verzeichnis/schluessel- Identifizierer sollte da sein, ein Name und ein Kommentar. Bildervolltextsuche nach Name und Kommentar?

Kann eps im Browser angezeigt werden? Falls ja, Bilderdetails-View wäre hübsch. Aber da die Bilder in Rätseln integriert sind, hat das keine hohe Priorität, denn man sieht sie in der Rästseldeaiils-View.

REST-API zum Laden eines Minikänguru-Wettbewerbs mit Images

Aus der Minikänguru- Open-Data-App soll mittels POST- Request (Autorisierung mit Client-ID im Payload Server2Server) der Minkänguruwettbewerb für jedes Jahr geholt werden können.

Inhalt sollten die Aufgaben-PNGs und der Lösungsbuchstabe für jede Aufgabe sein. Also ein hübsches JSON mit Base64-encodeten Images.

Automatisches Generieren der Historie unterbinden können

Momentan wird immer, wenn sich LaTeX- Zeug ändert, automatisch ein Historie-Eintrag erzeugt. Das könnte auf Dauer die DB aufblähen. Daher wäre es gut, mittels Schalter das automatische Generieren deaktivieren zu können.

Alternativ: Historie-Einträge auflisten und eintelne löschen können?

Ist nicht hoch priorisiert bis zum Produktivgang, da die Historie vor dem dumpen geleert werden kann. Aber eigentlich wäre es auch jetzt schon gut.

Druck-Dialog für Rätsel fertigstellen

In der Admin-Anwendung (Rätsel-Details) wird ein Dialog eingebunden, bei dem man das gewünschte Ausgabeformat (PNG/PDF) wählen kann und die Darstellung der Antwortvorschläge.

Die OK-Aktion muss an die bereits fertige API angebunden werden. Außerdem ist das Layout noch Müll.

Übersetzungen von Rätseln ermöglichen

zum gleichen SCHLUESSEL (gleiche UUID) muss es übersetzungen der Frage, Lösung und Antwortvorschläge in andere Sprachen geben können. Mindestens Englisch ist erforderlich, aber es soll generisch gehen.

Idee: wie bei localization Einträge in Tabelle UEBERSETZUNG_EN, UEBERSETZUNG_XX mit gleicher UUID und gleichem SCHLUESSEL und nur den Spalten FRAGE, LOESUNG, ANTWORTVORSCHLAEGE und den Verwaltungsdaten.

Lösung generieren

Neben der Aufgabe soll auch die Lösung generiert werden. Dateiname: schluessel_l.png / schluessel_l.pdf.

Falls das Rätesel Antwortvorschläge hat, soll der Text der Datei beginnen mit

"Lösung ist X"\par

und hier der Text aus dem LaTeX-Schnipsel.

Das PNG soll unterhalb des Bildes mit der Frage angezeigt werden (vielleicht expandable, da es sehr lange Lösungen gibt)

FE: LoadingIndicatorFacade mit Status erforderlich

Wenn der SafeNgrxService in den Fehlerzweig läuft, werden durch einzelne Facaden getriggerte Loading-Indikatoren nicht gestoppt. Daher ist es besser, analog zu der message-lib eine loading-indicator-lib zu basteln, die den loading-State zentral hält.

Suchfilter und Trefferliste werden beim Navigieren zurückgesetzt => zu häufige Backend-Calls

Beim Navigieren zur Suche soll zumindest der letzte Suchfilter erhalten bleiben, damit die Suche nochmals durch einen ngrx/effect getriggert werden kann. Das ist die zweitbeste Lösung

Beste Lösung: Trefferliste und Suchfilter beiienander halten, aber dann müsste pagination clientseitig erfolgen. Das ist für Quellen und Medien möglicherweise akzeptabel.

Also, ich kann ja mal beide Varianten ausprobieren, um die Vor- und Nachteile zu sehen.

Leere Fehlermeldungen wenn kein MessagePayload

Wenn aus dem Backend ein Statuscode != 2xx zurückkommt, wird nicht immer dieb Fehlermeldung angezeigt.

2 Dinge sollen daher getan werden:

  • Im ErrorInterceptor muss anhand des Statuscodes eine generische Fehermeldung angezeigt werden
  • Im Backend soll das Werfen von WebApplicationExceptions überprüft werden: es muss dort ein html-freies Payload gesendet werden. Payload muss stattdessen ein MessagePayload-Objekt mit qualifizierter Fehöermeldung sein.

Weitere Actions im RaetselEditor

Aus dem Rätsel-Editor kommt man momentan nur über die Rätselsuche heraus.

Es wäre gut, wenn es einen Button zum Wechsel in die Detailansicht gäbe. Dann könnte man im Anschluss ans Speichern generieren und die Ausgabe auch sehen.

Alternativ: Generieren- Dialog in den Rätsel-Editor einbauen, aber das Problem ist, dass dieser sowieso schon überladen ist. Also könnte man mal probieren, ob man das Frage-PNG und das Lösung-PNG in einem Dialog anzeigen kann. Dann müsste man nicht wechseln, um das Ergebnis des Editierens zu sehen.

Aufgabensammlungen

Dies ist erst einmal ein Epic, also noch zu klumpig, um es zu planen

Es sollen Aufgabensammlungen angelegt werden können, wobei die Inhalte al JSON in der DB abgelegt werden.

Die Inhalte benötigen eine Kopplung zwischen Aufgabennummer und Schlüssel des Rätsels.

Ein serverseitiger Generator soll das LaTeX gerenrieren und zum Download bereitstellen.

Wäre gut, wenn das bereits für den kommenden Minikänguru-Wettbewerb vorhanden wäre

Lösungsbuschtaben in Raetselgruppen anzeigen

Bei Mutliple Choice- Rätselgruppen sollen die Lösungsbuchstaben bei den jeweiligen Eemeten angezeigt werden, damit ein vergleich mit den Minikänguru-Wettbewerben schnell geht.

Rätsel freigeben und Freigabe zurückziehen

Rätsel müssen in der Detailansicht freigegeben werden können und die Freigabe muss zurückgezogen werden können. Freigabe: Status ändern auf FREIGEGEBEN, Rücknahme der Freigabe: Status ändern auf ERFASST.

Änderung und Erweiterung Suchfunktionalität

Aktuell kann man Volltextsuche nur mit einem String machen. Nützlich wäre eine akkumulierte Suche oder man lässt mehrere Worte zu (Trenner ist Leerzeichen) und verknüft mit OR.

Es sollte auch möglich sein, Deskriptoren mit OR zu verknüfen, weil manchmal nicht ganz sicher ist, wie vollständig
die Daten diesbezüglich sind.

Darüber hinaus muss eine negative Suche nach Deskriptoren möglich sein, also NOT LIKE deskriprorIDs z.B. Rätsel ohne den Deskriptor "Minikänguru".

Autorisierung des Minikänguru-Clients für die Rätselsuche

API für die die Rätselsuche durch nichtmenschliche Akteure bereitstellen.

Die Infratsruktur und insbesondere die Autoriiserung ist noch nicht klar. Das muss noch ausprobiert werden.

Aufgaben des laufenden Wettbewerbs und Entwürfe dürfen durch diese Schnittstelle nicht gefunden werden. Diese Regel muss unabhängig vom Aufrufer implementiert werden, damit sich auch Personen später keinen Zugang zu noch nicht öffentlichen Aufgaben verschaffen können.

Suche mit Deskriptoren hat Fehler

Vermutlich, wenn einer der Deskriptoren ganz am Anfang oder ganz am Ende steht, wird die Entity nicht gefunden.

Möglicherweise ist es besser, die Deskriptoren mit einem Komma zu beginnen und abzuschließen.

Zu viele conosle-logs

erst einmal alle console-logs entfernen oder nur wenn nicht PROD anzeigen.

Später soll mal ein Logservice eingebaut werden: I0042

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.