Изменения в настройках предоставления доступа к функциям (от уровней доверия к группам)

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

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

Классическим примером старой практики является настройка shared drafts min trust level. При таком подходе невозможно предоставить доступ конкретным пользователям, не присвоив им уровень доверия 4 или права модератора.

Примерами новой практики являются настройки whispers allowed groups, personal message enabled groups и hidden post visible groups. Обратите внимание, что я могу предоставить доступ к созданным мной группам (access_oskar и kabissastories) в дополнение к группам по умолчанию.

Одновременно мы обновим настройки, которые сейчас принимают только одну группу, чтобы они могли принимать несколько групп, например, настройку категории «Модерация», как обсуждалось в Ability to set more than one group category moderator - #5 by mcwumbly

Мы автоматически создаем группы на основе уровней доверия, поэтому всё ещё возможно полагаться на уровни доверия для предоставления доступа. Если пользователь имеет уровень доверия 3, он автоматически становится членом групп с уровнями доверия 0, 1, 2 и 3.

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

Настройки, которые будут обновлены:

Было Теперь
anonymous posting min trust level anonymous posting allowed groups
shared drafts min trust level shared drafts allowed groups
min trust level for here mention here mention allowed groups
approve unless trust level approve unless allowed groups
approve new topics unless trust level approve new topics unless allowed groups
email in min trust email in allowed groups
allow uploaded avatars uploaded avatars allowed groups
min trust to create topic create topic allowed groups
min trust to edit wiki post edit wiki post allowed groups
min trust to edit post edit post allowed groups
min trust to allow self wiki self wiki allowed groups
min trust to send email messages send email messages allowed groups
min trust to flag posts flag post allowed groups
min trust to post links post links allowed groups
min trust to post embedded media embedded media allowed groups
min trust level to allow user card background user card background allowed groups
min trust level to allow invite invite allowed groups
min trust level to allow ignore ignore allowed groups
tl4 delete posts and topics delete all posts and topics allowed groups
enforce second factor
min trust level for user api key user api key allowed groups
min trust to create tag create tag allowed groups
min trust level to tag topics tag topics allowed groups
skip akismet trust level skip akismet allowed groups
saved searches min trust level saved searches allowed groups
accept all solutions trust level accept all solutions allowed groups
poll minimum trust level to create poll create allowed groups
styleguide admin only styleguide allowed groups
adsense through trust level adsense exclude groups
dfp through trust level dfp exclude groups
amazon through trust level amazon exclude groups
carbonads through trust level carbonads exclude groups
adbutler through trust level adbutler exclude groups
min trust to flag posts voting comments post voting allowed groups
51 лайк

Первое из них уже выполнено здесь (с незначительным дополнением):

6 лайков

Это просто потрясающе! Удивительно! Я так взволнован этим.

Discourse предоставляет некоторые дополнительные права на уровне доверия 4, такие как глобальное закрепление/открепление тем, закрытие/открытие тем. Можно ли также изменить эти права для конкретных групп? Уровень TL4 может быть слишком широким. Иногда для относительно крупных сообществ может потребоваться более тонкое управление правами. Например, может понадобиться группа, в которой люди всегда могут просматривать и редактировать сообщения всех пользователей во всех категориях, но при этом не должны иметь возможности глобально закреплять темы.

Если это станет возможным, Discourse станет высоко настраиваемым, что, на мой взгляд, сделает всю систему ещё более потрясающей!

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

4 лайка

Не забудьте про визуализацию.

Когда многие из нас увидели визуализацию шагов уровня доверия, это быстро укрепило наше понимание.

Теперь, когда речь идёт о наборов или отношений, возможно, даже статичная визуализация не подойдёт — может понадобиться интерактивная страница.

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

Это было бы похоже на один из демо-примеров Cytoscape.js демо.

1 лайк

Всем привет!

Звучит это здорово!

  • Будут ли пользователи, повысившие уровень доверия, автоматически добавляться в соответствующие новые группы?
  • Можно ли настроить автоматические критерии для вступления в эти группы?
  • Как будет регулироваться право назначения групп?
4 лайка

Привет, N2U, и добро пожаловать в мета!

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

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

Тоже не совсем понимаю, что вы имеете в виду, и, вероятно, это выходит за рамки данной темы.

2 лайка

Это интересная нестандартная мысль… С таким новым направлением уровни доверия выше TL3 могут стать менее актуальными. TL4 уже может быть присвоен только администратором конкретному пользователю, поэтому его можно заменить созданием групп для различных ролей в сообществе, назначением этим группам соответствующих прав и добавлением людей в эти группы.

Я не совсем понимаю, о чем вы говорите. Если вы сможете привести пример и объяснить это, я буду признателен.

Возможно, это из-за моего возраста, но мне приходят на ум роли в Drupal, где для визуализации и настройки ролей и прав использовался довольно пугающий табличный интерфейс. Я бы не хотел возвращаться к такому, но, возможно, кто-то сможет написать запрос через Data Explorer, чтобы создать табличный вид групп и их прав.

Кроме того, на страницах групп уже есть вкладка ПРАВА, которая показывает, к каким категориям имеют доступ члены группы. Возможно, мы могли бы расширить её функционал, чтобы она также отображала, к каким функциям у группы есть доступ.

5 лайков

После того как я прочитал ваш ответ N2U, стало ясно, что (от уровней доверия к группам) — это не то, что я предполагал.

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

Так что пока просто забудьте о визуальной части.

2 лайка

Спасибо за уточнение!

Уровни доверия никуда не денутся, и система уровней доверия остаётся важной частью Discourse.

Кажется, путаница возникает из-за того, что уровни доверия также являются группами!

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

7 лайков

Это уже реализовано здесь:

4 лайка

Выполнено в:

3 лайка

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

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

2 лайка

Ещё три были перемещены:

Разрешить загруженные аватары

Минимальный уровень доверия для создания темы

Минимальный уровень доверия для редактирования вики-поста

3 лайка

Многие из них уже объединены здесь:

5 лайков

Мне интересно, как вы (команда) концептуально объясняете различие между уровнями доверия и группами. Иными словами, неужели вы говорите это лишь потому, что уровни доверия существуют в Discourse так давно, что кажутся неотъемлемой и неприкосновенной частью системы?

С этими обновлениями, что делает уровни доверия особенными? То, что членство в них определяется правилами и обновляется автоматически? Но если так, что помешает вам в будущем разрешить пользователям создавать правила для автоматического добавления в созданные вручную группы?

У меня нет возражений против этих обновлений, я просто любопытен, каково ваше видение

5 лайков

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

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

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

Мы также работаем над улучшением структуры и организации раздела администрирования, поэтому учтём это.

9 лайков

Получается, у нас будут две концептуально разные категории?

  • Одна для системных уровней доверия и настройки условий их присвоения. Сюда относятся все настройки, подобные этой:
    image

  • Другая для настройки прав доступа на основе групп. Сюда относятся все настройки, подобные этой:
    image

Мне хотелось бы разделить их по двум причинам:

  1. Осмысленная настройка условий системных уровней доверия — задача непростая. Вы сталкиваетесь с длинным списком настроек, основанных на числах, таких как tl_x требует... такого-то количества таких-то действий… Если все они находятся в одной отдельной категории, легче объяснить, что это настройки системы доверия по умолчанию. Вы можете их изменить, но также можете просто оставить как есть.

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

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

2 лайка

Это могло бы относиться к другому разделу, но мне очень нравится использовать группы для ограничения или предоставления прав. Конечно, если использовать что-то иное, чем автоматические группы уровней доверия, всё может очень быстро превратиться в большой хаос. Однако это лишь вопрос планирования и документации — администратор должен объяснить, зачем создана та или иная группа, ведь через несколько месяцев никто не помнит, зачем изначально всё это было сделано :wink:

2 лайка

Привет! Отличные новости о тонкой настройке контроля доступа для групп.

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

Конкретный пример: группа модераторов категории должна иметь возможность редактировать посты. По сути, перемещать их только в пределах тех категорий и подкатегорий, где они назначены модераторами. Учитывается ли это?

Как насчет роли модератора — будет ли она также интегрирована в группы?

2 лайка

Отлично! Рады, что вам нравится то, что мы делаем здесь.

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

Чтобы присоединиться к обсуждениям о модераторах категорий и предложить улучшения, посмотрите тег category-moderators.

3 лайка