Tl0 > tl1: erro de post "Você não tem permissão para visualizar o recurso solicitado"

Oi. Primeira postagem.

Sou um cara de fórum antigo. Estou mexendo com nossa nova instalação do Discourse há um mês. Estou apaixonado.

Resumo da história: Alterei algumas configurações de tl0 / tl1 para adequar nosso processo de integração. Tudo parece estar funcionando muito bem, exceto que novos usuários tl1 estão recebendo o erro “Você não tem permissão para visualizar o recurso solicitado” ao tentar publicar suas introduções no fórum apropriado.

Possivelmente relacionado? Em certo momento, renomeei tl0 para “wallflowers”, pois os bloqueamos apenas para leitura em uma única categoria. Decidimos renomear esse grupo de volta para “Novos Usuários”, mas ainda vejo “wallflowers” listado nos novos usuários (que então linka para as configurações do grupo Novos Usuários). A busca por texto personalizado por “wallflowers” não retorna nada. Talvez haja algum problema de cache?

Esta é a experiência de integração que estamos desenvolvendo:

  • tl0/novo usuário
    – acesso de leitura/resposta a “as regras”
    – deve entrar em 5 tópicos, ler 5 tópicos e gastar 3 minutos fazendo isso

  • tl1/integração
    – ganha acesso a “o lobby”
    – deve entrar em 1 tópico, criar 1 tópico (introdução) e gastar 5 minutos fazendo isso

Vale mencionar também que precisei dar ao grupo “wallflowers” acesso de leitura/resposta a essas categorias para que novos/usuários de teste pudessem vê-las, mesmo que o grupo “novos usuários” já tivesse acesso. Sinto como se tivesse sido uma criança na loja de doces e criado algum conflito em algum lugar.

Um link para capturas de tela na esperança de que ajudem.

Obrigado pelo seu tempo e consideração. Estou simplesmente encantado com o Discourse e mal posso esperar para trazer o restante da minha equipe e começar a construir coisas para nossos testadores beta. Vamos fazer coisas boas.

Olá Brian, bem-vindo!

Estou analisando as capturas de tela que você compartilhou, e algo chamou minha atenção. Na página 2, notei que você está listado como “proprietário” do trust_level_0. Isso não deveria ser possível… os grupos de nível de confiança são automáticos e, portanto, não têm proprietários. Essa captura de tela mostra todos os seus grupos ou apenas os primeiros 8?

No momento, dado que o grupo wallflowers (TL0) tem permissões de criar/responder/ver na categoria Lobby, todos os usuários do site têm permissões completas lá. Entendo que não é isso que você pretende e que isso é apenas para testes, mas isso provavelmente significa que algo mais está errado se um usuário TL1 não puder postar lá.


Além disso, note que os níveis de confiança são hierárquicos: todos os membros do TL4 também são membros do TL3, TL2, TL1 e TL0. Os membros do TL3 também são membros do TL2, TL1, TL0, etc. Portanto, se você adicionar o TL0 (wallflowers) às configurações de segurança de uma categoria, não precisa adicionar também TL1, TL2, TL3 e TL4, a menos que queira que eles tenham permissões diferentes.

O mesmo vale para usuários de equipe. O grupo de equipe é um grupo automático composto por todos os moderadores e administradores. Assim, se você adicionar o grupo de equipe às configurações de segurança de uma categoria, não há necessidade de adicionar também administradores e moderadores.


Pode confirmar o seguinte:

  • Que a captura de tela da página de grupos mostra todos os grupos e não apenas os primeiros 8.
  • Sua versão do Discourse.
  • Que você instalou seguindo nosso guia oficial de instalação.
  • Se seu usuário de teste está tentando criar um novo tópico ou responder a um tópico existente.
  • Remova administradores, membros, moderadores, onboarding, TL3 e TL4 das permissões do lobby e tente postar novamente.

Remover todos os outros grupos resolveu o problema. Meu usuário de teste conseguiu publicar um novo tópico. Uhuu!

Ainda assim, a menção “owner” em “tl0” sugere que realmente fiz uma bagunça e deveria reverter as coisas para o padrão até ver tudo funcionando como pretendemos. Para fornecer o restante dos detalhes solicitados…

  • A captura de tela dos grupos mostra todos os grupos. Correto.
  • v2.4.0.beta2 +127 “Você está atualizado!”
  • Temos confiança de que o Jay, da Literate Computing, instalou tudo corretamente.
  • O usuário de teste estava tentando criar um novo tópico. (E agora consegue, com sucesso.)
  • Remover administradores, etc., da categoria parece ter resolvido. (Limpei outras categorias.)

Algo me diz que devo voltar e reverter qualquer texto que personalizei para garantir que estou trabalhando com os grupos corretos. Espero que isso resolva o problema dos rótulos “tl0” e “wallflowers” que aparecem como “owned”.

Isso foi super útil. Agradecido. :allthethings:

EDIT | Curioso: Existe algum atraso ou algo assim para que algumas alterações se propaguem pelo ambiente, ou talvez um botão que eu possa clicar para acelerar isso? Percebo (e adoro) como as coisas mudam quase imediatamente ao serem editadas, mas fico curioso sobre por que, ao reverter todas as personalizações relacionadas a tl, elas são refletidas na visualização dos grupos*, mas as configurações da categoria ainda mostram os nomes antigos.

EDIT2: Clicar em qualquer um dos grupos acima e sair imediatamente parece mudar essa marcação ou “Private” para “Owner”. Não tenho certeza do que está acontecendo ali. (E atualizar a página reverte tudo de volta para Member ou Private.)

Você pode dar um exemplo de algo que não foi atualizado? TLs e categorias não estão realmente relacionados, então estou me perguntando se há algum mal-entendido aqui.

Ei @HAWK. Obrigado por perguntar.

Talvez eu esteja usando as palavras erradas. Se você olhar as duas últimas capturas de tela, é sobre isso que estou perguntando.

Edite uma categoria, clique na aba de segurança. São grupos, certo? Mesmo que sejam apenas grupos automáticos baseados em nível de confiança (tl)?

Não consigo encontrar “wallflowers” ou “onboarding” em lugar nenhum no texto personalizado ou nas configurações. Reverti todas as alterações que fiz nos nomes dos níveis de confiança, rótulos e/ou títulos de usuário.

Então, se meu tl1 é “trust-level-1”, por que ele não está disponível na lista de configurações dessa categoria?

Será que não posso removê-lo se houver um usuário com esse rótulo? O único outro lugar onde vi “wallflower” foi no perfil de um dos meus usuários de teste.

Totalmente culpa minha, perdi a última captura de tela. Isso é, de fato, uma lista de grupos no modal da categoria segurança!

Se você renomeou o grupo, ele deve ser refletido nesse menu suspenso. Você fez uma atualização forçada? (Estou tentando de tudo aqui.)

No navegador? Sim.

Há alguma chance de que esse bug antigo de 2016 possa estar em jogo? Parece ser o comportamento que estou observando.

Ao visualizar este novo usuário, por exemplo, vejo que ele está no grupo automático “wallflowers”.

Quando clico nesse link, ele me leva aqui (observe a URL):

Mas estes são os únicos grupos no momento (observe: URL):

Talvez eu tenha realmente irritado o banco de dados ou algo assim.

Parece algo similar a isto https://meta.discourse.org/t/can-not-add-category-security-for-new-group/126808/3 cc/@sam

Isso realmente parece ser o que pode estar acontecendo. Durante a noite, as coisas se alinharam “magicamente”.

Grupos com URL:

O grupo “trust_level_0”, que estava usando “wallflowers” na noite passada, agora tem a URL correta:

O usuário que tinha “wallflowers” como grupo automático agora mostra “trust_level_0” no painel de administração do perfil:

As configurações de segurança da categoria não mostram mais os grupos “wallflowers” ou “onboarding” no menu suspenso:

Então, parece que algo está em vigor para atrasar certas alterações no banco de dados?

Obrigado pela ajuda com tudo. Isso é incrível.

Isso parece muito com o atraso na atualização do Diretório de Usuários. Novos usuários não aparecem até que uma das rotinas diárias agendadas seja executada… e pronto! Eles finalmente aparecem.

Isso significaria que a promoção automática de um nível de confiança (tl) para outro não ocorreria imediatamente? (Sinto que deveria acontecer imediatamente.)

O problema aqui acabou evoluindo. Meus novos usuários agora estão vendo apenas a categoria planejada, mas ainda não parecem estar recebendo acesso ao tl1 de acordo com como configurei as regras.

  1. novo usuário se cadastra, == tl0
    – recebe acesso apenas a uma categoria: as regras
    – deve entrar em 5 tópicos
    – deve gastar 3 minutos lendo
  2. usuário deve ser promovido para tl1
    – recebe acesso à segunda categoria: o lobby
    – deve entrar em 1 tópico
    – deve criar 1 tópico
    – deve gastar 5 minutos lendo

Convidei um usuário de teste, que recebeu acesso às regras conforme projetado, mas, embora esse usuário tenha atendido aos critérios, ele permanece no tl0. A segunda categoria (lobby) está configurada com o grupo trust_level_1 tendo permissão de criar/responder/ver, mas o novo usuário não vê isso.

Se houver um cron job ou algo assim ocorrendo durante a noite, posso investigar isso, mas preciso saber se é assim que deveria funcionar para que eu possa revisar nossos planos de integração para se adequarem.

Alguém pode confirmar isso, por favor? TIA.

@TGP
Brian, copiei e colei abaixo uma postagem do meu fórum onde alguns novos usuários relataram que não apareciam no Diretório de Usuários logo após se cadastrarem pela primeira vez. Embora não tivessem aparecido na listagem “Semana”, eles apareceram ao alternar para “Hoje”. Após a execução da rotina naquela noite, eles passaram a aparecer no diretório em todas as visualizações.

[ Usuários não aparecendo no Diretório de Usuários ]
[META]

Como o fórum estava ativo há menos de 24 horas, os usuários não apareciam em nenhuma das categorias de pesquisa do Diretório de Usuários: “Semana”, “Mês”, “Trimestre”, “Ano” ou “Todo o Período”. Eles só apareciam no registro de “Hoje”.

SOLUÇÃO: Aguarde 24 horas para que a rotina diária seja executada automaticamente. Os usuários devem aparecer após esse período.

Verifiquei o fórum de Suporte e descobri que outra pessoa também teve esse problema. A solução foi aguardar 24 horas, pois existe uma rotina de atualização que roda a cada 24 horas.

[Nota: Embora na postagem original (solução) eu tenha dito “24 horas”, nossa rotina parece ser executada por volta das 23h no horário local — embora eu não tenha verificado o horário exato.]

Cada fórum recebe sua própria distribuição das tarefas agendadas ao longo do dia, e essa distribuição é mantida estável por um tempo!

O nível TL0-1 roda a cada, hmm, 15 minutos ou algo assim? Os níveis 1-2 e 2-3 (e 3-2) rodam diariamente.

Isso bate com minha experiência até agora. Obrigado, Kane York.

Alguém sabe se há uma configuração para alterar esse comportamento — ou seria muito pesado para os recursos?

Desde já agradeço.