Группы Workspace

:information_source: Краткое описание Прототип плагина для использования одного сервера Discourse в качестве центра для нескольких команд (по аналогии со Slack или Mattermost).
:hammer_and_wrench: Ссылка на репозиторий GitHub - akhmerov/discourse-workspace-groups · GitHub
:open_book: Руководство по установке Как установить плагины в Discourse

Это прототип плагина, в основном сгенерированный ИИ. Используйте на свой страх и риск. Любые отзывы приветствуются!

Возможности

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

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

Вот как это выглядит:

Настройка

Установите плагин, пересоберите Discourse и включите параметр discourse_workspace_groups_enabled в настройках администратора. Если вы хотите использовать связанный чат, также включите Discourse Chat и настройте его так, чтобы можно было создавать и использовать чат-каналы категорий.

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

Если вы хотите, чтобы обычные члены команды могли создавать каналы, включите параметр discourse_workspace_groups_members_can_create_channels. Если некоторые категории верхнего уровня никогда не должны становиться рабочими пространствами, добавьте их идентификаторы в параметр discourse_workspace_groups_excluded_top_level_category_ids.

Параметры

Имя Описание
discourse_workspace_groups_enabled Включает плагин и его функциональность рабочих пространств или каналов.
discourse_workspace_groups_members_can_create_channels Разрешает неадминистраторам рабочего пространства создавать каналы.
discourse_workspace_groups_excluded_top_level_category_ids Список идентификаторов категорий верхнего уровня, которые никогда не должны рассматриваться как кандидаты на рабочие пространства.
9 лайков

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

Вы уже используете это в реальной работе?

(Я, конечно, вижу ваше предупреждение о том, что это прототип)

С интересом хотел бы узнать о вашем реальном опыте работы с ним.

5 лайков

Спасибо!

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

3 лайка

У меня есть обновление:

  1. Я создал плагин миграции для Mattermost (это плагин, так как он использует множество API экземпляра). Он разработан для работы с плагином рабочего пространства.
  2. Я импортировал экземпляр Mattermost с 2 миллионами сообщений в песочницу Discourse для тестирования.
  3. Исправил несколько мелких неполадок.
  4. Всё работает, тестировщики экземпляра песочницы в целом довольны :tada:
4 лайка

Я тестирую плагин, но нигде не нахожу возможность преобразовать категорию в рабочее пространство — где это можно сделать?

Привет! Круто, что ты хочешь это попробовать!

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

1 лайк

Мне очень интересен твой плагин :+1: Я ещё не установил его, но возможность легко переключаться между форумом и обсуждением в каждой категории — это гениально. Думаю, его можно использовать и в других ситуациях.

Я создал это некоторое время назад.

Это создает домашние пространства для различных основных групп.

Кстати, в чем концептуальная разница?

Мой плагин — это крайне (возможно, даже чрезмерно) амбициозная попытка с использованием ИИ проверить, можно ли заставить Discourse имитировать модели взаимодействия и разрешений Slack/Mattermost/Zulip. К настоящему моменту он умеет очень многое. Например, он управляет членством в группах, предоставляет пользователям возможность создавать и управлять категориями и чат-каналами для более динамичного рабочего пространства.

Некоторые его части связаны с существующими функциями, но я не видел ничего подобного. Я даже немного впечатлён тем, что всё получилось — мы используем его уже около месяца :upside_down_face:

3 лайка

Выглядит отлично. Думаю попробовать это. Интересно, есть ли какие-то серьезные проблемы, отмеченные существующими пользователями этого плагина?

Некоторые пользователи недовольны тем, что чат не так отточен, как в приложениях, ориентированных на командное общение; большая часть проблем связана с самим Discourse, а не с плагином. Серьёзных проблем нет, но я бы рекомендовал его только тем, кто знаком с администрированием Discourse, а желательно — и с агентным программированием.

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

1 лайк