Как настроить автоматический переход всех новых пользователей или принявших приглашение в указанную категорию (с открытым редактором сообщений)

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

Существует ли способ настроить так, чтобы любой новый пользователь, регистрирующийся впервые (будь то через процесс регистрации или принятие приглашения, даже если в приглашении не настроена функция «перейти к теме»), автоматически попадал в указанную категорию, и при этом автоматически открывался редактор сообщений?

Это снизило бы барьер для новых пользователей при публикации постов-знакомств и повысило вовлечённость сообщества.

Как я могу этого добиться? У меня уже есть несколько ссылок-приглашений, и реалистично изменить все настройки «перейти к теме» в них не получится (да и это не приведёт к автоматическому открытию редактора сообщений).

Большое спасибо!

В Discourse нет встроенного способа автоматически направлять всех новых пользователей (зарегистрировавшихся или пригласённых) в определённую категорию и автоматически открывать редактор сообщений.

Обходные пути:

  1. Вы можете подтолкнуть пользователей к вашему разделу приветствия, включив ссылку на редактор сообщений в:
  • приветственное сообщение от Discobot
  • глобальный баннер

См. Creating a link to start a new topic with pre-filled information

Или:

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

Интересно, возможно ли это в компоненте темы — переопределить:

чтобы перенаправлять пользователя. Но автоматическое открытие редактора сообщений может оказаться сложнее.

Это возможно с помощью плагина Custom Wizard

Само открытие редактора — не самая сложная часть: в Discourse уже есть для этого полноценная точка входа.

Вы можете перенаправить пользователей на endpoint /new-topic с параметрами запроса, например:

https://discourse.com/new-topic?
title=Shared%20from%20iOS
&category_id=19
&body=https%3A%2F%2Fexample.com

Это откроет редактор новой темы с предварительно заполненными полями (заголовок, категория, тело) с помощью простых параметров запроса — не post[...].

Таким образом, процесс будет следующим:

  • перенаправление после регистрации или принятия приглашения
  • переход на /new-topic?...
  • немедленное открытие редактора с нужной категорией и содержимым

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

Остаётся только решить, где лучше всего встроить перенаправление (при принятии приглашения или при первом входе), а не то, можно ли автоматически открыть сам редактор.

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

Если

возможно, возможно, элемент localstorage может сигнализировать об открытии редактора. Хм…

Да — это можно аккуратно реализовать как компонент темы.

Например, см.:

Подход следующий:

  • перенаправление после активации или принятия приглашения
  • установка одноразового сигнала (например, через localStorage)
  • JS-инициализатор в компоненте темы считывает этот сигнал
  • открывает редактор через сервис редактора
  • сбрасывает флаг, чтобы действие выполнялось только один раз

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