virtuos / courseware Goto Github PK
View Code? Open in Web Editor NEWInteraktive multimediale Lernmodule erstellen und bereitstellen
License: GNU General Public License v2.0
Interaktive multimediale Lernmodule erstellen und bereitstellen
License: GNU General Public License v2.0
Wenn man Sidebar-Blöcke einstellt, werden diese nicht exportiert.
Wie bereits für Evaluationen umgesetzt wird ein Blocktyp Umfragen gewünscht.
Indem man z.B. Fragen zur Verständlichkeit und Verbesserungsvorschläge zum aktuellem Inhalt stellen kann.
Das neue Vips bekommt man auf dem Plugin-Marktplatz.
Fragt man mit GET courseware/blocks/{id} einen Inhaltsblock ab, der laut sequentieller Kapitelabfolge nicht zugreifbar wäre, bekommt man diesen trotzdem.
Aus einer sehr ungewöhnlichen Anforderung ergibt sich der Wunsch, Unterkapiteltitel in der Kapitelnavigation einrücken zu können. Laut Tobias soll das immer dann passieren, wenn der Titel mit "++" beginnt.
Wenn ich das richtig überblicke, kann jeder courseware/discussions ansehen. Das soll vermutlich nicht so.
Durch ein BIEST in Stud.IP wird das Courseware-Plugin (und damit der Container) mehrfach angelegt. Solange dieses BIEST nicht behoben ist, muss dies händisch verhindert werden.
Dem courseware-Repo hier fehlt die Fork-Verbindung zum virtUOS/mooc.ip. Dadurch kann man u.a. keine Pull-Requests aus dem mooc.ip in dieses Repo hier anlegen.
Der dfb32-Branch enthält viele Features, die so oder in abgewandelter Form auch in den master-Branch gehören.
Nach den vielen Veränderungen wäre es gut, wenn die Blöcke sicherheitshalber überprüft würden.
Mooc.IP war auf Stud.IP < v3.1 ausgelegt. Courseware beinhaltete dazu Funktionen, um Fehlendes ggfs zu ergänzen. Bitte entfernen!
Selbsttests sollen so lange wiederholt werden, bis der Nutzer die richtige Lösung gefunden hat.
Beim Import von Freitextblöcken kann es zu Fehlern wegen unterschiedlicher Markierungen kommen.
Es ist zu prüfen welche Markierung vorliegt. Ggf. müssen die Markierungen gemäß der StudIP Version angepasst werden.
Elmar berichtet:
Ich habe mir gerade noch die Vips-Probleme vom Freitag auf dem
Testsystem angeschaut:
Die Ursache all der komischen Effekte (Vips nicht gefunden, angeblich
keine Rechte am Aufgabenblatt) liegt darin, daß bei den Ajax-Aufrufen
im TestBlock die Course-ID leer ist - sowohl in der Session als auch
im Aufruf selbst.
Der Aufruf geht auf:
http://example.com/studip/plugins.php/courseware/blocks/92?view=student
dort steht kein "cid" Parameter, d.h. er versucht die aus der Session
zu verwenden. In der Session steht aber auch keine mehr, da zuvor der
Aufruf:
passiert ist. Hier wird "cid=c41" übergeben, was keine gültige Kurs-ID
ist und dazu führt, daß in der Session die alte Kurs-ID gelöscht wird.
Alle weiteren Aufrufe in Vips ohne explizite Angabe der "cid" schlagen
dann logischerweiser fehl. Das erklärt auch, wieso es (bis zum Neuladen
der Seite) auf einmal funktioniert, wenn man in einem zweiten Tab eine
andere Seite im Kurs (z.B. den Aufgaben-Reiter) aufruft - das schreibt
dann wieder den korrekten Wert in die Session zurück. Ein Reload der
Courseware macht die Session dann aber wieder kaputt.
Es gibt hier also zwei Fehler:
JS-Aufrufe im Kurskontext müssen die Kurs-ID übergeben, sonst gibt
es spätestens dann Probleme, wenn der Nutzer in mehreren Tabs arbeitet.
Der Aufruf auf blubber/streams/more_comments setzt eine unsinnige(?)
Kurs-ID, die dann im folgenden zu Problemen führt, solange (1) nicht
repariert ist.
Nach Absprache von Tobias und Elmar benötigt dieser Subtype mehr Funktionalität und Tests und wird zunächst entfernt.
Sind bei einem Selbsttest 0 Punkte für die Aufgaben angegeben so werden auch falsche Antworten als richtig gelöst angezeigt.
Mit 57a10af sind DFB-Spezifika in den master-Branch gekommen. Bitte wieder entfernen.
Kodierungsprobleme siehe E-Mail von Elmar.
mit der angehängten Änderung scheint es jetzt wirklich zu funktionieren:
Da muss das Template geändert werden.
Der DiscussionBlock lebt derzeit in einem eigenen feature branch (und in dfb32) und möchte gerne in den master-Branch. Dazu muss er aber in den Einstellungen aktivierbar gemacht werden.
Layout Anpassung wegen neuer Elemente im TestBlock
Derzeit wird das nur verwendet, um title und publication_date zu setzen. Mglweise ist es also unnötig? Bitte prüfen!
hat Höhe 0, deshalb wird das Video nicht angezeigt
Derzeit liefert GET courseware/blocks im JSON die Klassennamen der children als "children" zurück. Vermutlich wird das nicht verwendet und sollte entfernt werden.
Beim zurücksetzen eines Selbsttests bekommt man eine 500 zurück.
Befinden sich Zuordnungsaufgaben in Akkordiontestblöcken nicht auf Seite 1, werden die Höhen der zuzuordnenden Elemente nicht korrekt ermittelt. Diese Elemente erscheinen dann versetzt. Nach dem ersten Ansortieren, ist dann wieder alles korrekt.
Die meisten Änderungen in Mooc.IP habe ich bereits in master und dfb32 von virtUOS/courseware gemerged. Nur diese beiden Änderungen benötigen tiefergehendes Verständnis:
Da @tgloeggl sich schon in die entsprechenden Interna eingefuchst hat, kann er da sicher gut helfen.
Fatal error: Call to a member function getProgress() on a non-object in /Projects/github/courseware/controllers/blocks.php on line 33
An der UOS wurde das Courseware-Plugin installiert. Obwohl es noch in keiner VA aktiviert wurde, existieren schon Tausende mooc_block-Einträge. Grund dafür ist, dass das Plugin auch für VAs instanziiert wird, in denen es nicht aktiviert wurde.
Der Text des Confirmation-Blocks im Seitenblock wird nicht angezeigt.
Die Datei ist ein Überbleibsel aus Mooc.IP.
Im Moment ist der TestBlock sehr auf Selbsttest ausgelegt. Da Übungsblätter keine Lösung von Vips erhalten wird immer "Ihr Lösungsversuch war noch nicht korrekt. Versuchen Sie es bitte nochmal." angezeigt.
Im Branch testblock wird diese Meldung bereits für Übungsblätter nicht angezeigt.
Was soll nach dem absenden einer Lösung passieren?
Die Frage ausblenden und zur nächsten wechseln
oder
die Frage weiterhin mit der gewählten Lösung und einem Infotext anzeigen.
Es sind grundlegende Änderungen in Bridge.php bzw. TestBlock.php notwendig.
Zeile 38 in Bridge.php zeigt bereits die richtige Vorgehensweise.
Einstellung einbauen, damit Tutoren evtl auch editieren können
Um den Diskussionsblocktyp einbauen zu können, benötigt man einen Ort zum Speichern der Aktivierung. Irgendwo muss also stehen, dass in einer spezifischen Courseware ein bestimmter Blocktyp aktiv/inaktiv ist.
Ideen, wo das stehen könnte:
Kann der alter BlubberBlock eigentlich deaktiviert werden?
Als Überbleibsel aus Mooc.IP wird beim Installieren immer noch die nobody-Rolle für das Plugin freigeschaltet. Das ist aber nicht mehr sinnvoll.
Der Vips-Aufgabentyp (Selbsttest, Klausur, ...) kann sich nach dem erstmaligen Einbinden ändern. Um daraus resultierende unerwünschte Effekte abzufangen, soll vor jeder Anzeige geprüft werden, ob der Einbindungstyp dem Vips-Blatt-Typ entspricht und widrigenfalls eine Fehlermeldung angezeigt werden.
Während des Sortierens ändert sich die Breite der Zuordnungsaufgabenelemente. Das muss verhindert werden.
Man muss mindestens n Zeichen geschrieben haben damit der Block als bestanden gilt
(n ist später Kursbezogen konfigurierbar, z.B. n = 100)
Wenn Blubber-Kommentare eine Notification erzeugen und die Courseware in der Lage wäre, diese Notification zu empfangen, könnte #setGrade am entsprechenden Gruppendiskussionsblock für diesen Nutzer aufgerufen werden.
Der progression-Typ der Courseware wird nicht korrekt ex/importiert.
Die gegenwärtige Implementation der sequentiellen Kapitelabfolge funktioniert auf Unter/Kapitel-Ebene. Hat ein Unterkapitel mehrere Abschnitte, ist es aber möglich, diese nach freier Wahl anzusteuern.
Ist das das gewünschte Verhalten?
Warning: Invalid argument supplied for foreach() in /Projects/github/courseware/blocks/TestBlock/Model/MultipleChoiceAnswersStrategy.php on line 80
In der Klasse Mooc\DB\User wird bei #canRead nicht auf die sequentielle Kapitelabfolge geachtet. Wenn dieses Ticket bearbeitet wird, muss auf die Performance geachtet werden!
PHP Fatal error: Class 'Symfony\Component\DomCrawler\Crawler' not found in /usr/local/studip/3.2/public/plugins_packages/virtUOS/Courseware/blocks/HtmlBlock/HtmlBlock.php on line 108
Früher und auch nach c7ef664 besteht immer noch die Möglichkeit, dass Aufgaben mehrfach pro Seite angezeigt werden können. Dann wären die IDs nicht mehr eindeutig und es würde zu Problemen kommen.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.