@Noble_Fish, это сгенерированный ИИ список настроек, основанных на группах, назначение каждой настройки и то, как на неё влияют анонимные и авторизованные пользователи. Имейте в виду, что я относительно уверен в его правильности, но, как и в случае с любым контентом, созданным ИИ, вам следует самостоятельно проверить факты.
Я думаю, что самый интересный столбец — это «everyone также включал anonymous_users до изменения?». Если там указано «Да», это означает, что everyone означал авторизованных И анонимных пользователей до применения этого предстоящего изменения.
Как вы можете видеть, таких настроек всего несколько, поэтому именно для них администратору нужно будет явно добавить anonymous_users в настройки сайта:
hidden_post_visible_groups— мне действительно нужно изменить эту настройку, чтобы разрешить использованиеanonymous_users, текущий код не совсем подходит для этого предстоящего изменения.lazy_load_categories_groups— мне нужно исправить и эту настройку, она выполняет избыточную проверкуeveryone, которая уже делается внутриuser.in_any_groups?.styleguide_allowed_groups— эта настройка работает как есть, но я также немного её подправлю.
Когда это предстоящее изменение станет постоянным, группы logged_in_users и anonymous_users будут использоваться исключительно, а группа everyone будет удалена.
| Настройка | Описание | Применяется к logged_in_users? |
Применяется к anonymous_users? |
everyone также включал anonymous_users до изменения? |
Результат анализа кода |
|---|---|---|---|---|---|
whispers_allowed_groups |
Разрешить частное общение внутри тем для членов указанных групп. | Нет | Нет | Нет | everyone, logged_in_users и anonymous_users запрещены; в runtime также ожидается конкретная принадлежность к группе. |
hidden_post_visible_groups |
Разрешить членам этих групп просматривать скрытые сообщения. Сотрудники всегда могут просматривать скрытые сообщения. | Да | Нет | Да | Проверяет everyone перед отклонением анонимных пользователей; в противном случае использует in_any_groups?. |
about_page_hidden_groups |
Не показывать членов конкретных групп на странице /about. |
Нет | Нет | Нет | Использует group_users; у псевдогрупп нет строк участников. |
about_page_extra_groups |
Группы, которые будут показаны на странице «О нас» ниже модераторов. | Нет | Нет | Нет | Загружает конкретные группы и участников для отображения. |
anonymous_posting_allowed_groups |
Группам, которым разрешено включать анонимное размещение сообщений. | Да | Нет | Нет | Проверка авторизованного пользователя через in_any_groups?; anonymous_users запрещен. |
personal_message_enabled_groups |
Разрешить пользователям из этих групп создавать личные сообщения. | Да | Нет | Нет | Проверка авторизованного пользователя через in_any_groups?; anonymous_users запрещен. |
shared_drafts_allowed_groups |
Разрешить пользователям из этих групп просматривать и редактировать Общие черновики. | Да | Нет | Нет | Проверка через Guardian; anonymous_users запрещен. |
here_mention_allowed_groups |
Группам, которым разрешено упоминать @here. |
Да | Нет | Нет | Требуется аутентифицированный пользователь; anonymous_users запрещен. |
approve_unless_allowed_groups |
Сообщения пользователей, не входящих в эти группы, должны быть одобрены. | Да | Нет | Нет | Проверка пользователя через in_any_groups?; anonymous_users запрещен. |
approve_new_topics_unless_allowed_groups |
Новые темы от пользователей, не входящих в эти группы, должны быть одобрены. | Да | Нет | Нет | Проверка пользователя через in_any_groups?; anonymous_users запрещен. |
skip_review_media_groups |
Пользователи, не входящие в эти группы, отправляют сообщения с встроенными медиафайлами на проверку. | Да | Нет | Нет | Проверка пользователя через in_any_groups?; anonymous_users запрещен. |
content_localization_allowed_groups |
Группам, которым разрешено обновлять локализованный контент. | Да | Нет | Нет | Проверка через Guardian/пользователя; anonymous_users запрещен. |
email_in_allowed_groups |
Группам, которым разрешено создавать новые темы через электронную почту. | Да | Нет | Нет | Проверка пользователя, отправившего письмо; anonymous_users запрещен. |
view_raw_email_allowed_groups |
Группам, которым разрешено просматривать исходный текст входящих писем. | Да | Нет | Нет | Проверка через Guardian; anonymous_users запрещен. |
uploaded_avatars_allowed_groups |
Укажите группы, которым разрешено загружать пользовательские аватары. | Да | Нет | Нет | Проверка текущего/целевого пользователя; anonymous_users запрещен. |
create_topic_allowed_groups |
Группам, которым разрешено создавать новые темы. | Да | Нет | Нет | Требуется пользователь и использует in_any_groups?; anonymous_users запрещен. |
topic_timers_allowed_groups |
Группам, которым разрешено устанавливать таймеры тем. | Да | Нет | Нет | Проверка через Guardian; anonymous_users запрещен. |
edit_wiki_post_allowed_groups |
Группам, которым разрешено редактировать сообщения, отмеченные как wiki. | Да | Нет | Нет | Проверка через Guardian; anonymous_users запрещен. |
edit_post_allowed_groups |
Группам, которым разрешено редактировать сообщения. | Да | Нет | Нет | Проверка через Guardian; anonymous_users запрещен. |
self_wiki_allowed_groups |
Разрешить пользователям из этих групп делать свои сообщения wiki. | Да | Нет | Нет | Проверка через Guardian; anonymous_users запрещен. |
send_email_messages_allowed_groups |
Группам, которым разрешено отправлять личные сообщения через электронную почту. | Да | Нет | Нет | Проверка через Guardian; anonymous_users запрещен. |
flag_post_allowed_groups |
Группам, которым разрешено отмечать сообщения как спам/офтоп. | Да | Нет | Нет | Проверка через Guardian; anonymous_users запрещен. |
post_links_allowed_groups |
Группам, которым разрешено включать ссылки в сообщения. | Да | Нет | Нет | Требуется аутентифицированный пользователь; anonymous_users запрещен. |
embedded_media_post_allowed_groups |
Пользователям из этих групп разрешено встраивать медиафайлы в сообщения. | Да | Нет | Нет | Проверка действующего пользователя; anonymous_users запрещен. |
profile_background_allowed_groups |
Группам, которым разрешено загружать фон профиля. | Да | Нет | Нет | Проверка пользователя; anonymous_users запрещен. |
user_card_background_allowed_groups |
Группам, которым разрешено загружать фон карточки пользователя. | Да | Нет | Нет | Проверка пользователя; anonymous_users запрещен. |
invite_allowed_groups |
Группам, которым разрешено приглашать пользователей. | Да | Нет | Нет | Проверка через Guardian; anonymous_users запрещен. |
ignore_allowed_groups |
Группам, которым разрешено игнорировать других пользователей. | Да | Нет | Нет | Проверка через Guardian; anonymous_users запрещен. |
delete_all_posts_and_topics_allowed_groups |
Группам, которым разрешено удалять сообщения и темы, созданные другими пользователями, и просматривать удаленный контент. | Да | Нет | Нет | Проверка через Guardian/текущего пользователя; anonymous_users запрещен. |
edit_all_topic_groups |
Разрешить пользователям из этой группы редактировать заголовки, теги и категории тем других пользователей. | Да | Нет | Нет | Разделение raw, затем in_any_groups?; anonymous_users запрещен. |
edit_all_post_groups |
Разрешить пользователям из этой группы редактировать сообщения других пользователей. | Да | Нет | Нет | Проверка пользователя через in_any_groups?; anonymous_users запрещен. |
change_post_ownership_allowed_groups |
Разрешить пользователям из этих групп изменять владельца сообщения. | Да | Нет | Нет | Проверка текущего пользователя; anonymous_users запрещен. |
cross_origin_opener_unsafe_none_groups |
Скрытые группы переопределения COOP; соответствующим пользователям присваивается Cross-Origin-Opener-Policy: unsafe-none. |
Да | Нет | Нет | Требует current_user.present?; выбор анонимных пользователей не имеет эффекта в runtime. |
user_api_key_allowed_groups |
Принадлежность к группе требуется для генерации пользовательских API-ключей. | Да | Нет | Нет | Проверка текущего пользователя; anonymous_users запрещен. |
create_tag_allowed_groups |
Группам, которым разрешено создавать теги. | Да | Нет | Нет | Проверка через Guardian; anonymous_users запрещен. |
edit_tags_allowed_groups |
Группам, которым разрешено редактировать теги, описания тегов и синонимы тегов. | Да | Нет | Нет | Проверка через Guardian; anonymous_users запрещен. |
tag_topic_allowed_groups |
Группам, которым разрешено добавлять теги к темам. | Да | Нет | Нет | Проверка через Guardian; anonymous_users запрещен. |
pm_tags_allowed_for_groups |
Разрешить членам включенных групп добавлять теги к любым личным сообщениям. | Да | Нет | Нет | Проверка через Guardian; anonymous_users запрещен. |
lazy_load_categories_groups |
Ленивая загрузка информации о категориях только для пользователей этих групп. | Да | Да | Да | Явная проверка everyone плюс проверка Guardian через in_any_groups?; anonymous_users имеет значение. |
chat_allowed_groups |
Пользователи из этих групп могут общаться в чате, за исключением анонимных пользователей, которые могут только просматривать чат, если добавлены в эту настройку. | Да | Да | Нет | Авторизованный чат использует in_any_groups?; анонимный публичный чат явно проверяет anonymous_users. |
direct_message_enabled_groups |
Разрешить пользователям из этих групп создавать личные чаты между пользователями. | Да | Нет | Нет | Проверка Guardian для авторизованного чата; нет значимого пути для анонимных личных сообщений. |
chat_pinning_messages_allowed_groups |
Пользователям из этих групп разрешено закреплять сообщения в чате. | Да | Нет | Нет | Требуется доступ к чату/текущий пользователь; нет пути для анонимного закрепления. |
chat_message_flag_allowed_groups |
Пользователям из этих групп разрешено отмечать сообщения в чате как спам/офтоп. | Да | Нет | Нет | Проверка пользователя; путь для анонимных заблокирован окружающими разрешениями чата. |
no_ads_for_groups |
Не показывать рекламу пользователям из этих групп. | Да | Нет | Нет | Добавляется только в сериализатор current_user; нет полезной нагрузки для анонимного текущего пользователя. |
adsense_exclude_groups |
Реклама не будет показываться членам этих групп. | Да | Нет | Нет | Флаг рекламы текущего пользователя через in_any_groups?; нет полезной нагрузки для анонимного текущего пользователя. |
dfp_exclude_groups |
Реклама не будет показываться членам этих групп. | Да | Нет | Нет | Флаг рекламы текущего пользователя через in_any_groups?. |
amazon_exclude_groups |
Реклама не будет показываться членам этих групп. | Да | Нет | Нет | Флаг рекламы текущего пользователя через in_any_groups?. |
carbonads_exclude_groups |
Реклама не будет показываться членам этих групп. | Да | Нет | Нет | Флаг рекламы текущего пользователя через in_any_groups?. |
adbutler_exclude_groups |
Реклама не будет показываться членам этих групп. | Да | Нет | Нет | Флаг рекламы текущего пользователя через in_any_groups?. |
composer_ai_helper_allowed_groups |
Пользователи из этих групп будут видеть кнопку помощника ИИ в редакторе. | Да | Нет | Нет | Проверка авторизованного помощника ИИ через in_any_groups?. |
post_ai_helper_allowed_groups |
Группам пользователей, которым разрешен доступ к функциям помощника ИИ в сообщениях. | Да | Нет | Нет | Проверка авторизованного помощника ИИ через in_any_groups?. |
ai_pm_summarization_allowed_groups |
Группам, которым разрешено создавать и просматривать сводки в личных сообщениях. | Нет | Нет | Нет | Использует raw user.group_ids, поэтому псевдогруппы не совпадают. |
ai_bot_debugging_allowed_groups |
Разрешить этим группам видеть кнопку отладки, показывающую сырой запрос и ответ ИИ. | Да | Нет | Нет | Явно возвращает false для анонимных, затем использует in_any_groups?. |
ai_bot_allowed_groups |
Когда у бота GPT есть доступ к личным сообщениям, он будет отвечать членам этих групп. | Да | Нет | Нет | Основные проверки используют in_any_groups?; один путь для песочницы использует raw group_ids. |
ai_bot_public_sharing_allowed_groups |
Разрешить этим группам делиться личными сообщениями ИИ с публикой через уникальную ссылку. | Да | Нет | Нет | Явно возвращает false для анонимных, затем использует in_any_groups?. |
assign_allowed_on_groups |
Пользователям из этих групп разрешено назначать темы. | Нет | Нет | Нет | Использует raw user.group_ids/GroupUser; у псевдогрупп нет строк. |
discourse_post_event_allowed_on_groups |
Группам, которым разрешено создавать события. | Нет | Нет | Нет | Raw groups.where(id: ...); everyone обрабатывается отдельно, но logged_in_users — нет. |
discourse_kanban_manage_board_allowed_groups |
Группам, которым разрешено создавать и настраивать канбан-доски. | Да | Нет | Нет | Guardian использует in_any_groups?, но контроллеры записи требуют входа. |
create_policy_allowed_groups |
Принадлежность к группе требуется для добавления политик к сообщениям. | Да | Нет | Нет | Проверка сообщения/пользователя через in_any_groups?. |
flag_posts_voting_comments_allowed_groups |
Группам, которым разрешено отмечать комментарии к голосованию как спам/офтоп. | Да | Нет | Нет | Проверка пользователя через in_any_groups?. |
allow_solved_in_groups |
Разрешить отмечать решения в сообщениях групп для этих групп. | Нет проверки пользователя | Нет проверки пользователя | Нет проверки пользователя | Соответствует topic.allowed_groups личного сообщения, а не членству текущего пользователя. |
accept_all_solutions_allowed_groups |
Группам, которым разрешено принимать решения в любой теме. | Да | Нет | Нет | Проверка аутентифицированного/текущего пользователя через in_any_groups?. |
discourse_templates_groups_allowed_private_templates |
Группам, которым разрешено использовать частные шаблоны. | Нет | Нет | Нет | Raw GroupUser.exists?; только everyone обрабатывается отдельно. |
poll_create_allowed_groups |
Группам, которым разрешено создавать опросы. | Да | Нет | Нет | Проверка действующего/текущего пользователя через in_any_groups?. |
styleguide_allowed_groups |
Ограничивает видимость руководства по стилю членами указанных групп. | Да | Да | Да | Контроллер явно обрабатывает anonymous_users; он также позволял анонимным доступ через everyone до изменения. |