Respeite as configurações de visibilidade de todos os grupos automáticos

(O pedido de funcionalidade de uma pessoa é o relatório de bug de outra… :upside_down_face:)

A página de índice “Grupos” (por exemplo, /groups ou /g) deve respeitar as configurações de visibilidade dos grupos automáticos e exibi-los de acordo. Isso é feito para o grupo Moderators, mas não para os outros. Isso se deve a uma exceção codificada em GroupsController.index(), que faz com que os outros grupos automáticos nunca apareçam na página de índice quando visualizados por usuários não-staff, independentemente das configurações de visibilidade.

Esse comportamento excepcional é problemático de pelo menos duas maneiras:

  1. Se um administrador deseja indexar grupos automáticos para usuários não-staff, isso os impede de fazer isso.
  2. A desconexão entre a configuração de visibilidade e a visibilidade real é perigosamente confusa. Em particular, faz parecer que a configuração é ignorada/irrelevante para grupos automáticos (por exemplo, “Nossa, acho que grupos automáticos são sempre apenas para staff, não importa o que eu defina aqui…”), embora a configuração continue controlando o acesso a páginas de grupos específicas (por exemplo, /g/trust_level_0) e suas listas de membros.

Um comentário no código relevante indica que esse comportamento excepcional se destina a “ocultar grupos automáticos de todo o pessoal não-staff para despoluir a página” — mas não há necessidade desse mecanismo para realizar isso. Um administrador que deseja despoluir a página de índice poderia simplesmente definir a visibilidade dos grupos automáticos como desejar, assim como faria com qualquer outro grupo.

Sugiro simplesmente remover as 6 linhas de código de app/controllers/groups_controller.rb que implementam esse comportamento.

Se for considerado tão importante ter um índice “despoluído” por padrão para novas instalações do Discourse, um mecanismo melhor seria simplesmente definir as configurações de visibilidade como apenas para staff por padrão para os grupos automáticos quando eles são criados pelo sistema. definir o filtro padrão na página de índice como “não automático” para usuários não-staff.

(A configuração de visibilidade é um controle de acesso — o valor padrão deve ser o que constitui um nível de acesso padrão razoável, independentemente de como a página de índice se parece.)

FYI, este tópico é um acompanhamento da discussão em:

7 curtidas

[quote=“mdoggydog, post:1, topic:280998”]A desconexão entre a configuração de visibilidade e a visibilidade real é perigosamente confusa.
[/quote]

Como um usuário regular, prefiro a visualização sem bagunça, os grupos de nível de confiança não parecem relevantes para mim. Mas também concordo que a maneira como as coisas funcionam agora parece estranha. Especialmente considerando isto:

[quote=“mdoggydog, post:1, topic:280998”]mesmo que a configuração continue controlando o acesso a páginas de grupos específicos (por exemplo, /g/trust_level_0) e suas listas de membros.
[/quote]

Se as páginas de grupos de nível de confiança são úteis, deve haver uma maneira de acessá-las através da interface do usuário, sem ter que saber o URL.

[quote=“mdoggydog, post:1, topic:280998”]Se for considerado importante definir como padrão um índice “sem bagunça” para novas instalações do Discourse, então um mecanismo melhor seria simplesmente definir como padrão as configurações de visibilidade apenas para a equipe para os grupos automáticos quando eles são criados pelo sistema pela primeira vez.
[/quote]

Isso faz sentido para mim. Algum cuidado pode ser necessário para garantir que limitar a visibilidade de um grupo de nível de confiança não quebre nada. Atualmente, não é possível criar eventos públicos se o grupo TL0 não for visível para o usuário que cria o evento. Não tenho certeza se existem outros casos semelhantes a esse.

5 curtidas

Então, isso não seria facilmente resolvido por

  • ter “Grupos Automáticos” disponíveis no menu suspenso de filtro para não administradores?
  • tornar o filtro padrão (tanto para administradores quanto para usuários regulares) para excluir os grupos automáticos
  • garantir que /g/trust_level_0?asc=true use a mesma lógica de autorização que /g?type=automatic (atualmente, o primeiro funciona enquanto o segundo diz “Não há grupos visíveis”.

Solicitação adicional: se /g for acessado via /admin, as barras de menu do administrador desaparecem repentinamente. Acho isso irritante. Que tal adicionar essas barras de menu a essa página se /g for acessado por um administrador?

3 curtidas

Há um tópico de UX Groups Tab in Admin Inconsistent With Other Tabs discutindo isso

3 curtidas

Sim, “óbvio” como se diz… Editei minha proposta original para refletir isso. “Visibilidade” é um controle de acesso e deve ser tratada como tal (por exemplo, a interface do usuário deve refletir transparentemente o estado do controle, em vez de o controle ser distorcido para ajustar a aparência da interface do usuário).

De fato! Não notei que “automático” não está disponível no menu suspenso de filtro para não funcionários. (Ele é omitido pelo mesmo bloco de código de 6 linhas que oculta os grupos automáticos — então remover esse código também corrigiria isso.)

O código de backend define um filtro “não_automático”, embora pareça que ele nunca é oferecido a ninguém (funcionário ou não) no menu suspenso de filtro.

2 curtidas

Quando você diz “indexar grupos automáticos para usuários não-funcionários”, você quer dizer permitir que usuários não-funcionários possam acessar o filtro de grupos automáticos e vê-los?

Esta é uma preocupação legítima. Estamos tentando tornar a experiência do administrador mais direta e consistente, e esta parece ser uma área que pode confundir as pessoas. Não ouvi outras reclamações sobre este caso específico, mas posso ver o valor em corrigi-lo para que o comportamento seja consistente.

Esses dois itens parecem fazer sentido. No entanto, antes de fazermos isso, existem consequências não intencionais em alterar as configurações de visibilidade para grupos automáticos?

Isso parece bom como uma lista de tarefas. Obrigado por enquadrá-lo dessa forma.

2 curtidas

Nesse texto citado, eu especificamente quero dizer “mostrar grupos automáticos na página de índice /g quando visualizada por usuários não-funcionários”. Independentemente da configuração do filtro, os grupos automáticos (exceto “Moderadores”) atualmente não têm permissão para serem listados na página de índice /g para usuários não-funcionários.

Em uma postagem posterior (a que precede esta), também defendo a disponibilização da opção “Grupos Automáticos” no menu suspenso do filtro para todos os usuários, não apenas para funcionários. Não acho que haja uma boa razão para escondê-la de usuários não-funcionários. (Observe que, independentemente do que seja apresentado no menu suspenso, o filtro ainda está disponível para qualquer usuário que possa digitar a palavra-chave correta na barra de URL.)

Por favor, note que editei minha sugestão para desorganização padrão antes da sua postagem; você citou a versão original. O texto revisado/atual da minha primeira postagem é (com os riscos removidos para brevidade):

2 curtidas

Atualmente, a lista de usuários se parece com o abaixo em um novo site.

Para resumir em minhas próprias palavras, a solicitação é para alterar o diretório de grupos em /g da seguinte forma:

  1. exibir também o filtro de Grupos Automáticos para membros
  2. exibir todos os grupos automáticos para membros quando o filtro for selecionado
  3. excluir Grupos Automáticos da visualização padrão em /g

Minha opinião é que (3) deveria ser para todos, não apenas para membros. Um dos nossos objetivos é dar a administradores e moderadores uma experiência o mais próxima possível da dos membros, para reduzir a confusão.

Ao fazer essa alteração, estamos apenas tornando explícita na interface do usuário a existência de grupos automáticos aos quais os membros têm acesso, mas que atualmente precisam saber o URL.

Para administrador:

Para membro:

Eu reformularia, em termos das alterações a serem feitas, e reordenaria um pouco:
A. parar de remover grupos automáticos do índice para usuários não-staff
B. parar de remover o filtro “Grupos Automáticos” do menu suspenso para usuários não-staff
C. oferecer o filtro “Grupos Não-Automáticos” no menu suspenso, para todos os usuários
D. ativar o filtro “Grupos Não-Automáticos” por padrão em /g

Minha formulação de C e D, em comparação com 3, é intencional: acho que a interface do usuário deve ser muito transparente sobre qual filtro está em vigor. Se nenhum filtro for selecionado, a interface do usuário deve apresentar uma visualização sem filtros, ou seja, mostrar todos os grupos que são visíveis/acessíveis ao usuário.

Poder-se-ia interpretar 3 como “quando nenhum filtro for selecionado, então use silenciosamente o filtro non_automatic”, mas acho que isso ainda seria confuso. Se nenhum filtro for selecionado, então nenhum filtro deve ser aplicado. Inversamente, se um filtro estiver sendo aplicado, ele deve ser nomeado e tornado aparente ao usuário.

Mergulhando mais fundo aqui: parte do problema de seleção de filtro surge da forma como a dica “Filtrar por tipo de grupo” foi espremida no rótulo do item de menu quando nenhum filtro é selecionado. Acho que seria mais claro se o item quando nenhum filtro é selecionado fosse rotulado como “Todos os Grupos”. Então, adicione um item adicional “Grupos Não-Automáticos”, e você estará livre para tornar qualquer um dos itens o padrão. Desta forma, (a) fica claro quando o usuário está recebendo uma visualização filtrada, e (b) fica claro como mudar para uma visualização sem filtros.

Se dependesse de mim, eu rotularia os itens do menu de filtro como:

  • Todos os Grupos
  • Grupos dos quais faço parte (porque Meus Grupos é ambíguo.)
  • Grupos que possuo
  • Grupos Públicos
  • Grupos Privados (porque Fechados soa como “desativado” ou “não está mais em uso”.)
  • Grupos Automáticos
  • Grupos Não-Automáticos

E, eu mudaria a string da dica na caixa de texto, de “Todos os Grupos” para “filtrar por nome do grupo”.

E… eu trocaria a ordem do menu suspenso e da caixa de texto!
discourse-filter-pulldown-then-textbox

2 curtidas

Obrigado por me ajudar a pensar sobre isso. Acho que não faremos grandes mudanças na UX da lista de grupos por enquanto, mas gosto da ideia de pelo menos fazer a função da lista de grupos ser a mesma para todos.

Todas são boas sugestões, exceto que acho “Automático” e “Não Automático” nomes desajeitados, com som técnico e não muito significativos. Como os grupos automáticos são sobre privilégios que as pessoas obtiveram ou lhes foram concedidos, talvez possamos encontrar um rótulo que reflita isso?

1 curtida

Acabei de vir com o mesmo pensamento, que seria melhor ter a visualização padrão no que hoje é chamado de “Grupos Públicos + Fechados”, introduzindo assim tal opção. E remover as ambiguidades em torno de “Meus Grupos”, que poderiam ser entendidos como o que “Grupo que eu possuo” realmente significa, e “Grupos Fechados”, que poderiam soar como se não estivessem mais ativos, também parece razoável.

Estes soam muito como:

  • Grupos do Sistema
  • Grupos de Usuário, “Grupos Públicos e Privados”, ou apenas Grupos

Talvez a ordem dos grupos oferecidos neste item de filtro pudesse ser configurada, com o primeiro item sempre sendo a visualização padrão, para que possamos escolhê-lo. Caso contrário, encontrar uma ordem padrão adequada que funcione para todos, além de permitir que uma dessas visualizações seja definida como padrão, seria outra questão.

Além disso, ser capaz de dar aliases de nomes legíveis por humanos aos “Grupos Automáticos/Sistema”, por exemplo, alguns idiomas preferem letras maiúsculas no início, como com o campo Nome Completo em grupos regulares e fornecê-los com textos de descrição padrão opcionais e sensatos poderia tornar esses menos “técnicos”, se um administrador do site não optar por explicá-los em sua descrição através de seu menu Gerenciar.

Talvez também pudesse haver algum tipo de distinção visual entre grupos “Automáticos” e “Não Automáticos”, como um ícone, ou suas caixas sendo sombreadas em cinza claro, ou algo assim.

4 curtidas

Eu gosto de grupos de sistema!

4 curtidas

“Automático” soa como se estivesse se referindo a um detalhe de implementação - os usuários são adicionados aos grupos automaticamente. Não acho que isso faça muito sentido do ponto de vista de um usuário comum. Também não é estritamente preciso. Os usuários não são adicionados automaticamente aos grupos de staff. Provavelmente o nome mais preciso para os grupos automáticos seria “grupos pré-preenchidos”, mas é um nome terrível.

Grupos “do Sistema” soa bem, mas que tal dividir os grupos automáticos em “Níveis de Confiança” e “Staff”? O filtro de tipo de grupo seria algo como:

  • Meus Grupos
  • Grupos que possuo
  • Grupos Públicos
  • Grupos Fechados
  • Níveis de Confiança
  • Staff

Se necessário, poderia haver algo como uma configuração do site trust level groups public que determinaria se os grupos de nível de confiança seriam visíveis na página de grupos.

3 curtidas

Separar a equipe do site é uma boa ideia. As pessoas podem realmente apreciar descobrir uma lista de moderadores e administradores aqui. Caso contrário, elas terão que saber que precisam ir para /about.

3 curtidas

Voltando a comentar… por favor, contem comigo no conjunto de usuários/administradores do Discourse que não precisam realmente de um filtro “mostrar tudo, exceto grupos de sistema/automáticos”. A presença desses grupos não parece tão distrativa.

De qualquer forma, minha prioridade é disponibilizar um filtro “Todos os Grupos” verdadeiro e sem filtros, e minha preferência pessoal é manter a simplicidade e que esse seja o padrão para a página /groups.