Criar e configurar campos de usuário personalizados

Criando um campo de usuário multiseleção no Discourse com muitas opções

Digitar dezenas ou centenas de opções uma a uma no editor de campos de usuário personalizados do Discourse é tedioso. Estou desenvolvendo uma ferramenta CLI multiuso para o Discourse chamada dsc, que torna operações como essa mais fáceis e determinísticas usando arquivos locais. Apenas uma das muitas coisas que ela pode fazer é manipular Campos de Usuário Personalizados.

O dsc pode criar um novo campo de usuário personalizado a partir de um arquivo YAML, incluindo toda a lista ordenada de opções em uma única operação. O comando ucf é um apelido para user-field.

Primeiro, liste seus campos de usuário personalizados existentes:

dsc ucf list myforum --format yaml

Isso mostra seus IDs, tipos, opções e configurações.

Preparar o campo

Crie user-fields.yaml, substituindo a URL de origem, a pergunta e as opções pelas suas. Certifique-se de que seu YAML seja válido - é fácil errar.

Por exemplo, aqui está uma multiseleção de países com 25 opções:

version: 1
source: https://forum.example.org
user_fields:
  - name: Countries
    description: Which countries do you work in? Select all that apply.
    field_type: multiselect
    editable: true
    requirement: on_signup
    show_on_profile: false
    show_on_signup: true
    show_on_user_card: false
    searchable: false
    options:
      - Argentina
      - Australia
      - Brazil
      - Canada
      - China
      - Denmark
      - Egypt
      - France
      - Germany
      - India
      - Ireland
      - Italy
      - Japan
      - Kenya
      - Mexico
      - Netherlands
      - New Zealand
      - Nigeria
      - Norway
      - Singapore
      - South Africa
      - Spain
      - Sweden
      - United Kingdom
      - United States

Isso cria um único campo com 25 opções, em vez de 25 campos separados. Você pode estender a lista conforme necessário - usei essa abordagem com sucesso para um campo com mais de 250 opções.

Pré-visualizar, criar e verificar

dsc ucf push --dry-run myforum user-fields.yaml
# Revise o plano e o arquivo YAML completo antes de aplicar.
dsc ucf push myforum user-fields.yaml
dsc ucf show myforum <field-id> --format yaml

Fico feliz em receber feedback sobre o dsc, incluindo ideias para recursos ausentes. Por favor, crie issues no repositório no GitHub.

2 curtidas