Я работаю над созданием «маркетплейса» на базе Discourse. Буду рад предложениям и обратной связи

У нас есть продукт. Разработчики могут создавать решения на его основе. Мы заметили, что разработчики в сообществе делятся друг с другом этими созданными ими решениями. Год или два назад мы создали категорию под названием «Покажи и расскажи» (Show and Tell), где разработчики могут делиться своими творениями друг с другом — и это имело большой успех.

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

  • Это не будет платным, так что не нужно беспокоиться о платном доступе или платежах.
  • Все интеграции, представленные на маркетплейсе, будут с открытым исходным кодом и размещены в GitHub.
  • Существует конечный список типов интеграций, которые можно отправить (по сути: функция продукта A, функция продукта B, функция продукта C и «Другое»… это отдельные подкатегории в категории маркетплейса).
  • Я хочу, чтобы каждый товар на маркетплейсе был представлен в виде темы Discourse, например, #plugin или #theme-component.
  • Будет предусмотрен процесс одобрения заявок для размещения товара на маркетплейсе. Ваш товар должен быть достаточно высокого качества, чтобы считаться товаром маркетплейса, а не просто постом в разделе «Покажи и расскажи».

Вот что я уже сделал:

Процесс подачи заявки

Чтобы подать заявку на размещение товара на маркетплейсе, сначала необходимо запросить доступ к группе пользователей «Издатели маркетплейса» (Marketplace Publishers). В запросе вы должны предоставить ссылку на репозиторий с открытым исходным кодом вашего товара и описание того, что это такое. Этот запрос отправляется владельцам группы «Издатели маркетплейса» в виде группового личного сообщения (стандартная функция Discourse). Конечно, в этом чате они могут обсудить, что именно человек хочет опубликовать, проверить его код и так далее.

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

После этого наша команда публикует товар на маркетплейсе (публиковать новые темы в этой категории могут только наша команда или одобренные сотрудники компании).

Было бы здорово, если бы автоматизация «отправка ЛС» позволяла отправителем указывать группу пользователей или список пользователей. Мы могли бы использовать это для чего-то вроде:
Привет, %%RECEIVER_USERNAME%%, я просто хотел сказать спасибо за вашу работу над тем, чтобы стать автором маркетплейса. Это отличный способ продемонстрировать свои технические навыки или возможности вашего бизнеса.

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

  • a
  • b
  • c

Процесс использования

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

С чем я сталкиваюсь с трудностями (или что нужно продумать)

  • Я пытаюсь понять, как обрабатывать ошибки и запросы на новые функции для товаров маркетплейса. Стоит ли использовать категории для ошибок и запросов на функции, создавая для каждого товара маркетплейса соответствующий тег? Или делать это только для официальных плагинов, а разработанные сообществом или партнёрами плагины обрабатывать в их собственных темах? Первый вариант означает много работы по управлению тегами, но упрощает отслеживание… однако я опасался создавать слишком много тегов. Второй вариант создаёт разрозненный опыт в зависимости от товара маркетплейса, с которым вы взаимодействуете, и может затруднить поиск текущих ошибок или запросов на функции, если автор оригинальной темы не обновляет первый пост.
  • Мне нужно понять, как пользователи товаров маркетплейса получают уведомления об изменениях в этих товарах. Если они подписаны на конкретную тему (товар маркетплейса), получат ли они уведомления, если обновится первый пост (OP)? Получат ли все подписчики уведомления, если это будет вики-страница?
  • Мне нужен лучший возможный способ заставить пользователей подтвердить ознакомление с нашими условиями использования. Сейчас я разместил ссылку на них в самом верху темы жирным шрифтом, но мне кажется, что наша юридическая служба захочет, чтобы это всплывающее окно появлялось у пользователей перед загрузкой или использованием товара. Не знаю, что здесь делать…
  • Возможность для пользователей оценивать товары маркетплейса, чтобы мы могли получать эти оценки через API, видеть, кто что оценил и так далее.
  • Возможно, потребуется компонент темы как для категории, так и для темы, который лучше визуализировал бы категорию как «маркетплейс», а товар — как «товар маркетплейса», а не как обсуждение или форум.
  • Уверен, есть вещи, которые я не учёл, поэтому, пожалуйста, укажите на недостатки, если хотите :slight_smile:
10 лайков

Вау. Мне нравится эта идея, Джордан. :slight_smile:

3 лайка

Я всё ещё могу представить, что это можно настроить как #theme

  • макет будет отдельным с компонентом миниатюр тем
  • при создании новой темы вам будет предложён шаблон для следования
  • новые темы будут проверяться; менеджеры сообщества могут превратить тему в приватное обсуждение или просто отправить личное сообщение для дальнейшего обсуждения
  • операторы могут изменять контент опубликованной темы
  • отзывы и сообщения об ошибках доступны прямо в теме; также можно удалять ответы через x месяцев

Если вы хотите выделить маркетплейс от остальной части форума, вы можете использовать страницу документации и:

  • добавить ссылку на неё как «Маркетплейс» в боковую панель
  • скрыть категории маркетплейса из списка категорий по умолчанию
  • применить индивидуальный стиль для карточек и тем в макете документации
  • изменить текст «Посмотреть обсуждение этой темы» в нижней части просмотра темы в документации на что-то более конкретное, например «Дорожная карта, предложения по функциям и ошибки»
4 лайка

Прошло уже некоторое время с тех пор, как я изучал этот вопрос, но, возможно, стоит взглянуть на Topic Ratings Plugin. Файл README плагина даёт более подробное описание его работы, чем тема на Meta:

Плагин для Discourse, позволяющий использовать темы для оценки различных объектов.

  1. Темы могут быть назначены как «для оценки» путём публикации в категории с включёнными настройками рейтинга (см. ниже) или путём добавления тега ‘rating’.
  2. Каждая тема рейтинга касается одного объекта («объект оценки»); например, услуги или продукта.
  3. Пользователи оценивают объект рейтинга, выбирая звёздочный рейтинг при создании сообщения (то есть в редакторе).
  4. Среднее (математическое ожидание) всех оценок в теме отображается под заголовком темы и в соответствующем элементе списка тем.

Это могло бы быть интересно также для интеграций Discourse/Shopify.

Просто мысль на досуге, но, возможно, можно создать автоматизацию, которая добавляла бы пользователей в группу после принятия ими условий предоставления услуг (TOS). Вы можете настроить категорию маркетплейса так, чтобы доступ к ней требовал членства в группе ‘accepted_tos’. Для этого потребуется некоторая разработка: добавить флажок на страницу условий предоставления услуг, запустить автоматизацию при его выборе и найти способ чётко объяснить пользователям, что им нужно сделать для доступа к категории.

4 лайка

Для плагина рейтинга тем, поскольку я размещён на Discourse, мне пришлось бы попросить их разработать что-то, но я видел его некоторое время назад, и он выглядел довольно близким к тому, что я хочу для этой части.

1 лайк

Возможно, и нет.

Компоненты тем Discourse теперь поддерживают Wasm

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

3 лайка

Для меня это звучит очень похоже на старую добрую проблему «когда создавать (под)категорию на форуме», с которой сталкиваются менеджеры сообществ с момента запуска первых BBS :slight_smile:
В целом мой совет: «как можно позже».
Я бы начал с простой схемы «один плагин — одна тема» и создал бы «правильную» структуру только тогда, когда начну получать несколько новых запросов в неделю (из-за чего тема станет слишком перегруженной для отслеживания).


Не обязательно.. :slight_smile: Discourse также может размещать сторонние плагины после проверки и, возможно, дополнительной оплаты, если это потребуется.
Обратитесь в службу поддержки для получения более подробной информации, если вам это нужно.

5 лайков

Это разовый взнос, регулярная плата или что-то другое?

1 лайк

Повторяющаяся плата за хостинг, тестирование и поддержку пользовательских плагинов.

4 лайка

Отличная мысль! Иногда привыкаешь к более сложным решениям и думаешь, что всё должно быть именно так — спасибо за напоминание начинать с малого.

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

3 лайка

Одна из наших интересных функций, которая может пригодиться здесь, — это новые обновлённые шаблоны тем, над которыми работал @keegan.

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

Таким образом, вы как минимум сможете получать структурированные заявки, что решает часть проблемы.

5 лайков

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

НО такая структурированная данные с обязательными полями была бы потрясающей для очень-очень многих других категорий. Есть ли она где-нибудь уже сейчас?

2 лайка

У нас есть скрытая настройка сайта для её включения, мы планируем объявить об этом очень скоро!

4 лайка

Какая потрясающая работа! Это так круто!

Думаю, плагин Cutsom Wizard предоставляет аналогичный функционал, но я ещё его не пробовал.

2 лайка

@jordan-violet ваш пост заставил меня вспомнить эту тему, которая, возможно, будет вам интересна…

1 лайк

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

1 лайк
2 лайка

@sam, есть ли предварительные сроки по этому вопросу? Хотелось бы его использовать (или, в любом случае, с радостью предоставлю обратную связь на раннем этапе).

3 лайка

очень много в наших ближайших планах, надеюсь сделать это через несколько дней cc @pmusaraj

4 лайка

Просто уточняю — есть ли уже шанс, что это скоро появится в продаже?

1 лайк