Как отображать имя пользователя как имя аккаунта

Я предпочитаю, чтобы имя пользователя состояло только из имени, а не из полного имени. При первом входе пользователя система должна автоматически устанавливать имя пользователя, используя только имя.
Например, полное имя: Maria Jose → имя пользователя: Maria

То есть вместо имени пользователя Maria_Jose должно быть Maria.

Как этого можно добиться?

Вы ищете настройку сайта prioritize username in ux? Она отображает имя пользователя, которое в вашем примере было Maria, перед отображением Maria Jose.

Имя пользователя может быть автоматически сгенерировано с помощью одного из трёх вариантов:

  1. На основе электронной почты
  2. На основе полного имени пользователя
  3. Случайное имя пользователя

Я предпочитаю, чтобы имя генерировалось по второму варианту (на основе полного имени пользователя), но конкретно я хочу использовать только имя пользователя.

Подводя итог: имя пользователя должно автоматически выбираться и состоять только из имени пользователя, а не из полного имени.

Я не знаю ответа, но интересно, что произойдет, если будет несколько Марий или Джонов? Имя пользователя должно быть уникальным.

Вот настройки admin-settings, связанные с именами/именами пользователей:

image

image

image

image

image

Я знаком с существующими конфигурациями, но, к сожалению, они не решают мою конкретную задачу. В нашей системе обсуждений для входа используется механизм единого входа (SSO), и у пользователей нет разрешения на обновление своих имен пользователей. Также скрыто всплывающее окно регистрации.

В настоящее время имя пользователя формируется из поля «name», которое включает имя и фамилию. Моя цель — сделать так, чтобы имя пользователя отражало только имя пользователя.

Возможно ли это, и существуют ли какие-либо плагины или скрипты для облегчения такой настройки?

Discourse автоматически добавляет число в конец имени пользователя (например, Maria1, Maria2).

Мне не совсем понятно. Конечная цель — отображать имя независимо от того, как создано имя пользователя, или вы также хотите, чтобы имя пользователя создавалось только из имени?

Если первое, то с помощью компонента темы можно визуально изменить отображение, чтобы показывать только имя там, где обычно отображается имя пользователя (при условии, что имя имеет формат «Имя Фамилия»). Подойдет ли такой вариант?

Например:
было
image
стало
image

Тогда ваша система SSO отвечает за назначение имен пользователей. Именно она генерирует имена пользователей, а не Discourse, верно?

Да, это мне подходит

Как мне это реализовать?

Да, но тогда это уже не просто имя.

Я думаю, это Discourse. Я следую правилам, созданным здесь: FEATURE: Optionally skip using real name when suggesting usernames by davidtaylorhq · Pull Request #16592 · discourse/discourse · GitHub

Да, вы правы, это не так. Пока это работает для нашего случая.

Позже я могу сделать для вас небольшой компонент. :+1: