Нужно ли одобрение модератора для редактирования поля «Полное имя» или для ведения журнала изменений этого поля?

Я настраиваю установку Discourse, которая будет форумом для сертифицированных специалистов. Каждый пользователь будет верифицирован и сможет выбрать удобное имя пользователя, но мы хотим, чтобы полное имя в их профилях соответствовало их квалификации. Можно ли требовать одобрения модератора для внесения изменений в поле «Полное имя»?

Здравствуйте,

Сейчас это невозможно.

Спасибо. Возможно ли добавить пользовательское поле в профили пользователей, которое можно будет заблокировать от изменения?

Редактирование: Забыл, я вижу, что это можно сделать в Настройки > Настройка > Поля пользователей

Возможно ли настроить систему ведения журнала или уведомлений для сотрудников, когда пользователь изменяет своё имя?

Вы можете настроить веб-хук для события пользователя webhook, указывающий на внешний сервис, который будет отправлять вам уведомление, когда пользователь вносит любые изменения на своей странице профиля. Для обработки веб-хука может быть полезен такой сервис, как Zapier: Trigger a Zapier task with Discourse Webhooks.

При использовании веб-хуков потребуется дополнительная работа, чтобы определить, что было изменено свойство name пользователя — вам нужно будет сравнивать полезную нагрузку веб-хука с данными пользователя, сохранёнными во внешней базе данных. Если же вам нужно лишь знать, что профиль пользователя был обновлён, обработка веб-хука будет достаточно простой.

Большое спасибо за это предложение. Управление внешней базой данных и написание инструмента для сравнения её с полезной нагрузкой вебхука пока выходит за рамки моих навыков! Но я надеюсь, что ваше предложение окажется полезным для любого другого, кто хочет достичь чего-то подобного и обладает необходимыми навыками.

@simon, ну я не смог устоять и воспринял твоё предложение как вызов, чтобы изучить что-то новое.

Я настроил приёмник вебхуков и хранилище данных в Integromat. Хранилище содержит актуальную информацию о пользователях, полученную через вебхук (мне не пришлось импортировать существующих пользователей, так как этот Discourse ещё не запущен).

Заголовок вебхука проверяется на наличие событий user_destroyed, user_created и user_updated. Удалённые и созданные пользователи соответственно удаляются или добавляются в хранилище данных.

Для обновлённых пользователей их имя ищется в хранилище, затем их запись обновляется. Если предыдущее имя отличается от обновлённого, Integromat добавляет пост в тему, доступную только сотрудникам, в следующем формате:

«Фу Бар (имя пользователя: foobar) изменил своё полное имя на Бу Фар»

Спасибо за твоё предложение!