[[fhc:server|zurück zur Übersicht]]
====== Moodle ======
FH Complete stellt derzeit Schnittstellen für Moodle >= 2.4 zur Verfügung.
Über diese Schnittstellen können automatisiert Moodlekurse zu den entsprechenden Lehrveranstaltungen erstellt werden. Studierende und Lektoren werden automatisch ins Moodle übernommen. Die Benotung kann aus dem Moodle ins FH Complete übernommen werden.
==== Moodle Addon installieren ====
Die Schnittstelle zu Moodle wird über das Moodle Addon zur Verfügung gestellt:
[[https://github.com/FH-Complete/FHC-AddOn-Moodle]]
Zur Installation des Addons sind folgende Schritte nötig:
* Download des Addons in des Verzeichnis addons/moodle/ ihrer FH-Complete installation
* Kopieren der Config Datei config-default.inc.php auf config.inc.php
* Installation des FH-Complete Plugins in Moodle
* Moodle Webservice Konfigurieren und Token erstellen
* Pfad zur Moodle installation und Token in config.inc.php eintrage
* dbcheck.php des Moodle Addons starten um die Datenbank auf den aktuellen stand zu bringen
* Moodle Addon in cis.config.inc.php und Vilesci.config.inc.php zu den ACTIVE_ADDONS hinzufügen
* Cronjobs aktivieren damit User täglich aktualisiert werden
==== FH Complete Plugin in Moodle installieren ====
Zur Erweiterung der Webserivcefunktionalitäten von Moodle muss das Moodle Plugin ''fhcompletews'' installiert werden. Dieses Plugin befindet sich im Ordner /system/moodlePlugin/fhcompletews des Moodle Addons.
Der gesamte Ordner muss in den Ordner local der Moodleinstallation kopiert werden.
Hier ist die passende Version für Ihre Moodle-Version zu wählen.
cp -r /var/www/fhcomplete/addons/moodle/system/moodlePlugin/fhcompletews30 /var/www/moodle/local/fhcompletews
Bei einem Aufruf der Moodle Startseite wird dieses Plugin automatisch installiert.
==== Aktivierung der Webservices ====
Um die Verbindung mit Moodle herstellen zu können, muss die Webservice Schnittstelle von Moodle aktiviert werden.\\
\\
Zur Freischaltung der Webservices sind folgende Punkte nötig:\\
* Login im Moodle als Administrator
* Website-Administration -> Zusatzoptionen -> Webservices -> Hackerl muss gesetzt werden
* Website-Administration -> Plugins -> Webservices -> Protokolle verwalten -> Protokoll SOAP+REST aktivieren und Option "Dokumentation zu Webservices" aktivieren
* Website-Administration -> Plugins -> Webservices -> Externe Services -> Hinzufügen\\ Name: FHComplete oder beliebige andere Bezeichnung\\ Aktiviert: anhaken\\ Nur für autorisierte Nutzer/innen: anhaken
* Nach dem Anlegen des Service können Funktionen hinzugefügt werden. Die folgenden Funktionen sind für den Betrieb notwendig:
*
* core_course_create_categories
* core_course_create_courses
* core_course_delete_courses
* core_course_get_categories
* core_course_get_courses
* core_course_get_courses_by_field
* core_enrol_get_enrolled_users
* core_group_add_group_members
* core_group_create_groups
* core_group_delete_group_members
* core_group_delete_groups
* core_group_get_course_groups
* core_group_get_group_members
* core_role_assign_roles
* core_role_unassign_roles
* core_user_create_users
* core_user_update_users
* core_user_get_users_by_field
* core_webservice_get_site_info
* enrol_manual_enrol_users
* enrol_manual_unenrol_users
* fhcomplete_get_course_grades
* fhcomplete_user_get_users ( in neueren Versionen nicht mehr vorhanden )
* fhcomplete_courses_by_shortname ( in neueren Versionen nicht mehr vorhanden )
* Website-Administration -> Plugins -> Webservices -> Externe Services - Zu dem neu erstellten Service muss nun über "Autorisierte Nutzer/innen" der Administrator hinzugefügt werden.
* Website-Administration -> Plugins -> Webservices -> Tokens verwalten - Hier muss ein neuer Token erstellt werden. Über diesen Token erfolgt der Zugriff auf die Moodle Webservices. Dieser 32-stellige Token muss im FH Complete in config.inc.php des Moodle Addons unter ADDON_MOODLE_TOKEN gespeichert werden. Achten Sie darauf, diesen Token geheim zu halten.
==== Sonstige Einstellungen ====
Das Deutsche Language Pack muss installiert sein.
Site Administration->Language->Deutsch (de)
LDAP muss aktiviert sein
Plugins->Authentifizierung->LDAP-Server
Notenstufen müssen numerisch sein damit eine korrekte Übernahme ins CIS funktioniert.(1-5 statt A-F)
Bewertung->Notenstufen
===== Troubleshooting =====
Folgende Schritte können helfen um Probleme beim Einrichten der Schnittstelle zu lösen:
==== Moodle Cache Löschen ====
Der Moodle Cache kann unter folgendem Menüpunkt gelöscht werden:
Dashboard->Website-Administration->Entwicklung->Cache löschen
==== Debugging aktivieren ====
Unter folgenden Menüpunkt im Moodle kann das Debugging aktiviert werden um zusätzliche Systemnachrichten anzuzeigen:
Dashboard->Website-Administration->Entwicklung->Debugging->Debug-Mitteilungen => Developer
==== Systeminformationen prüfen ====
Unter folgenden Menüpunkt kann geprüft werden ob alle nötigen Komponenten installiert sind.
Nicht installierte Komponenten können dazu führen dass die Schnittstelle nicht funktioniert.
Dashboard->Website-Administration->Server->Serverkonfiguration
==== WSDL anzeigen ====
Die WSDL für den Zugriff auf die SOAP Schnittstelle kann im Browser angezeigt werden um Sicherzustellen dass der Token korrekt ist und die Funktionen vorhanden sind.
Dazu wird folgende URL im Browser geöffnet:
https://moodle.example.com/webservice/soap/server.php?wsdl=1&wstoken=XXX
XXX ist durch den entsprechenden Token zu ersetzen.
Diese Seite muss offen zugänglich sein. Es darf kein Login Fenster beim Öffnen der Seite erscheinen!
==== Zertifikat prüfen ====
Werden am Moodle Server self-signed Zertifikate verwendet kann es sein, dass die WSDL Datei nicht korrekt geladen werden kann. Für den Betrieb des Moodle Servers sollten offizielle Zertifikate verwendet werden.
Um dieses Problem auszuschließen kann der HTTP-Login im Moodle aktiviert werden um zu versuchen ob der unverschlüsselte Zugriff funktoniert.
Der HTTP Login kann im Moodle Config aktiviert werden:
$CFG->loginhttps=false;
Da beim Zugriff auf die SOAP Schnittstelle der Moodle Server selbst die WSDL aufruft, muss Sichergestellt sein, dass auch der Moodle Server seinem eigenen Zertifikat vertraut, nicht nur der FH-Complete Server.