При присоединении к моему сайту существующего подготовленного пользователя данные пользовательских полей не сохраняются

У меня есть потенциальные пользователи, которым сложно зарегистрироваться. Они обращаются к модераторам по электронной почте для получения поддержки, и в результате создаётся временная учётная запись.

Обычно проблему легко решить, и они регистрируются, заполняя все поля. Стоит отметить, что у нас есть несколько обязательных пользовательских настраиваемых полей (UCF).

Я заметил, что данные UCF не сохраняются в базе данных для таких временных пользователей. В результате их приходится отслеживать и управлять ими вручную.

Я могу обойти эту проблему, используя мастер настройки для сбора данных, но саму проблему или ошибку, вероятно, следует исправить.

5 лайков

Мне удалось воспроизвести эту ошибку, и я считаю, что нам нужно её исправить.

  1. Создайте группу, которая принимает письма с любого адреса электронной почты.
  2. Создайте несколько пользовательских полей профиля.
  3. Отправьте письмо в группу, созданную на шаге (1), с адреса, который ещё не связан с аккаунтом на сайте. Это создаст временного пользователя с этим адресом.
  4. Создайте аккаунт, используя тот же адрес электронной почты, что и у временного пользователя.
  5. Когда будет предложено, заполните пользовательские поля.
  6. Перейдите на страницу профиля пользователя и убедитесь, что пользовательские поля не заполнены.

Когда вы создаёте аккаунт с адресом электронной почты, который ещё не связан с временным аккаунтом, пользовательские поля заполняются так, как и ожидалось.

5 лайков

Я пытаюсь отладить эту проблему, но спустя некоторое время мне всё ещё не удаётся её воспроизвести.

Я протестировал это на чистой установке. Изменены только следующие настройки:

  • pop3 polling enabled
  • pop3 polling host
  • pop3 polling username
  • pop3 polling password
  • email in.

Я выполнил следующие действия:

  1. Создал новую группу, указав только имя и «Custom incoming email address». Группа принимает письма с любого адреса электронной почты.

  2. Создал несколько пользовательских полей. Пробовал типы «Text Field», «Confirmation» и «Dropdown». Тестировал как обязательные, так и необязательные поля, а также поля, доступные и недоступные для редактирования.

  3. Отправил письмо на адрес группы с нового адреса электронной почты. Это создало временного пользователя, как и ожидалось.

  4. Создал новую учётную запись, используя тот же адрес электронной почты, что и при отправке письма ранее, заполнив обязательные пользовательские поля.

  5. Временный пользователь был преобразован в обычного пользователя, а пользовательские поля были сохранены и отображаются по адресу u/user/preferences/profile.

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

4 лайка

Единственное очевидное отличие заключается в том, что наш экземпляр использует прямую входящую почту и запускает пользовательский мастер при первом входе в систему.

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

3 лайка

Я также всё ещё могу воспроизвести проблему с помощью приведённых выше шагов. Мой сайт также использует входящую электронную почту напрямую. Это закрытый сайт по приглашениям, поэтому я отправил ссылку-приглашение для создания учётной записи. Чтобы убедиться, что проблема не в ссылке-приглашении, я временно включил регистрацию для создания учётной записи. Та же проблема — пользовательские поля не отображаются.

Пожалуйста, ещё раз выполните шаги воспроизведения и будьте особенно внимательны: используйте режим инкогнито или другой профиль Chrome при отправке письма и создании учётной записи.

3 лайка

Вполне возможно, что это непредвиденное взаимодействие с прямым входящим письмом. Я точно не помню, чтобы замечал это раньше до внедрения прямого входящего письма.

Если вы всё ещё не можете воспроизвести проблему, пожалуйста, настройте это и попробуйте снова:

1 лайк

Я также смог воспроизвести это на нашем собственном хостинге в рамках пробного периода бизнес-плана. @jancernik, проверь свою электронную почту на наличие приглашения, чтобы ты тоже мог воспроизвести проблему там.

На нашем хостинге также необходимо включить административную настройку «Входящая электронная почта», чтобы появилась групповая настройка «Пользовательский адрес входящей электронной почты». Это меня сбило с толку.

Screenshot 2023-05-10 at 7.08.05 AM

Также описание этой настройки на нашем хостинге вводит в заблуждение, так как не требуется никакой дополнительной ручной настройки или опроса по протоколу POP3 — всё работает сразу из коробки. Я обновлю текст.

Редактирование: Я обновил текст в этом PR, чтобы упростить его:

Разрешить пользователям создавать новые темы по электронной почте. После включения этой настройки вы сможете настроить входящие адреса электронной почты для групп и категорий.

2 лайка

Уточню: если email in отключен, можно ли всё ещё воспроизвести проблему из исходного сообщения?

Вы не сможете повторить мои шаги из второго сообщения выше, не включив email in, так как это включает создание временного пользователя путем отправки письма на форум для создания нового группового сообщения.

Однако вы также можете воспроизвести проблему без включенного email in, отправив личное сообщение на адрес электронной почты для создания временного пользователя, а затем зарегистрировавшись с этим адресом. Я только что проверил это.

2 лайка

Есть ли какие-то новости по этому вопросу?

Я спрашиваю, потому что собираюсь добавить примерно 100 человек в качестве предварительно созданных пользователей. Они были подписаны на существующую внешнюю рассылку через список адресов электронной почты, но мы планируем, что теперь рассылка будет осуществляться с нашего сайта.

Мы надеемся, что многие из них также зарегистрируются, но это будет довольно запутанно, если их UCF не будут получены!

1 лайк

Это есть в нашем списке дел, но, скорее всего, нам потребуется несколько недель, чтобы решить эту проблему.

3 лайка

У нас уже есть исправление, спасибо @daniel, по ссылке: FIX: Staged user creation loses user custom field data by pmusaraj · Pull Request #22206 · discourse/discourse · GitHub

Можете ли вы протестировать это, пожалуйста, @tobiaseigen @nathank?

5 лайков

Я протестировал, используя свои шаги по воспроизведению выше, и могу подтвердить, что проблема исправлена! Отличная работа! Это был непростой случай.

У меня возникла небольшая паника, потому что при первом просмотре профиля как администратор поля не отображались. Но после обновления страницы в браузере они появились. :sweat_smile:

6 лайков