Skip to content

Releases: ostepu/ostepu-core

v0.6.2

14 Jun 08:54

Choose a tag to compare

#298 CGate, Wiki-Seite anlegen
Es wurde eine WIki-Seite für DBGate und CGate angelegt, welche die Nutzung der externen API erklärt.

#295 Installationsassistent, die Regeln für CGate bei den Komponente abfragen (partially solved)
Über die Komponente TApiConfiguration können nun Profile/Regeln von Komponenten eingesammelt werden.

Beispiel aus CSystem:

public function getApiProfiles( $callName, $input, $params = array() )
{   
    // wir wollen den Namen unserer Komponente nicht immer schreiben müssen, daher speichern wir ihn hier in $myName
    $myName = $this->_component->_conf->getName();
    // Sie können damit auch Profile/Regeln für andere Komponenten definieren und übermitteln
    
    $profiles = array();
    $profiles['readonly'] = GateProfile::createGateProfile(null,'readonly'); // für das readonly-Profil
    
    // hier wird der einzige Befehl dieser Komponente als erlaubte Regel aufgenommen (GET /timestamp)
    $profiles['readonly']->addRule(GateRule::createGateRule(null,'httpCall',$myName,'GET /timestamp',null));
    
    $profiles['general'] = GateProfile::createGateProfile(null,'general');
    $profiles['general']->setRules($profiles['readonly']->getRules()); // übernimmt alle aus readonly
    
    $profiles['develop'] = GateProfile::createGateProfile(null,'develop');
    $profiles['develop']->setRules(array_merge($profiles['general']->getRules(), $this->_component->_com->apiRulesDevelop($myName))); // übernimmt alle aus general

    $profiles['public'] = GateProfile::createGateProfile(null,'public');
    $profiles['public']->addRule(GateRule::createGateRule(null,'httpCall',$myName,'GET /timestamp',null));
    return Model::isOk(array_values($profiles));
}

#291 über GitLab einsenden
Im Installationsassistenten kann nun das Paket GitLab ausgewählt werden, welche alternativ das Einsenden über GitLab-Repository erlaubt (es wird mit Webhooks gearbeitet... das Einsenden erfolgt über Tags)

#293 Kursverwaltung, die Kursnummer anzeigen
Die Administratoren sehen nun die ID der Veranstaltung in der Kursverwaltung

b

Korrekturassistent 2.0

Am neuen Korrekturassistenten wird weiterhin eifrig gearbeitet (eine erste readonly Testversion ist enthalten)

#272 Korrekturassistent, ein Tutor darf die Namen nicht sehen
#294 Korrekturassistent, neben jedem Eintrag die markingId anzeigen

v0.6.1

05 Mar 12:44

Choose a tag to compare

#278 FAQ anlegen, um häufige Fragen zu klären

a

Studenten

Wie kann ich eine Übungsgruppe erstellen oder einer beitreten?
Was kann ich tun, wenn ich eine Einsendung versehentlich gelöscht oder überschrieben habe?

Tutoren

Wie kann ich Einsendungen bewerten?
Wo kann ich die bewerteten Einsendungen abgeben?

Admins

Wie kann ich einen Studenten nachträglich zu einer Gruppe hinzufügen?
Wie kann eine Veranstaltung über mehrere Semester genutzt werden?
Was kann ich tun, wenn ein Student seine Einsendung überschrieben oder gelöscht hat?

#279 Hinweis beim Hochladen, der Nutzer ist selbst für den Inhalt verantwortlich

Übungsserie erstellen

a

Hilfeseite beim Erstellen einer Übungsserie

b

#277 Downloads beschränken, Datei-URLs sollen nicht permanent zugänglich sein
Die URLs zum Herunterladen von Dateien (von Links auf der Seite) sind nun nur noch 30 Minuten gültig.

#201 Datei-Referenzen, externe Referenzierung ausbauen

In globalReference einer Dateireferenz wird nun ein Pfad eingetragen, der auf den reference-Ordner im Dateisystem verweist, dort wird die temporäre Datei hin kopiert, sodass man sie über FSBinder abrufen kann.
Beispiel:

 "file": {
            "displayName": "EinsendungA.sql",
            "timeStamp": 1484607390,
            "body": {
                "localRef": "C:\\xampp\\tmp\\php3CCC.tmp",
                "globalRef":"reference\/7\/b\/5\/5ed1db67f007e3f889fb81f526332d022b10f"
            }

#281 Kursverwaltung, Hilfeseite der WEITERLEITUNGEN

#283 super-admin, Passwörter der Nutzer ändern können

b

#284 Installationsassistent, Systembestandteile-Git, es soll nur die aktuelle history bei clone runtergeladen werden

  • in Paketverwaltung.php wurde bei git clone mit --depth 1 gearbeitet
  • damit lädt er bei beim Herunterladen eines Pakets nun nicht mehr den gesamten Verlauf mit.

#287 Downloads sollten nicht den Plattformschlüssel verwenden, sondern einen eigenen

Die Downloadbeschränkung besitzt einen eigenen Schlüssel im Installationsassistenten
a

#289 LTutor.php, beim Umwandeln in eine PDF, Dateigröße beschränken + Hinweis
Die Dateigröße wurde auf 20kb beschränkt, wenn die Eingabedatei zu groß ist, dann wird zwar trotzdem eine PDF generiert, aber der Inhalt der Einsendung ignoriert.

#288 Zulassungsbedingungen, Schwellwert anzeigen
page_admin_condition_setd_de

#282 LDAP als Login verwenden

c
ldap-conf

v0.6.0

19 Dec 09:30

Choose a tag to compare

Gruppenverwaltung

#262 Group.php, beim vereinen von Gruppen sollen Einsendungen besser übernommen werden
Beim Verändern der Gruppenstruktur (Beitreten, Verlassen oder Auflösen) wurde die Auswahl der Einsendungen, welche für die Bewertung vorgesehen sind, bisher nur aufgehoben. Nun wird versucht die bisherige Auswahl in die neue Gruppe zu übernehmen bzw. die eigenen Einsendungen in der Gruppe einzubringen.

Übungsserie erstellen

#174 Serie Erstellen, Dateitypenbeschränkung sollte auch alleinstehende Endungen akzeptieren
Beim Beschränken der Einsendungsdateien konnte man bisher nur den mimeType oder mimeType+Endung angeben, nun soll auch nur eine Endung erlaubt sein, mittels .java oder *.java.

page_admin_createsheet_createexercisei_de
Es kann nun ausgewählt werden, ob Studenten die Korrekturen bereits vor dem Ablauf der Übungsserie sehen sollen

Allgemeines

Das Logo der Übungsplattform

Es gibt nun unter UI/images/head_logo_hover_default.jpg ein default Logo, welches eingebunden wird, wenn kein weiteres existiert. Ein eigenes Logo kann in dem Ordner platziert werden, mit dem Namen head_logo_hover.jpg oder head_logo_hover.png.

#275 Zulassungsbedingungen umbenennen
Der Bereich Zulassungsbedingungen wurde in Zusammenfassung umbenannt
a

Eventbilder

Es wurden Eventbilder für die Ereignisse Halloween, Weihnachten, Ostern und Valentinstag eingefügt
a

b

c

d

Einsendungsbewertung

#269 CourseSettings, ob Tutoren die Namen sehen (im Korrekturarchiv), soll einstellbar sein
a

#271 Korrekturarchiv, die generierten PDFs dürfen bei Tutoren die Studentennamen nicht enthalten
Ein Tutor sieht den Studentennamen nur, wenn es erlaubt ist

#274 Korrektur hochladen, Fehler im CSV -Format sollten besser erkannt werden (speziell Kommas)
a
Es wird nun besser erkannt, ob das CSV-Format korrekt ist.

#268 Einsendungen herunterladen, Admins sollen die Namen der Studenten sehen
Beim Erzeugen des Korrekturarchivs in der Veranstaltungsübersicht, erhalten Admins nun auch die Studentennamen

Installationsassistent

#280 Installationsassistent, die ausstehenden Aktualisierungen und Systembestandteile sind manchmal falsch
Es kam vor, dass manche Pakete unter Systembestandteile eine Aktualisierung anzeigten, welche aber für ostepu-core vorgesehen war (nur die Darstellung war falsch)

Systembestandteile

b
Die Repositories, welche sich hinter den Paketen verbergen, werden nicht mehr bei jedem Betreten der Seite auf Änderungen geprüft.

Technisches

#47 Keine optionalen Schrägstriche in Aufrufen erlauben
Es wurden unnötige optionale Anfrageanteile entfernt, wie bei:
GET /user/:userId(/) und GET /user(/)

Datenbankzugänge

Der Installationsassistent erzeugt nun neben dem normalen Datenbanknutzer noch 3 weitere, welche abgestufte Zugriffsrechte besitzen, so gibt es den READ, WRITE und SETUP Nutzer, diese bieten über den Datenbankzugang DBQuery2 einen exakteren Zugang, weil damit nur benötigte Rechte verwendet werden. Zudem setzt DBQuery2 beim Aufruf einer Prozedur (procedureCall) nun auf einen Zugang, welcher nur eine einzelne SQL-Anfrage erlaubt.

die Zugangskomponente CGate

Es können nun einfache externe Zugänge definiert werden und eine Art Interface für interne Komponenten erzeugt werden, welche nur festgelegte Befehle durchlassen. Dabei würde also beispielsweise ein interner Aufruf http://localhost/uebungsplattform/DB/DBUser/user/user/1, über das Profil MeinProfil zu einem externen Aufruf http://meineURL/uebungsplattform/DB/CGate/interface/MeinProfil/DBUser/user/user/1.
a
Dabei gibt es aber bisher nur den unbeschränkten Zugang und HTTP-Auth, für die Zugangsbeschränkung.

v0.5.0

27 Oct 16:32

Choose a tag to compare

#265 UploadHistory.php, soll im Studentenmodus die vom Studenten sein
#260 Zulassungsbedingungen, sollen auch für Dozenten verfügbar sein
#261 Condition.php, die dargestellten Daten sollen auf eine wählbare Serie begrenzt werden
a

#264 den Login während der Wartung blockieren
Der normale Zugang wird nun versperrt, wenn der Wartungsmodus im Installationsassistenten aktiviert wird.
a
Es kann zusätzlich ein Text festgelegt werden und eine Liste mit Nutzerkonten, welche sich trotzdem einloggen können.
b

#263 Lösung entwickeln, um externen Anwendungen den Zugang zu ermöglichen

Kursverwaltung

a

Übungsserien (Studenten, Tutoren, Admins)

b

c

#248 Zulassungsbedingungen, Übersicht hinzufügen
condition_summarya_de
condition_summaryd_de
condition_summaryg_de

Installationsassistent

Es können nun für Beispieldatenbanken die Einsendungsdateien als Dummys im Testdateisystem erzeugt werden.
a

Die Paketverwaltung zeigt nun bessere Informationen an und prüft stets, ob es Neuerungen gibt (für git).
b

Es wurden Probleme bei der Installation der Plattform behoben. Wenn der Server Oracle-Mysql verwendete, konnten keine Tabellen angelegt werden.

v0.4.4

16 Mar 15:37

Choose a tag to compare

#126 Admin.php, nicht-akzeptierte als eigener Status
d

#168 Veranstaltungsmeldungen
e

#244 Installationsassistent, install/.htaccess dem richtigen Segment zuordnen

#245 Installationsassistent, Segment zum Prüfen benötigter Anwendungen
f

#246 Installationsassistent, Segmente können collect-Methoden definieren
#247 Request.php, bei Objektaufruf den Arbeitspfad wieder zurücksetzen

#249 Installationsassistent, gource Skript als Segment einbauen
h

#250 Installationsassistent, generatePath.php und makeTree als Segment einbauen
g

#251 Unterprojekte von tilluhlig nach ostepu verschieben
#252 Installationsassistent, Segmente in jeweils eigene Unterordner aufteilen
#253 Strukturbeispiele sollten korrektes json enthalten
#255 PlugIns-Ordner in install verschieben und umbenennen
#254 Repositories umbenennen

LOOP

Die LOOP-Komponente und zugehörige Elemente wurden von Grund auf neu entwickelt und bieten nun die Möglichkeit, umfangreiche Testszenarien und automatische Vorkorrekturen, für die Einsendungen der Studenten, zu konfigurieren.
c

v0.4.3

04 Mar 10:38

Choose a tag to compare

❗ Diese Version kann nicht genutzt werden. ❗

#125 MarkingTool.php, nicht-akzeptierte als eigener Filter
#127 MarkingTool.php - anzeigen, wem Einsendung zugeordnet ist
#163 Kontrolleurszuweisung, Auswahlmöglichkeit beim Erzeugen von leeren Einsendungen
#189 Studentenrolle verbessern, Admins sollen mehr machen können
#191 Settings, Kategorien einführen
#192 Settings, Platzhalter für die Bezeichner einführen
#209 Aktionen der Studenten überarbeiten
#213 CourseManagement.php, Admins sollen Admins ernennen können
#216 Kontakt in Hilfeseiten einbetten
#219 Hilfe erstellen, Condition.php
#220 Hilfe erstellen, UploadHistory.php
#221 Hilfe erstellen, Account.php
#222 Hilfe erstellen, MarkingTool.php
#223 Hilfe erstellen, Student.php
#224 Hilfe erstellen, Upload.php
#225 Hilfe erstellen, Studentenmodus
#226 Hilfe erstellen, Veranstaltungsübersicht (index.php)
#227 TutorAssign.php, wenn es mehrere Korrekturen zu einer Serie gibt, werden alle angezeigt
#228 Admin.php, wenn es mehrere Korrekturen zu einer Einsendung gibt, werden alle gezählt
#229 SerieErstellen, Serienname anzeigen und schnellen Wechsel einrichten
#230 Kontrolleurszuweisung, Serienname anzeigen und schnellen Wechsel einrichten
#231 Einsendungsverlauf, der gewählte Nutzer muss sich gemerkt werden
#232 LForm, soll die Installation der LFormPredecessor und LFormProcessor übernehmen
#234 Installationsassistent, Sprachdatei auf Segmente aufteilen
#236 install.php, Platzhalter der Log() Aufrufe setzen
#237 install.php, Syntaxprüfung in den Bereich "Entwicklung" verschieben
#238 install.php, Pakete Auswahl nicht automatisch auslösen und auf Aktion warten
#239 Korrekturdatei für alle Einsendungen generieren
#240 Liste.csv um Hinweis zur Korrektur erweitern
#242 Einsendungsverlauf, Hinweis wenn Einsendungen zu einer Aufgabe existieren aber keine selektiert ist

v0.4.2

04 Mar 10:43

Choose a tag to compare

#103 DBTransaction-Fehlermeldungen exakter machen (404 ist nicht genug)
#193 TutorUpload, UTF8 Fehlermeldung anzeigen
#194 Dateifehler anzeigen, für Einsendungen mit hideFile=0 und file=null
#197 Hilfeseiten enthalten falsche URL
#202 Einsendungsverlauf, beim Datum die Sekunden anzeigen
d

#203 Installationsassistent, SiteKey als Seiteninfo (rechts)
a

#204 Installationsassistent, Hinweis wenn SiteKey = default
b

#205 Installationsassistent, externe URL korrekt verarbeiten
#206 Installationsassistent, externe URL in Config.php eintragen
#207 Account-ChangePassword, Hinweis einfügen
c

#208 DBMarking, abgerufene Elemente sind nach Submission::ID und nicht nach Marking::ID geordnet
#210 FSFile und FSBinder, korrekten mime-type zurückgeben

v0.4.1

04 Mar 10:45

Choose a tag to compare

#87 "Aufgaben hochladen" Schaltfläche für Studenten, umbenennen
#130 Formulareingaben mit ' Fehlerhaft bei der Umwandlung in PDF
#160 Darstellungsfehler in der Kontrolleurszuweisung
#172 Installationsassistent, Git pull / fetch integrieren
#175 UI/Config.php darf nichtmehr zur Plattform gehören, damit untracked
#180 Korrekturarchiv, manche Dateieinträge der FILE-Spalte enthalten ein unnötiges K_
#181 Tutor-Upload, wenn Korrekturarchive nicht korrekt formatiert waren, kommt es zu seltsamen Fehlermeldungen
#184 Korrekturassistent, "Korrekturarchiv erstellen" nach der ersten Auswahl sichtbar machen
#185 "zur Veranstaltung"- und "Veranstaltung wechseln"-Schaltfläche besser trennen
#186 keinen . (Punkt) am Anfang einer Datei erlauben (für Studenten)
#190 Fernüberwachung, Fehlermeldung an Statuscode anhängen
#195 Dateigröße wird bei size<=0 als NANB angezeigt
#196 Korrekturassistent, Anzeigefehler bei Tutor-Kommentaren mit "
#198 Korrekturassistent, Anzeige der Studentenkommentare muss escaped werden
#199 Bilder der Hilfe-Schaltflächen zu groß

v0.4.0

04 Mar 10:46

Choose a tag to compare

Hilfeseiten ergänzt

  • Kursverwaltung (+Einstellungen, +Erweiterungen)
  • TutorUpload
  • Gruppenverwaltung
  • Serie-Erstellen
  • Kontrolleurzuweisung
  • Korrekturassistent

maximale Einsendungsgröße für Studenten

setting_maxstudentuploadsizea_de
setting_maxstudentuploadsizeb_de
Der Wert kann in der Kursverwaltung festgelegt werden.

Fernüberwachung

http://localhost/uebungsplattform/DB/CHelp/status

Referenzen auf Dateien

Wenn eine Datei lokal im System existiert (temporäre Datei etc.), kann diese als Referenz im Body eines File-Objekts transportiert werden. Diese Referenz muss aufgelöst werden, um den Inhalt abzurufen.

Hinweis: SHOW INDEX FROM File;

Beispiele:

Quelle: UI/Upload.php (Student lädt Datei hoch)

$uploadFile = File::createFile(null,$file['name'],null,$timestamp,null,null);
$uploadFile->setBody(Reference::createReference($file['tmp_name']));

Es wird eine Referenz auf die temporäre Datei $file['tmp_name'] gesetzt.

Quelle: UI/Upload.php (Student füllt HTML-Formular aus)

$uploadFile->setBody(Form::encodeForm($formdata),true);

Hier wird der Inhalt für setBody direkt base64 kodiert, durch den setBody(INHALT, true) Aufruf.

Quelle: ???

$fileObject->getBody()

Es wird der Inhalt eines File-Objekts abgerufen (ohne den Inhalt wirklich zu benötigen, kein dereferenzieren).

Quelle: FS/FSFile/FSFile.php

$fileObject->getBody( true )

Dieser Aufruf löst die Referenz auf, bzw. führt base64_decode() aus, sodass der tatsächliche Dateiinhalt geliefert wird.

Tickets

#155 Bei der Eingabe von zu vielen Punkten soll eine Warnung erscheinen
#156 Statusseite für Fernüberwachung
#164 CreateSheet.php, Hinweise für mimeTypes verbessern
#165 Korrekturassistent, Feld des TutorComment vergrößern
#166 Probleme bei Dateien mit Sonderzeichen im Namen
#167 Installationsassistent, SQL-Befehle zum Bereinigen der Datenbank
#169 Dozenten haben keinen Zugriff auf den Einsendungsverlauf
#170 Problem bei Dateien mit bestimmtem Präfix im Namen
#171 Probleme bei Dateien mit gleichem Inhalt aber unterschiedlichem Namen
#173 Beim Erstellen von Serien werden erlaubte Dateitypen falsch gesetzt
#177 Einsendungsverlauf, der Verlauf zeigt Korrekturen als "unkorrigiert", obwohl sie korrigiert wurden
#178 Studentenübersicht, Einsendungen von Gruppenmitgliedern werden nicht als kontrolliert angezeigt
#179 Zulassungsbedingungen, berechnete Punkte stimmen für Gruppen nicht

v0.3.6

04 Mar 10:47

Choose a tag to compare

TutorAssignment

c
Es ist nun möglich Einsendungen zu erzeugen, für Studenten, welche nichts eingesendet haben.
#143

Übungsserien

a
Nun können Aufgaben erstellt werden, bei denen die Studenten nichts einsenden können.

b(Ansicht des Studenten)

#139

Hilfe

a
Es wurden erste Schaltflächen für Hilfeseiten eingebaut.

b
#152

Modul-Konfiguration

Module können bei der Verbindung mit anderen Modul verlangen, dass ein bestimmter Befehl aufgerufen wird.
Bsp.:

  "connector":[
    {"name":"request", "target":"CHelp", "links":[{
                                                   "method": "GET", 
                                                   "path":"/help/:language/extension/LOOP.md"
                                                 }]}
  ]

#140