Улучшение системы приглашений

В версии 2.7 мы внесём ряд улучшений в систему приглашений, приведя её в соответствие с подходом таких платформ, как Discord, где приоритет отдаётся быстрому созданию ссылки, которую можно скопировать и вставить в электронное письмо, SMS или чат. Дополнительные возможности, такие как отправка письма с персонализированным сообщением или добавление пользователей в группы, будут доступны в расширенных настройках :gear:. Также будет улучшено управление приглашениями, что позволит пользователям редактировать свои приглашения после их создания.

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

  • Удалить вкладку LINKS, переработать вкладку PENDING на странице /user/invited/pending, включив в неё ссылки-приглашения
  • Добавить возможность редактирования существующих приглашений, отображаемых на вкладке PENDING
  • Упростить всплывающее окно «Пригласить», перенеся расширенные настройки в :gear:
  • Добавить возможность указать тему, на которую пользователь попадёт после принятия приглашения
  • Добавить промежуточный шаг в функцию «Массовое приглашение» (для администраторов) с оперативным обучением по подготовке и загрузке CSV-файла
  • Мы не удалили эту функцию, но исправили её работу! Удалить возможность приглашать новых пользователей через кнопку «Поделиться» в меню темы

Предлагаемые новые интерфейсы:

Структура новой объединённой вкладки PENDING
Приглашение Группы Тема Дата создания/последней отправки Срок действия
invitedperson@example.fake team, developers Welcome, developers! 15 ноя 15 дек [Изменить] [Удалить] [Получить ссылку] [Отправить письмо]
ссылка (1/5 использовано) team 5 окт 15 дек, 16:00 [Изменить] [Удалить] [Получить ссылку]
anotherinvitedperson@example.fake translators Getting started with translation 2 ноя 20 дек [Изменить] [Удалить] [Получить ссылку] [Отправить письмо]
thirdinvitedperson@example.fake team 25 ноя 25 дек [Изменить] [Удалить] [Получить ссылку] [Отправить письмо]
Новое всплывающее окно «Пригласить»
Заголовок: Пригласить людей

Поделитесь этой ссылкой с другими, чтобы мгновенно предоставить доступ к SITENAME!

[                             ]  [создать ссылку/скопировать]

Срок действия вашей ссылки истекает на следующей неделе. :gear:

Примечание: при выборе кнопки «СОЗДАТЬ ССЫЛКУ» ссылка добавляется в пустое поле, а кнопка меняется на «КОПИРОВАТЬ». После нажатия ссылка копируется в буфер обмена для вставки в письмо, чат или SMS.

Расширенные настройки нового всплывающего окна «Пригласить»
Заголовок: Пригласить людей (расширенные настройки)

Добавить в группы:

[ Поиск... ]

Перенаправить на тему при первом входе:

[ Поиск... ]

Истечение срока через

[ Выберите период ]

Максимальное количество использований

[ 5 ]

Ограничить адресом электронной почты

[ name@example.com ] 

Отправить письмо

[ Здравствуйте, присоединяйтесь к нашей команде.


                                                ]

    [                           ] [создать ссылку/скопировать ссылку] [отправить письмо]

Примечание: по умолчанию срок действия установлен на одну неделю от текущей даты. Поле «Максимальное количество использований» отображается только если не указан адрес электронной почты. Поле для пользовательского сообщения и кнопка «Отправить письмо» отображаются только при указании адреса электронной почты.

Новый промежуточный шаг для массового приглашения
Заголовок: Массовое приглашение (только для администраторов)

Пригласите список пользователей, чтобы быстро запустить ваше сообщество. Подготовьте [CSV-файл](https://en.wikipedia.org/wiki/Comma-separated_values), содержащий как минимум одну строку на каждый адрес электронной почты приглашаемых пользователей. Если вы хотите добавить людей в группы или перенаправить их на конкретную тему при первом входе, можно дополнительно указать следующую информацию через запятую:

name@example.com,group_1;group_2,topic_id

Каждому адресу электронной почты из загруженного CSV-файла будет отправлено приглашение, которое вы сможете управлять позже.

[ загрузить CSV-файл]

Примечание: при нажатии кнопки «ЗАГРУЗИТЬ CSV-ФАЙЛ» откроется файловая система для выбора файла CSV.

18 лайков

Как могли заметить пользователи tests-passed, @dan усердно работал над улучшением системы приглашений в соответствии с описанием в исходном сообщении. Улучшения уже внедрены и работают отлично, так что самое время проверить их, если вы еще этого не сделали! Дайте нам знать, что вы думаете, и сообщите, если заметите какие-либо проблемы. Ниже представлены скриншоты новых интерфейсов.

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

Самое значительное нововведение заключается в том, что обычные пользователи, имеющие право приглашать других, теперь могут копировать ссылку для обмена в дополнение к отправке email-приглашения. Они также могут изменить максимальное количество использований ссылки, ограниченное настройкой администратора invite link max redemptions limit users (по умолчанию 10). Однако они не могут изменить срок действия приглашений, который устанавливается в настройке администратора invite expiry days (по умолчанию 30 дней).

Сотрудники могут получить доступ к расширенным опциям: добавлять приглашенных пользователей в группы, выбирать конкретную тему, на которую они будут перенаправлены при первом входе, и изменять срок действия ссылки. Для email-приглашений сотрудники могут добавить необязательное личное сообщение.

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

Вкладка «Ожидающие приглашения» с ссылками и email-приглашениями

Создание ссылки для приглашения с открытыми расширенными опциями

Создание email-приглашения с открытыми расширенными опциями

12 лайков

13 сообщений были перенесены в новую тему: API-эндпоинт для создания ссылок-приглашений перемещен в /invites.json

Выглядит отлично — спасибо всем, кто работал над этим :slight_smile:

7 лайков

7 сообщений были перенесены в новую тему: Надёжные пользователи не могут приглашать, когда включена настройка администратора «Необходимо утверждать пользователей»

Просто комментарий/идея для дальнейшего улучшения:

На нашем Discourse есть отдельные категории, связанные с группами, представляющими членство в разных сообществах. На одной общей установке работает несколько сообществ. Было бы хорошо, если бы:

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

Не уверен, является ли это упущением во время редизайна интерфейса или здесь есть какое-то обоснование, но когда пользователь (не сотрудник), являющийся владельцем одной или нескольких групп, выбирает опцию пригласить только один адрес электронной почты, расширенные опции не позволяют ему добавить приглашаемого в свои группы. Владелец всё ещё может сделать это через интерфейс в разделе /g. Возможно, об этом изменении стоит напомнить где-нибудь, например, в js.user.invited.invite.restrict_email?

Огромное спасибо за все обновления, особенно за это. Значительное улучшение удобства использования приглашений.

2 лайка

@dan за последние недели развернул обновление для системы приглашений. Дайте знать, что вы думаете, и если у вас есть предложения по дальнейшему улучшению! Главная цель этих последних изменений — сделать процесс максимально простым, сохранив при этом всю магию системы приглашений. Больше нет вкладки «Расширенные настройки». Все доступные опции отображаются одновременно во всплывающем окне приглашения, в зависимости от ситуации и прав доступа пользователя.

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

Скриншоты:

Пользователь уровня доверия 2 приглашает кого-то по электронной почте. Необязательное персональное сообщение появляется только после начала ввода адреса электронной почты.

Тот же пользователь приглашает кого-то через ссылку на приглашение в меню темы. Обратите внимание: опция «Прибыть в тему» отображается, но её нельзя изменить.

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

После сохранения приглашения я могу скопировать ссылку для распространения.

Вау, это звучит очень сложно. Я понимаю ваш порыв, и идея интересна, но я не уверен, что мы хотим добавлять ещё больше «магии» на данном этапе. Можете ли вы добиться желаемого, используя опции «Пригласить в тему» и «Группы», доступные сотрудникам? Каждая подкомьюнити получает группу, в которую люди могут вступить после регистрации, и пользователи могут помогать друг другу и работать с владельцами групп, чтобы это произошло.

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

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

4 лайка