Insígnias e Comunidades Privadas

Entendo, a partir de discussões anteriores no início de 2017, que as medalhas não funcionam para grupos restritos.

Estamos buscando saber se há alguma maneira de contornar essa limitação. Um pouco de contexto:

Nosso grupo é 99,9% acessível apenas por aqueles com a função de “Membros”. Temos alguns grupos abertos a todos para discussão pública ou ajuda/suporte. Como um grupo de membros pagantes, seria incrível poder reconhecer a atividade dentro desses grupos privados, já que, de nossos mais de 1,3 milhão de posts, a maioria deles está dentro dessas agrupações.

Existe alguma solução alternativa ou configuração que possa permitir isso?

4 curtidas

O motivo disso é que qualquer insígnia que referencia posts executa suas consultas na tabela badge_posts. Essa tabela inclui apenas posts que estão em categorias acessíveis a todos os usuários.

Sim, consigo ver como isso seria um problema. Uma possível solução alternativa seria reescrever as consultas de insígnias do seu site para usar a tabela posts em vez da tabela badge_posts. Isso causaria um problema para usuários que não têm acesso às categorias protegidas do seu site caso tentassem visualizar os posts associados às insígnias dos seus usuários, mas parece que isso não afetaria muitos usuários do seu site. Possivelmente, existem outras maneiras de lidar com isso.

7 curtidas

Honestamente, para os nossos propósitos, acho que isso seria totalmente aceitável.

Isso é algo simples? Ou seria problemático a longo prazo?

1 curtida

Alterar as consultas de emblemas no seu site para usar a tabela posts em vez da tabela badge_posts seria bastante direto. No entanto, uma correção adequada para o problema pode exigir uma mudança maior. Por exemplo, você não gostaria que emblemas fossem concedidos para postagens na sua categoria de equipe ou para qualquer outra categoria onde haja preocupação com o vazamento do título de um tópico.

Estou pensando se uma nova view do Postgres poderia ser adicionada por meio de um plugin para sites com configuração semelhante à do seu. Essa view poderia então ser substituída nas consultas de emblemas no lugar da view badge_posts.

4 curtidas

Ok, estou gostando dessa teoria.

Se essa rota fosse uma opção, essa visualização poderia incluir posts de grupos totalmente públicos? Tipo o que temos agora, mais qualquer grupo visível para um grupo específico? No nosso caso, “Membros”.

Isso seria a solução definitiva para grupos de membros!

2 curtidas

Vamos ver o que os engenheiros do Discourse pensam sobre essa abordagem, ou se têm outras sugestões. Esta não é a primeira vez que o problema é relatado. Seria bom chegar a uma solução geral para o problema, mas uma solução eficaz que funcione para muitos sites pode ser mais complexa do que o que estou sugerindo.

4 curtidas

Não sou fã de trocar a visualização.

Minha recomendação aqui, @Mitchelsellers, é começar devagar. Conceda as medalhas sem reconhecer posts específicos.

[fez vinte posts supercurtidos como membro] (título a definir) é um bom ponto de partida.

Basicamente, crie uma forma personalizada de reconhecimento com consultas personalizadas.

Adicionar verificações de permissão em todos os lugares onde vinculamos medalhas a posts é complicado; recomendo evitar esse caminho.

Comece devagar e de forma simples.

5 curtidas

Acho que isso seria totalmente aceitável para nós também.

Algumas boas dicas sobre como fazer isso?

1 curtida

Acho que o passo 0 aqui é esboçar, em inglês, quais emblemas você gostaria, os nomes dos emblemas e a definição conceitual.

3 curtidas

Ok, vamos começar a trabalhar nisso!

1 curtida

Tenho analisado as consultas de emblemas existentes para ter uma ideia de quais consultas visam postagens na tabela badge_posts ou utilizam algum outro método para excluir postagens de categorias protegidas de serem utilizadas.

As seguintes consultas de emblemas visam postagens específicas e não serão concedidas por atividades em categorias privadas:

  • Editor
  • Primeira Bandeira
  • Primeiro Curtir
  • Primeiro Link
  • Primeira Citação
  • Primeiro Compartilhamento
  • Primeiro Emoji
  • Primeira Menção
  • Primeira Onebox
  • Primeira Resposta por E-mail
  • Leitor
  • Editor de Wiki
  • Ótimo Compartilhamento
  • Bom Compartilhamento
  • Helpdesk
  • Bom Compartilhamento
  • Bem-vindo
  • Link Famoso
  • Ótima Resposta
  • Ótimo Tópico
  • Boa Resposta
  • Bom Tópico
  • Link Quente
  • Boa Resposta
  • Bom Tópico
  • Link Popular

As seguintes emblemas não consultam postagens específicas e serão concedidas por atividades em categorias privadas:

  • Licenciado
  • Autobiógrafo
  • Certificado
  • Novo Usuário do Mês
  • Leia as Diretrizes
  • Admirado
  • Campeão
  • Loucamente Apaixonado
  • Devoto
  • Empático
  • Aficionado
  • Aniversário
  • Campanhista
  • Dá de Volta
  • Amor Superior
  • Respeitado
  • Apreciado
  • Entusiasta
  • Fora de Amor
  • Promotor
  • Obrigado
  • Líder
  • Regular
  • Básico
  • Membro
  • Equipe
  • Foto de Perfil

Algo semelhante a isso já é coberto pelos emblemas Apreciado (1 curtida em 20 postagens) e Respeitado (2 curtidas em 100 postagens). Algumas variações dessas consultas poderiam ser adicionadas. Por exemplo, 10 curtidas em 20 postagens. Um emblema concedido por tópicos super curtidos também seria uma boa ideia — funcionaria como o equivalente ao emblema Ótimos Tópicos. Por exemplo, poderia ser concedido quando um usuário criar 10 tópicos que receberam 10 curtidas.

Não tenho certeza se faria sentido adicionar um emblema concedido por atividade em uma única postagem ou tópico que não contenha um link para a postagem. Por exemplo, um emblema alternativo de Primeira Curtida poderia ser criado com o seguinte SQL:

SELECT pa1.user_id, pa1.created_at granted_at
FROM (
  SELECT pa.user_id, min(pa.id) id
  FROM post_actions pa
  JOIN posts p on p.id = pa.post_id
  WHERE post_action_type_id = 2
  GROUP BY pa.user_id
) x
JOIN post_actions pa1 on pa1.id = x.id

Para que a consulta funcione, é necessário usar o gatilho “Atualizar diariamente” em vez da consulta “Quando um usuário age em uma postagem”. Na página de Emblemas, os usuários que receberam o emblema serão exibidos juntamente com o momento em que o emblema foi concedido. Não haverá um link para a postagem pela qual o emblema foi concedido:

Esse tipo de abordagem faz sentido para sites que possuem principalmente categorias protegidas? Se fizer, poderia ser usado para duplicar algumas das consultas que atualmente visam a tabela badge_posts.

4 curtidas

Acho que este é um ótimo passo!

Só queria dar um retorno sobre isso.

Alguma opinião sobre a implementação desse tipo de coisa?

Obrigado por me lembrar disso! Vou começar a montar uma lista de distintivos que acho que poderiam ser úteis e que não expõem nenhuma postagem de categorias protegidas.

2 curtidas

Começamos nosso fórum com login obrigatório e, recentemente, adicionamos algumas categorias públicas, enquanto restringimos o acesso às categorias existentes ao trust_level_0.

Portanto, para os usuários existentes, nada mudou em relação à forma como acessam o fórum, mas todos os emblemas da lista acima foram revogados. Não temos um fórum grande, mas pelas respostas que recebemos dos usuários, fica claro que o sistema de emblemas parece estar completamente quebrado. Com essa configuração, praticamente tenho que desativá-lo.

Acho que seria necessário comunicar de forma mais clara em algum lugar nas configurações que os emblemas existentes serão revogados quando você optar por restringir categorias. Para nós, isso veio do nada.

De forma mais geral, não entendo as prioridades. Tanto as permissões de categoria quanto o sistema de emblemas são apresentados como recursos centrais do Discourse. Mas é difícil usá-los juntos da maneira como estão. A vantagem de ter emblemas apenas em postagens acessíveis ao público parece ser que outros usuários podem ver para qual postagem um emblema foi concedido? Para mim, isso não parece ser um recurso tão importante em comparação. Por que não remover esses links visíveis e revelar as postagens relacionadas apenas para cada usuário em seus próprios emblemas?

3 curtidas

[quote=“simon, post:12, topic:157300”]Os seguintes emblemas consultam publicações específicas e não serão concedidos por atividade em categorias privadas

[/quote]

ai! OK, isso basicamente significa que toda a infraestrutura de emblemas é bastante inútil em uma comunidade com muitos espaços privados…

[quote=“manuel, post:17, topic:157300”]Tanto as permissões de categoria quanto o sistema de emblemas são comunicados como recursos centrais do Discourse. Mas você mal pode usá-los juntos como está.

[/quote]

concordo plenamente.

Existe algum tipo de plugin ou novas configurações (nos últimos seis anos) para tornar os emblemas viáveis em uma comunidade majoritariamente privada?

2 curtidas

Sou a favor de melhorar a forma como isso funciona de fábrica.

Embora este tópico esteja quieto há muitos anos, ouvi pessoas pedindo mudanças semelhantes em outros lugares.

É apenas uma questão de resolver qual mudança específica é necessária e descobrir onde ela se encaixa entre outras prioridades.

3 curtidas

:flexed_biceps:

Isso parece estar relacionado ao que surgiu em outro tópico sobre facilitar a orientação de membros da comunidade entre espaços abertos (públicos) e fechados (graus variados de «privados»), incluindo mensagens pessoais.

Lidar com a natureza semipública da web e públicos semiprivados que se sobrepõem é um grande desafio no mundo social online. Não é intuitivo. A maioria das comunidades terá dificuldades em como garantir que as pessoas entendam o quão público/privado cada parte é. Pode fazer sentido para o Discourse assumir que essa mistura de público e privado(s) será o padrão para a maioria das comunidades e ver como pode facilitar a navegação para os membros da comunidade?

1 curtida

Sou novo nesta conversa, embora ache que um alternador (toggle) nas Configurações de Emblemas seria o mais fácil. Deixá-lo desativado por padrão, ativá-lo para consultar todos os fóruns (incluindo privados) para emblemas de engajamento.

Se for deixado aberto para um hook que um plugin/componente possa usar, um poderia vir mais tarde para dar uma permissão por categoria para que os emblemas sejam contados ali.

2 curtidas

Acho que o problema com os emblemas que atualmente são concedidos apenas em categorias públicas é que eles se referem à postagem no tópico para o qual foram concedidos, e você não gostaria que isso fosse público se o tópico for privado.

Portanto, a parte em que a postagem está vinculada nesse emblema teria que ser removida de todos esses emblemas padrão.

3 curtidas