O Discourse é um excelente fórum com muita funcionalidade. Estou interessado em descobrir se há uma maneira de permitir que os usuários selecionem manualmente o público para suas respostas a um tópico específico. Embora eu esteja ciente de que existe um maravilhoso plugin “discourse-private-reply” que pode limitar a visibilidade da resposta ao criador do tópico, estou procurando uma solução mais granular.
Para esclarecer, supondo que estou compondo uma resposta dentro de um tópico, eu gostaria de poder criar uma lista de permissões de usuários que podem ver minha resposta antes de clicar no botão ‘POSTAR’. Essencialmente, quero garantir que apenas os usuários que selecionei possam ver minha resposta, enquanto todos os outros não.
Pessoalmente, sou um desenvolvedor com algumas habilidades de programação, mas nunca trabalhei no desenvolvimento de plugins do Discourse antes. Se não houver plugins ou ferramentas existentes que possam fornecer o nível de controle que procuro, agradeceria muito qualquer conselho ou orientação sobre a abordagem de desenvolvimento, como qual “processo” devo me conectar ou quais APIs devo chamar para atingir a funcionalidade desejada.
Quaisquer sugestões ou insights seriam muito apreciados. Obrigado pelo seu tempo e ajuda!
Com a necessidade de um acesso tão granular, você pode precisar considerar se um tópico público normal é a melhor solução. Talvez você possa falar um pouco mais sobre seu caso de uso específico?
Um bom ponto de partida seria, de fato, meu plugin private-replies. Ele tem uma função chamada can_see_post_if_author_among que atualmente recebe um tópico. Você deve modificá-la para receber uma postagem. Você deve armazenar os usuários permitidos com a postagem em um campo personalizado e, em seguida, verificar o usuário que está visualizando em relação a essa lista.
O plugin também substitui a lógica de controle de acesso para postagens brutas, pesquisa, visualizações de tópicos e atividade do perfil do usuário.
Dito isso, espero que você encontre vários problemas tanto de desempenho quanto de UX e, especialmente, se você não tiver experiência com desenvolvimento de plugins do Discourse, isso pode ser um empreendimento considerável, então eu o recomendaria novamente a considerar se essa é a melhor abordagem para o seu caso de uso.
Obrigado pela sua resposta rápida e por compartilhar suas ideias sobre este assunto. Gostaria de fornecer um caso de uso em que um professor atribui tarefas diferentes a cada aluno e exige que eles publiquem suas respostas (relatórios) em um fórum Discourse. Neste cenário, 1) o professor precisa ser capaz de ver a resposta de cada aluno e 2) alguns alunos podem querer manter suas respostas privadas, enquanto outros buscam comentários, feedback e interação. Além disso, 3) os professores podem fornecer comentários que não são adequados para visualização pública.
Essa necessidade de controle sobre as postagens também pode se aplicar a outras situações, como funcionários escrevendo relatórios mensais ou pacientes escrevendo diários de recuperação. De forma abstrata, trata-se de atender aos pedidos dos usuários por controle, em vez de moderadores planejarem tudo com antecedência. Isso é especialmente importante para pequenas comunidades focadas na produção de conteúdo de alta qualidade.
Embora o Discourse seja uma excelente plataforma para grandes comunidades com milhares de usuários, também é uma ótima opção para construir comunidades menores e refinadas que incentivam o pensamento mais profundo e a discussão aprofundada. Os usuários devem ter mais controle sobre suas postagens bem escritas.
Em relação ao desenvolvimento de um plugin para essa funcionalidade, aprecio sua preocupação em equilibrar desempenho e experiência do usuário. Em vez de criar imediatamente um plugin complicado, uma abordagem melhor seria maximizar os recursos existentes. Por exemplo, criando uma categoria com várias subcategorias, cada uma correspondendo a uma tarefa, e fazendo com que os alunos enviem seu trabalho para a subcategoria apropriada. Isso permite o controle sobre cada tópico, e os criadores podem optar por tornar seus tópicos públicos ou visíveis para grupos específicos de usuários. Dar esses pequenos passos pode ajudar a reduzir a carga de trabalho e facilitar a validação da eficácia da funcionalidade.
Em resumo, dar aos usuários mais controle sobre suas postagens é essencial para criar comunidades de nicho com conteúdo e engajamento de alta qualidade. Isso não apenas nutrirá essas comunidades, mas também expandirá os usos potenciais para o Discourse. É uma nova maneira de explorar o que o Discourse pode fazer.
Obrigado pela oportunidade de discutir isso com você.
É exatamente para isso que o plugin foi feito. Você só precisa fazer #2 e #3 com mensagens privadas ou chat.
Os criadores já podem escolher entre respostas visíveis ou não visíveis, e o plugin também pode ser configurado para ter respostas visíveis para pessoas no mesmo grupo primário do criador.
Usando categorias diferentes com direitos de acesso diferentes, você pode controlar ainda mais quem pode ver o tópico inteiro e quem não pode.
Novamente, não há necessidade de construir funcionalidades extras, complexas e frágeis, quando isso já pode ser alcançado mudando ligeiramente a forma como você quer trabalhar.
Resumindo, você não me convenceu de que essas mudanças são necessárias. Elas apenas adicionarão complexidade, tanto para os usuários quanto para a manutenção do plugin.
Gostaria de esclarecer que minha intenção não foi sugerir nenhuma alteração ao discourse-private-reply. Entendo que ele fornece funcionalidade valiosa para controlar a visibilidade das postagens. Obrigado pela discussão sobre este assunto.
Sim, você está certo, eu me expressei mal, desculpe por isso. Mas meu conselho ainda se mantém: não resolva isso usando tecnologia complexa, resolva mudando ligeiramente o processo.