Matrix und Moodle (haben geheiratet)

Also der Token stammt vom User moodleadmin, der in der users Tabelle in der Spalte admin den Wert „1“ hat.

Der Befehl register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml http://localhost:8008 funktioniert.

Ich konnte leider nichts in Element mitverfolgen. Lediglich der Raum entstand, kurz nachdem ich moodle benutzte. Dort steht „moodleadmin hat den Raum erstellt und konfiguriert.“

nochmal ein tipp ins blaue…
wenn es ein admin sein muss… dann wird ja vermtl die AdminAPI genutzt. sprich in der nginx Konfiguration muss der Pfad Matrix.meineschule.de/_synapse/client in nginx konfiguriert sein
also ein

location /_synapse/client {
 proxy_pass http://localhost:8008;
 }

Bei uns sieht das wie folgt aus:

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    # for the federation port
    listen 8448 ssl http2 default_server;
    listen [::]:8448 ssl http2 default_server;

    server_name <fqdn>;

    access_log /var/log/nginx/<fqdn>.access.log;
    error_log /var/log/nginx/<fqdn>..error.log;

    ssl_certificate /etc/letsencrypt/...
    ssl_certificate_key /etc/letsencrypt/...
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    location ~ ^(/_matrix|/_synapse/client|/_synapse/admin) {
        proxy_pass http://<ip>:8008;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $host;

        client_max_body_size 50M;
    
    # Synapse responses may be chunked, which is an HTTP/1.1 feature.
    proxy_http_version 1.1;
    }
}

Allerdings gelingt ja die Raumerstellung, insofern…

Ansonsten…

  • nur zur Sicherheit: es gibt in diesem Moodle-Kurs auch schon reguläre/aktive Nutzer?
  • irgendwelche Fehler im Moodle-Log?
  • der Cron-Job wird ausgeführt? Was passiert, wenn Du den Cron-Job von Hand ausführst?

Hier meine NGNIX Conf:

# enforce HTTPS
server {
# Client port
listen 80;
listen [::]:80;
server_name matrix.meineschule.de;
return 301 https://$host$request_uri;
}

server {
server_name matrix.meineschule.de;

# Client port
listen 443 ssl http2;
listen [::]:443 ssl http2;

# Federation port
listen 8448 ssl http2 default_server;
listen [::]:8448 ssl http2 default_server;

access_log /var/log/nginx/synapse.access.log;
error_log /var/log/nginx/synapse.error.log;

# TLS configuration
ssl_certificate /etc/letsencrypt/live/matrix.meineschule.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/matrix.meineschule.de/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/matrix.meineschule.de/chain.pem;

ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m;
ssl_session_tickets off;
ssl_prefer_server_ciphers on;
ssl_stapling on;
ssl_stapling_verify on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;

resolver 1.1.1.1 1.0.0.1 [2606:4700:4700::1111] [2606:4700:4700::1001] 8.8.8.8 8.8.4.4 [2001:4860:4860::8888] [2001:4860:4860::8844] valid=60s;
resolver_timeout 2s;

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;

tcp_nopush on;
gzip on;

location ~ ^(/_matrix|/_synapse/client) {
proxy_pass http://localhost:8008;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;

# Increase client_max_body_size to match the max_upload_size defined in homeserver.yaml
client_max_body_size 50M;
}
}

Welchen Cronjob meinst Du? „\core_communication\task\synchronise_providers_task“ ?

Übrigens hat Moodle doch noch etwas in matrix getan, was ich übersehen habe:

moodleadmin hat den Raum betreten
moodleadmin hat den Raum auf eingeladene Benutzer beschränkt.
moodleadmin hat den zukünftigen Verlauf für alle Raummitglieder sichtbar gemacht.
moodleadmin erlaubte Gäste diesem Raum beizutreten.
moodleadmin hat den Raumnamen geändert zu nw7.
moodleadmin hat das Thema geändert in "".
moodleadmin hat das Raumbild entfernt.

Danke @thoschi ! Du hast mir durch deine NGNIX Conf die Lösung gegeben!

 location ~ ^(/_matrix|/_synapse/client|/_synapse/admin) 

bei mir fehlte der _synapse/admin <3

jo und weil das so gut klappt, fragt man sich wieso im LandBW da threema forciert wurde… schulterzuck

Du kannst ja froh sein, dass in der Strategieplanung nicht VKontakte, Telegram und aliexpress messenger vorkam. Insofern bin ich dem Land wenigstens für Threema dankbar.
Jetzt (gefühlt 10 Jahre später) sollte die Strategie halt neu gedacht werden und da wäre Matrix naheliegender.

Die Argumente dafür aus Schulsicht:

  • administrierbar, weil aus Moodle heraus
  • moderierbar
  • quelloffen → sichert digitale Unabhängigkeit
  • Schüler:innen und Lehrer:innen sind sofort vernetzt, bei Bedarf auch E2E.

Die Argumente dafür aus Sicht des Dienstleisters (Netzwerkberater, Schulträger oder T-Systems):

  • Quelloffen → langfristige Planbarkeit
  • dezentral hostbar
  • leicht administrierbar (diverse ansible-projekte)
  • föderierbarkeit möglich (oder standalone)

Die Argumente dafür aus Sicht der (aufgeklärten) Schüler/Eltern:

  • quelloffen → vermeidet ein Vendor-Lockin, da für alle Systeme verfügbar
  • werbefrei, trackerfrei → kein Datenschutz-Eiertanz
1 „Gefällt mir“

Hier in NRW wird gar nichts forciert… ich weiß nicht, ob ich das besser finde.

Ich dachte NRW hat Matrix sogar für alle über Logineo ?

Das stimmt und grundsätzlich bin ich Befürworter des Software-Ensembles dass sich das Team von LOGINEO ausgesucht hat. Es gibt aber keine verbindlichen Vorgaben von Seiten des Landes, so dass viele Schulen auf teuere kommerzielle Produkte zugrückgreifen, die im Endeffekt sogar weniger leisten.
Wir verzichten derzeit auf Logineo, weil wir viele innovative Ideen ausprobieren möchten, die sich mit einem System von der Stange nicht realisieren lassen.

Hallo Tobias,

deine Argumente sind vernünftig und nachvollziehbar.
Trotzdem denke ich, wird im KM immer anders entschieden, da ein Argument bei dir Fehlt.
Sie wollen Geld bezahlen und das an irgend eine Firma auslagern, weil sie dann keine Verantwortung dafür mehr haben.
Das ist so und das wird auch so bleiben: egal wie gut und sinnvoll matrix ist.

Ich denke auch bei der BelWü moodle Geschcihte war das ein treibernder Grund. Die fiskalischen Probleme hätten ja einfach durch die Politik gelößt werden können: man wollte das aber nicht mehr „im Haus“ haben, sondern auf Teufel komm raus auslagern. Das Ergebnis ist beeindruckend. (wenn Jemand einen Euphemismus findet, darf er ihn behalten)

LG
Holger

Es ist schon fein, dass unser Staat sehr gerne Geld ausgibt!

das war auch immer eines meiner (heimlichen) Argumente.
Jetzt habe ich z.B. Moodle und Mail bei einem Dienstleister untergebracht und klar gibt man da Verantwortung und Flexibilität ab, aber bisher bin ich super zufrieden mit der Firma und sie setzen alles um, was mir da einfällt.
Für die „innovativen Ideen ausprobieren“ bleibt mir immernoch eine Testumgebung, bei der ich manches teste, bevor ich es dann selbst ausrolle oder eben dem Dienstleister gebe.

(Beispiel: limesurvey… meine SMV hat eine Umfrage auf einem neu gebastelten docker-image getestet während meine Lehrer- und Schülerschaft auf dem alten Produktivsystem die Projekttagorga abgewickelt hat)