Créer et configurer des champs utilisateur personnalisés

Créer un champ utilisateur à sélection multiple dans Discourse avec de nombreuses options

Saisir une par une des dizaines ou des centaines de choix dans l’éditeur de champs d’utilisateur personnalisés de Discourse est fastidieux. Je travaille actuellement sur un outil CLI polyvalent pour Discourse appelé dsc, qui simplifie ce type d’opération et les rend plus déterministes grâce à l’utilisation de fichiers locaux. La manipulation des champs d’utilisateur personnalisés n’est qu’une des nombreuses fonctionnalités qu’il propose.

dsc permet de créer un nouveau champ d’utilisateur personnalisé à partir d’un fichier YAML, en incluant la liste complète et ordonnée des options en une seule opération. La commande ucf est un alias de user-field.

Tout d’abord, répertoriez vos champs d’utilisateur personnalisés existants :

dsc ucf list myforum --format yaml

Cela affiche leurs ID, types, options et paramètres.

Préparer le champ

Créez un fichier user-fields.yaml, en remplaçant l’URL source, la question et les options par les vôtres. Assurez-vous que votre YAML est valide — il est facile de faire des erreurs.

Par exemple, voici un champ à sélection multiple « pays » avec 25 options :

version: 1
source: https://forum.example.org
user_fields:
  - name: Pays
    description: Dans quels pays travaillez-vous ? Sélectionnez tous ceux qui s'appliquent.
    field_type: multiselect
    editable: true
    requirement: on_signup
    show_on_profile: false
    show_on_signup: true
    show_on_user_card: false
    searchable: false
    options:
      - Argentine
      - Australie
      - Brésil
      - Canada
      - Chine
      - Danemark
      - Égypte
      - France
      - Allemagne
      - Inde
      - Irlande
      - Italie
      - Japon
      - Kenya
      - Mexique
      - Pays-Bas
      - Nouvelle-Zélande
      - Nigéria
      - Norvège
      - Singapour
      - Afrique du Sud
      - Espagne
      - Suède
      - Royaume-Uni
      - États-Unis

Cela crée un seul champ avec 25 options, plutôt que 25 champs distincts. Vous pouvez étendre la liste selon vos besoins — j’ai utilisé cette approche avec succès pour un champ comportant plus de 250 options.

Prévisualiser, créer et vérifier

dsc ucf push --dry-run myforum user-fields.yaml
# Examinez le plan et le fichier YAML complet avant d'appliquer les modifications.
dsc ucf push myforum user-fields.yaml
dsc ucf show myforum <field-id> --format yaml

Je serais ravi d’avoir vos retours sur dsc, y compris des idées de fonctionnalités manquantes. Merci de créer des tickets sur le dépôt GitHub.

2 « J'aime »