Привет! Я здесь впервые. Мы столкнулись с проблемой: наша первоначальная реализация Discourse не учитывала сценарий, с которым мы сейчас работаем. Я не могу найти никаких похожих случаев или информации о том, как к этому подступиться, поэтому хотел бы спросить, нет ли здесь гуру, который мог бы нам помочь.
Сценарий использования
Все наши категории открыты для всех. Однако мы создаём новую группу, у которой не должно быть доступа ко всем нашим категориям; ей разрешено открывать и посещать только одну категорию, а также отвечать только на темы, созданные другими группами. То, что все наши категории открыты, сейчас играет против нас, потому что я не могу найти простое решение, чтобы ограничить эту группу доступом только к одной категории.
Идеальная ситуация
Я понимаю, что наша реализация не идеальна. Однако мы не можем потратить слишком много времени на полную переделку сайта — и назначение новых прав всем остальным группам потребует огромных усилий.
Надеюсь, кто-то уже сталкивался с этой проблемой и сможет поделиться своим творческим решением Если нужна дополнительная информация, дайте знать.
Это непросто. Вы, конечно, не единственный, кто столкнулся с этой проблемой, и она часто возникает на более позднем этапе жизни сообщества, поэтому понятно, что ваш предыдущий успех привёл вас к этой новой трудности.
На самом деле нет встроенного способа создать группу с правами меньшими, чем у группы «все».
Я думаю, вам нужно сделать следующее:
Создать новую группу для большинства ваших пользователей, например @members.
Добавить всех существующих пользователей в эту группу.
(Опционально) Добавить этих новых пользователей в другую группу, например @guests.
Обновить разрешения категорий, чтобы определить уровень доступа для @members по сравнению с @guests.
Это может потребовать некоторой работы, но вы можете найти способы упростить выполнение этих действий массово.
Например, CSV-файл, созданный при экспорте пользователей, содержит столбец с названиями групп, а функция массового приглашения также использует CSV-файл с названиями групп для добавления пользователей в группы.
Потребуется немного работы с данными, чтобы всё получилось правильно, но это выполнимо. Я рекомендую сначала начать с небольшого тестового CSV-файла, содержащего лишь подмножество пользователей (по 1–2 человека), чтобы убедиться, что всё работает как ожидается, прежде чем выполнять это для всех.
Сколько примерно у вас сейчас пользователей, групп и категорий?
Я бы сказал, что у нас сейчас около 3 тысяч пользователей, 25 категорий и 25 групп. Ваши предложения выглядят вполне реализуемыми. Я очень надеялся не тратить слишком много времени на погружение в эту тему, но я обсудлю с командой, хотим ли мы пойти этим путём.
Кстати, большое спасибо за быстрый ответ! Очень ценю это.
Если у вас есть доступ к Rails, вы можете ознакомиться с Административными массовыми операциями, чтобы узнать способы ускорения выполнения части этой работы.
Поскольку вы являетесь клиентом с размещённым решением, вы также можете напрямую обратиться к нам, чтобы объяснить, что вы планируете делать, и мы сможем предоставить вам более персонализированную помощь. Ищите ссылку на поддержку на вашей панели администратора!