User manuell in einen Kurs eintragen

User manuell in einen Kurs eintragen

von Stefan Richter -
Anzahl Antworten: 4
Hallo,

ich möchte manuell über Eintragungen in die Datenbanktabellen einen User (Rolle 'Student') in einen Kurs als Teilnehmer einschreiben.

In welchen Tabellen muss ich dazu überall Eintragungen vornehmen?
Bspw. wenn der User die ID 2 hat und der gewünschte Kurs die ID 4 hat.

Es hat wohl etwas mit der Tabelle 'mdl_course_display' zu tun, aber so ganz schlau bin ich noch nicht daraus geworden.

Danke im Voraus!
Mittelwert:  -
Als Antwort auf Stefan Richter

Re: User manuell in einen Kurs eintragen

von André Krüger -
Guten Tag,

es hat wohl eher mit der Tabelle mdl_role_assignments zu tun, zumindestens in aktuellen Version. Allerdings erschliesst sich für mich der Sinn dieser Aktionen nicht.

Wenn ich vorhandenen Usern die Rolle Student geben will, mache ich einfach einen Download der usertabelle und lade diese dann erneut hoch, indem ich beim bulkupload den entsprechenden Kurs angebe.

Sollten die User nicht im System sein, kann ich mit dem bulkupload sowohl Nutzer anlegen, sowie diese in Kurse eintragen.

André Krüger
Als Antwort auf André Krüger

Re: User manuell in einen Kurs eintragen

von Stefan Richter -
Ein User meldet sich auf einer anderen Plattform an und wird anschliessend auf Moodle weitergeleitet. Dabei soll dieser User dann automatisch ohne Anmeldung in die Moodle-Datenbank eingetragen werden und sofort einem bestimmten Kurs zugewiesen werden.

Das würde ich ganz einfach mit ein paar kleinen mySQL-queries machen. Den User in mdl_user einzutragen ist klar, es geht nur noch darum ihn auch gleich in einen Kurs einzutragen.

In der Tabelle mdl_role_assignments sehe ich keine Kurs ID, wie sollte da dann ein Eintrag ausschauen, damit der User mit der ID 2 in dem Kurs mit der ID 4 eingetragen ist?
Als Antwort auf Stefan Richter

Re: User manuell in einen Kurs eintragen

von Jörg S. -
Ein User meldet sich auf einer anderen Plattform an und wird anschliessend auf Moodle weitergeleitet. Dabei soll dieser User dann automatisch ohne Anmeldung in die Moodle-Datenbank eingetragen werden und sofort einem bestimmten Kurs zugewiesen werden.

In welcher Form liegen denn die Userdaten vor? Evtl. in einer dritten Anwendung? Für SingleSignOn würde ich CAS vorschlagen. Wenn es unbedingt mit eigenem Code gehen muss, wäre SOAP meiner Meinung die richtige Wahl. Damit wäre dann auch sichergestellt, dass die Änderungen nach einem Update noch funktionieren - auch wenn sich die Datenbanknamen ändern würden...

Viele Grüße
*Schorsch*
Als Antwort auf Jörg S.

Re: User manuell in einen Kurs eintragen

von Stefan Richter -
Also ich versuche es jetzt mit der Einschreibung über eine externe Datenbank.

Ich habe eine Tabelle mit 3 Spalten angelegt: userID, courseID, roleID

Ich habe einen Eintrag in dieser Tabelle hinterlegt: 2, 4, 5
--> ich möchte also den User mit der ID 2 in den Kurs mit der ID 4 einschreiben lassen

Ich habe folgende Einstellungen in der enrol_config vorgenommen:

enrol_dbtype: mysql
enrol_dbhost: localhost
enrol_dbuser: webXX
enrol_dbpass: XXX
enrol_dbname: dbXX
enrol_dbtable: externe_user

enrol_localcoursefield: id
enrol_localuserfield: id
enrol_db_localrolefield: id
enrol_remotecoursefield: courseID
enrol_remoteuserfield: userID
enrol_db_remoterolefield: roleID

Die restlichen Enstellungen auf Standard gelassen.

Laut Doku sollte nun der User mit der ID 4 beim nächsten Login automatisch in den Kurs 2 eingetragen werden. Es passiert nur leider nichts...

Was mache ich falsch? traurig