Massenhaftes Hinzufügen von E-Mail-Domains zur automatischen Genehmigung

\u003csmall\u003eFortsetzung der Diskussion von https://meta.discourse.org/t/formalized-assignment-and-possible-logging-of-pending-applications/232724\u003c/small\u003e

Ist der Wert für auto approve email domains eine durch Leerzeichen getrennte Zeichenkette? Oder durch Kommas oder Zeilenumbrüche getrennt? Danke im Voraus, R

In der Benutzeroberfläche fügen Sie diese einzeln über die Schaltfläche :heavy_plus_sign: hinzu (und bestätigen dann mit dem grünen Häkchen)

Vielen Dank, @JammyDodger. Wir dachten daran, etwas automatisierter vorzugehen. Wir planten, unsere aktuelle E-Mail-Liste zu exportieren, dann diejenigen zu extrahieren, die mit der Hipo-Liste von Universitätsdomänen übereinstimmen, und dann diese neue Liste unter dem Schlüssel auto approve email domains in Discourse zu importieren. Wir würden Python und Pandas für die numerische Verarbeitung verwenden. Ich schätze, dieser Weg wird nicht unterstützt? Oder haben wir, oder können wir, programmatischen Zugriff erhalten? (PS: In Bezug auf Ihren Screenshot ist gmail.com die letzte Domäne, die wir jemals automatisch genehmigen würden.)

Oh, und können wir Platzhalter wie *.tu-berlin.de verwenden, um die Einbeziehung von Abteilungsdetails zu berücksichtigen, z. B. maths.tu-berlin.de.

1 „Gefällt mir“

Ich hatte das Gefühl, ich wäre viel zu simpel. :slight_smile: Ich denke, es wäre von Vorteil, dies in ein neues #support-Thema aufzuteilen, um einige sachkundigere Augen darauf werfen zu lassen. :+1:

Das kann ich nachvollziehen. :slight_smile: Aber keine Sorge, es war ein Screenshot eines Mockups auf meiner Testseite, nicht die Einstellungen hier auf Meta. :slight_smile:

1 „Gefällt mir“

Leider glaube ich nicht, dass dies möglich ist. Ich habe eine Funktionsanfrage mit folgendem Hinweis erstellt:

Mein Hauptvorschlag war wahrscheinlich nicht das, was Sie wollen würden (er würde bedeuten, dass, wenn Sie tu-berlin.de hinzufügen, maths.tu-berlin.de und jede andere Abteilung eingeschlossen würden).

Das ist genau das Verhalten, das ich gesucht habe.

1 „Gefällt mir“

Wenn Sie Zugriff auf die Rails-Konsole haben, können Sie allowed email domains auf eine Zeichenkette setzen, die durch Pipe-Zeichen getrennt ist und beliebig viele Hostnamen enthält. Das klingt also machbar.

Ich bin mir nicht sicher, warum Sie numerische Verarbeitung benötigen würden; dies kann mit Standard-UNIX-Tools durchgeführt werden.

Dies gibt Ihnen die Liste der Domänen aus der Hipo-Liste:

curl -L 'https://github.com/Hipo/university-domains-list/blob/master/world_universities_and_domains.json?raw=true' |\
  jq '.[].domains' |\
  jq -r add |\
  sort -u

Wenn Sie dies als domains.txt speichern und davon ausgehen, dass Sie eine Datei mit E-Mail-Adressen namens emails.txt haben, könnten Sie die Teilmenge der Domänen, die auf die Whitelist gesetzt werden sollen, mit diesem Befehl erhalten:

grep -if domains.txt emails.txt |\
  cut -d @ -f 2 |\
  sort -u

Das bedeutet, selbst wenn die Domänenliste nur tusculum.edu enthält, würde eine E-Mail wie some.student@mail.tusculum.edu mail.tusculum.edu ergeben, was der Hostname ist, den Sie tatsächlich auf die Whitelist setzen möchten, im Gegensatz zur Apex-Domäne.

Dann müssen Sie nur noch eine durch Pipe-Zeichen getrennte Zeichenkette mit diesen Domänen festlegen. Funktioniert das für Sie?

1 „Gefällt mir“

Danke @leonardo. Ich muss meinen Discourse-Hosting-Anbieter fragen, ob ich auf die Ruby on Rails-Konsole zugreifen kann (ich vermute eher nicht?). Aber ich werde morgen eine Frage einreichen.

Ich bin mit den von Ihnen erwähnten Bash-Shell-Dienstprogrammen vertraut (ich habe um 1997 mit SCO UnixWare angefangen, bevor ich zu Linux migriert bin). Ein Grund für die Einführung von Python ist, dass zukünftige Administratoren unseres Forums eher über Python-Kenntnisse verfügen werden.

1 „Gefällt mir“

Perfekt; Python sollte es genauso einfach machen.

Wenn das fehlschlägt, können Sie die API (mit einem Admin-Konto) verwenden, um PUT /admin/site_settings/allowed_email_domains mit einer form-codierten Nutzlast wie dieser zu senden:

allowed_email_domains=zuyd.nl%7Czzgc.edu.cn%7Czzut.edu.cn

Nein, das kannst du nicht, aber du kannst immer die API benutzen (wie Leonardo vorgeschlagen hat) oder einfach ein Ticket mit dem Befehl eröffnen, den wir für dich ausführen sollen. Wir senden dir sogar die Ausgabe zurück :wink:

3 „Gefällt mir“

@RGJ vielen Dank. Ein anderer Gedanke, wahrscheinlich völlig unbegründet. Aber die Möglichkeit, eine übergeordnete Datenbank, wie die Hipo-Liste, in eine Discourse-Instanz hochzuladen und Discourse diese Art von Überprüfung und Verarbeitung durchführen zu lassen, wäre aus Benutzersicht ideal. :sloth:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.