Giter Site home page Giter Site logo

virtuos / courseware Goto Github PK

View Code? Open in Web Editor NEW
6.0 6.0 5.0 64.09 MB

Interaktive multimediale Lernmodule erstellen und bereitstellen

License: GNU General Public License v2.0

PHP 10.00% JavaScript 70.34% CSS 9.71% Shell 0.07% Python 0.84% Makefile 0.01% Vue 1.74% Less 3.91% Mustache 3.39%

courseware's People

Contributors

asudau avatar cgreweling avatar dennis531 avatar lkoehler avatar luhcas avatar noesting avatar rlucke avatar tgloeggl avatar tthelen avatar xabbuh avatar zabbarob avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

courseware's Issues

Umfragen als Block einbinden

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.

Unterkapiteltitel mit Einrückung

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.

Container mehrfach instanziiert

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.

Fork-Verbindung fehlt

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.

Import: Freitext-Block-Inhalte angleichen

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.

Vips-Probleme

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:

http://example.com/studip/plugins.php/blubber/streams/more_comments?thread_id=5efa5e3d31233b496ddae795dabdbf93&cid=c41&count=all

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:

  1. JS-Aufrufe im Kurskontext müssen die Kurs-ID übergeben, sonst gibt
    es spätestens dann Probleme, wenn der Nutzer in mehreren Tabs arbeitet.

  2. 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.

HTMLBlock bugfix einspielen

Kodierungsprobleme siehe E-Mail von Elmar.

mit der angehängten Änderung scheint es jetzt wirklich zu funktionieren:

  1. $this->toJSON() ist notwendig
  2. der Wert steckt in $result['fields']['content'], nicht $result['content']

Da muss das Template geändert werden.

Branch "discussionblock" mergen

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.

Zuordnungsaufgaben in Akkordiontestblöcken

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.

Courseware angelegt, obwohl nicht aktiviert

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.

TestBlock: Verhalten bei Übungsblatt

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.

VipsPlugin

Es sind grundlegende Änderungen in Bridge.php bzw. TestBlock.php notwendig.

Zeile 38 in Bridge.php zeigt bereits die richtige Vorgehensweise.

Einstellungen: Blocktypen kursweit de/aktivieren 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:

  • Stud.IP Datenfeld für Veranstaltungen: gäbe es dann aber auch für VAs ohne Courseware
  • Courseware-Block-Scope-Field: das wäre vermutlich zu dynamisch für etwas, was man eigentlich häufig braucht
  • neue Datenstruktur

Ansicht für Nobody

  • Falls courseware in einer freien Veranstaltung verwendet wird sollten die Inhalte entsprechend für Nobody komplett sichtbar sein oder gar nicht
  • derzeit ist der Courseware Reiter sichtbar aber es werden keine Inhalte angezeigt

Vips-Aufgaben-Typ vor Anzeige prüfen

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.

Bestehenskriterium für Gruppendiskussion

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.

Sequentielle Kapitelabfolge

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?

Export funktioniert nicht

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

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.