Миграция групп, бейджей и разрешений из XenForo

Я рассматриваю возможность миграции с XenForo, и чем больше я изучаю Discourse, тем больше понимаю, насколько всё здесь просто, но при этом не упрощено. Напротив — всё гораздо мощнее.

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

Я опишу, как я использовал эти функции в XenForo, и буду благодарен за предложения, как этого можно достичь в Discourse. Пожалуйста, укажите мне верное направление.

Группы как права доступа
У меня было несколько групп пользователей, выстроенных в иерархию, и права доступа были настроены в зависимости от их статуса. Я вижу, что уровни доверия — это схожая и более удобная концепция, но есть ли у меня возможность создать пользовательскую группу с правами доступа? Например, если я хочу лишить группу права добавлять аватары и вручную добавлю в неё участников.

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

Группы как звания в иерархии
Пример званий в иерархии, основанных на активности:

  • Солдат (50 сообщений, 50 лайков)
  • Сержант (100 сообщений, 100 лайков)
  • Капитан (100 сообщений, 100 лайков, 1 год в сообществе)
  • Командир (500 сообщений, 500 лайков, 2 года в сообществе)

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

Предполагаю, что для критериев активности мне придётся написать пользовательский SQL для значков?

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

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

Если это так, как разрешить участникам автоматическое вступление в группу на основе их активности? Например, любой, у кого более 100 сообщений, получит автоматический доступ. Помните, что конечная цель — предоставить доступ к категории.

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

Я вижу, что в Discourse есть только аддитивные права доступа, а не приоритетные запреты.

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

Но если они уже состоят в другой группе благодаря активности (100 сообщений), то они всё равно сохраняют доступ к категории, даже если их подписка истекла. Аддитивные права снова приходят на помощь?

@NateDhaliwal — хотя в заголовке я упомянул «Миграцию», мне интересно, правильно ли это разместить в категории «Миграция». По сути, я ищу аналог конфигураций и функций Discourse, как они представлены в XenForo. Тем не менее, если я получу помощь, это будет хорошо, независимо от того, где это будет размещено.