Erstellen eines Discourse-Multiselect-Benutzerfelds mit vielen Optionen
Die Eingabe von Dutzenden oder Hunderten von Auswahlmöglichkeiten einzeln im benutzerdefinierten Feldeditor von Discourse ist mühsam. Ich arbeite an einem multifunktionalen CLI-Tool für Discourse namens dsc, das Operationen wie diese einfacher und deterministischer macht, indem lokale Dateien verwendet werden. Eine der vielen Dinge, die es tun kann, ist die Bearbeitung benutzerdefinierter Benutzerfelder.
dsc kann ein neues benutzerdefiniertes Benutzerfeld aus einer YAML-Datei erstellen, einschließlich der gesamten geordneten Optionsliste in einem einzigen Vorgang. Der Befehl ucf ist ein Alias für user-field.
Zuerst listen Sie Ihre vorhandenen benutzerdefinierten Benutzerfelder auf:
dsc ucf list myforum --format yaml
Dies zeigt deren IDs, Typen, Optionen und Einstellungen an.
Das Feld vorbereiten
Erstellen Sie user-fields.yaml und ersetzen Sie die Quell-URL, die Frage und die Optionen durch Ihre eigenen. Stellen Sie sicher, dass Ihre YAML-Datei gültig ist – es ist leicht, Fehler zu machen.
Hier ist zum Beispiel ein Mehrfachauswahl-Feld für Länder mit 25 Optionen:
version: 1
source: https://forum.example.org
user_fields:
- name: Countries
description: In welchen Ländern arbeiten Sie? Wählen Sie alle zutreffenden aus.
field_type: multiselect
editable: true
requirement: on_signup
show_on_profile: false
show_on_signup: true
show_on_user_card: false
searchable: false
options:
- Argentinien
- Australien
- Brasilien
- Kanada
- China
- Dänemark
- Ägypten
- Frankreich
- Deutschland
- Indien
- Irland
- Italien
- Japan
- Kenia
- Mexiko
- Niederlande
- Neuseeland
- Nigeria
- Norwegen
- Singapur
- Südafrika
- Spanien
- Schweden
- Vereinigtes Königreich
- Vereinigte Staaten
Dadurch wird ein Feld mit 25 Optionen erstellt, anstatt 25 separater Felder. Sie können die Liste nach Bedarf erweitern – ich habe diese Vorgehensweise erfolgreich für ein Feld mit mehr als 250 Optionen angewendet.
Vorschau, Erstellen und Überprüfung
dsc ucf push --dry-run myforum user-fields.yaml
# Überprüfen Sie den Plan und die vollständige YAML-Datei, bevor Sie sie anwenden.
dsc ucf push myforum user-fields.yaml
dsc ucf show myforum <field-id> --format yaml
Ich freue mich über Feedback zu dsc, einschließlich Ideen für fehlende Funktionen. Bitte erstellen Sie Issues im GH-Repo.