Capacidade de Criar Modelos Privados

Desde o lançamento do novo plugin Discourse Templates, tenho gostado muito da nova funcionalidade de ter modelos de resposta armazenados em tópicos dentro de uma categoria dedicada de modelos. Isso facilita a visualização e edição de modelos, permitindo a capacidade de filtrar, marcar, editar e classificar modelos existentes conforme necessário.

No entanto, atualmente, apenas uma categoria de modelo pode ser selecionada por vez, de modo que todos os modelos de um site são compartilhados por todos os usuários com acesso à categoria de modelo definida.

Além disso, se um usuário quisesse criar um modelo que apenas ele mesmo pudesse acessar, atualmente não há como fazer isso sem modificar o acesso a todos os modelos dentro da categoria de modelo.

Solicitação de Recurso

Com base nessas observações, aqui estão alguns recursos que acredito que muitos tipos diferentes de usuários do Discourse poderiam se beneficiar:

  1. A capacidade de criar um modelo privado pessoal que apenas o usuário que o criou possa acessar e visualizar.
  2. A capacidade de criar modelos privados que dois ou mais usuários no site possam acessar, mas que ainda seriam ocultos de todos os outros.

Exemplos de Casos de Uso

Algumas maneiras como isso poderia ser usado em diferentes situações.

  • Um usuário deseja criar modelos pessoais para si mesmo, mas não quer poluir a categoria principal de modelos com modelos irrelevantes para todo o site.
  • Ex: A empresa de Alex usa o Discourse como plataforma de suporte e eles querem armazenar respostas para todas as perguntas possíveis dos clientes como um modelo. Mesmo que os modelos nunca sejam usados, Alex pode consultá-los em seus modelos pessoais para futuras perguntas relacionadas de clientes, ou conhecimento sobre algo que ele pode não ter visto há algum tempo - mesmo que os modelos nunca sejam usados.
  • Ex: Alex usa o Discourse como um fórum comunitário para os produtos e serviços que está vendendo em seu site principal (não-Discourse). Alex cria um modelo para um tópico que apenas ele posta em seu site Discourse toda sexta-feira para ajudar a aumentar o engajamento.
  • Modelos compartilhados para uma equipe inteira, mas não para toda a empresa.
  • Ex: Alex trabalha como desenvolvedor de software, e sua equipe frequentemente executa vários conjuntos diferentes de tarefas internamente. A equipe de desenvolvimento de software tem um modelo com uma lista de verificação ou outros itens acionáveis para cada conjunto de tarefas que precisa ser concluída por cada membro da equipe.
  • Ex: Alex gerencia uma equipe que usa o Discourse como plataforma de suporte. Alex cria modelos que apenas a equipe de suporte pode acessar para ajudar a equipe a responder aos clientes mais rapidamente.
  • Dois ou mais membros de uma equipe gostariam de ter acesso aos mesmos modelos, mas não precisam que esses modelos sejam compartilhados com toda a equipe.
  • Ex: Alex trabalha no suporte e John trabalha no desenvolvimento de software, sua empresa usa o Discourse para se comunicar com os clientes. John acabou de corrigir um bug, então ele decide criar um modelo explicando as alterações que fez no software da empresa para corrigir o bug - ele então compartilha este modelo com Alex para que eles possam informar os clientes sobre as atualizações. Assim que todos os clientes forem notificados, o modelo poderá ser excluído.

Tenho certeza de que existem muitos outros casos de uso não mencionados aqui.

A Necessidade de Equilíbrio

Com tudo isso em mente, e independentemente de quais recursos existam para tornar os modelos públicos ou privados, os usuários de um site ainda precisam decidir: “Com quem um modelo deve ser compartilhado?”

Há um equilíbrio entre “Todos no site usarão este modelo todos os dias” e “Alguém usou este modelo uma vez para uma tarefa específica e agora ele nunca mais é usado”. Na primeira situação, sim, é claro que gostaríamos que este modelo fosse compartilhado com todos, mas no último caso, se o modelo fosse compartilhado, ele simplesmente poluiria a lista de modelos, e a lista de todos os modelos poderia rapidamente se tornar avassaladora, desatualizada ou supérflua se não houvesse padrões sobre o que é um modelo “aceitável” para todo o site.

E Quanto às Tags?

Com o Discourse Templates, agora podemos marcar cada modelo para ajudar na classificação e na localização de modelos quando chegar a hora de usá-los, então por que precisaríamos de modelos que são privados para um indivíduo ou equipe? Por que uma equipe de suporte não poderia simplesmente marcar todos os seus modelos com uma tag #support e acabar com tudo isso? Por que Alex não poderia simplesmente marcar todos os seus modelos pessoais com uma tag #alex-templates e seguir em frente?

Resposta Curta: Não há razão para que isso não funcione. Os usuários podem simplesmente marcar os modelos e, em seguida, pesquisá-los quando estiverem tentando recuperá-los.

Resposta Longa (que na verdade são apenas mais perguntas): Quando as pessoas usam modelos, elas rolam por todos eles ou apenas pesquisam o que precisam? Se você está apenas pesquisando modelos, o número de modelos que você está pesquisando provavelmente não importa tanto - você apenas pesquisa e termina assim que encontra o que procura. No entanto, se você estiver rolando por todos os modelos possíveis que poderia usar, isso pode ser uma tarefa demorada, dependendo de quantos modelos seu site tem.

E se o seu site for enorme? Se o seu site tivesse 1000 modelos, mas você só usasse 10 deles, por que você precisaria ver todos os modelos extras, eles não seriam apenas lixo extra para você? Ok, um pouco extremo, mas ainda assim, há um limite em que há muitos modelos para um determinado conjunto de pessoas, ou para todo o site ter acesso.

Além disso, e se você não souber o que pesquisar? E se você acabou de começar a moderar um site Discourse em particular e não sabe quais são todos os modelos, e existem 100 deles? E se você estiver procurando por um modelo de “introdução ao site”, mas alguém chamou o modelo que você está procurando de “bem-vindo” (ou uma situação semelhante) e sua pesquisa não trouxer nada?

Há muitas perguntas que precisam ser consideradas aqui, e não há necessariamente uma resposta certa.

Parece que outros usuários aqui também podem ter pensamentos sobre isso. Embora isso fosse sobre o agora desatualizado plugin Canned Replies, as ideias expressas ainda são aplicáveis aqui:

Possíveis Maneiras de Implementar Isso

Quando pensamos na mecânica real aqui, foi mencionado que @saquetim pode saber mais sobre como implementar isso da melhor forma.

Para modelos pessoais, talvez um PM para si mesmo + tag especial possa resolver?

Se você quisesse que algumas pessoas tivessem acesso a um modelo, talvez você pudesse enviar um PM para si mesmo e para a outra pessoa com uma tag especial?

Talvez pudéssemos ter a capacidade de selecionar várias categorias de modelos do discourse?

Quais são os pensamentos de todos sobre isso? :thinking:

  • Algo assim seria realmente útil?
  • Por que gostaríamos da capacidade de criar modelos privados?
  • Como queremos que isso seja usado?
12 curtidas

Eu uso modelos extensivamente! E eu uso Modelos do Discourse da mesma forma que uso o Chat do Discourse: sozinho, um a um e em qualquer configuração de grupo possível! :v: :sunglasses:

Em cada um desses exemplos, parece como o funcionamento das MPs, o que eu acho ótimo: a capacidade de adicionar e remover usuários e grupos…

Hmmm… talvez ter opções semelhantes a como Discourse Docs define categorias e tags.

No entanto, além de mostrar todos os tópicos de modelo disponíveis com base nas permissões de categoria no seletor de modelos, ele também carrega modelos de MP. Então, você marcaria todos os seus modelos de MP conforme necessário e os compartilharia como uma MP normal (usuários e grupos).

:thinking:

4 curtidas

Nossa, isso seria muito útil!!

3 curtidas

@SaraDev,

Gostei muito da ideia de modelos privados e da mecânica que você propôs (MP para si mesmo + tag) e acho que seria uma ótima funcionalidade para adicionar ao plugin. No entanto, não tenho tanta certeza sobre dois ou mais usuários poderem compartilhar esses modelos usando MPs.

Deixe-me explicar por quê:

Atualmente, você só pode selecionar uma categoria pai para armazenar modelos, mas pode ter subcategorias com permissões diferentes para que vários grupos vejam diferentes conjuntos de modelos. Esse caso de uso deve ser coberto.

Além disso, planejo adicionar a capacidade de ter várias categorias pai para permitir uma melhor organização de modelos e uma definição de segurança mais fácil.

O problema surge quando você adiciona MPs a grupos (formais ou ad-hoc) à mistura, porque o sistema de permissões fica confuso. As tags não têm permissões como as categorias. Seria difícil verificar se um usuário pode usar modelos ou não, ou até mesmo limitar sua capacidade de fazê-lo.

Algumas coisas que me vêm à mente agora que precisam ser abordadas:

  • Quais usuários deveriam ter permissão para usar modelos privados? Não acho que eles devam ter permissão por padrão para todos e, atualmente, a permissão para usar o plugin é definida pela categoria em que os modelos são armazenados. Esse modelo de permissão não funcionaria para modelos privados e provavelmente precisaríamos de uma nova configuração para que os administradores pudessem controlar isso.

  • A tag usada para marcar mensagens privadas como modelos deve ser definida globalmente na configuração do plugin ou permitir que cada usuário defina em suas configurações qual tag deve ser considerada um modelo? Como isso funcionaria para mensagens compartilhadas por mais de uma pessoa?

  • Uma coisa que não gosto muito é que pode dificultar a localização de onde ir quando você precisa editar/discutir um modelo. Os usuários precisarão saber se é uma MP ou um tópico. Não é um impeditivo, mas pode se tornar complicado.

TL;DR: Gostei muito de modelos pessoais (MPs para si mesmo), acho que MPs para várias pessoas usadas como modelos podem causar alguns problemas e isso teria que ser pensado com cuidado. Pessoalmente, eu iria com modelos realmente privados (apenas o usuário que os criou pode ver) e deixaria os modelos de grupo (2+ pessoas) para o sistema de categorias.

6 curtidas

Acho que várias categorias pai, juntamente com os modelos privados propostos usando o MP para você mesmo + tag, cobririam quase todos os casos de uso com modelos.

Mesmo com alguns dos exemplos que mencionei, foi difícil encontrar um caso em que dois ou mais usuários, e não um grupo, precisassem compartilhar os mesmos modelos.

Se duas pessoas quisessem o mesmo modelo, elas poderiam simplesmente enviar um MP uma para a outra com o modelo e, em seguida, transformar essa mensagem em um modelo copiando + colando o MP de volta para si mesmas, o que seria um pequeno passo extra, mas não consigo imaginar que isso aconteça com muita frequência.

Acho que os Níveis de Confiança poderiam ser uma boa maneira de restringir o uso de modelos privados apenas àqueles que podem precisar usá-los. Uma das questões que poderiam ocorrer com modelos privados (e modelos em geral) é que, se um usuário tivesse acesso a eles, ele poderia criar muito “spam” no site postando a mesma coisa repetidamente, a ponto de sua conta precisar ser silenciada ou restrita de outra forma se ficasse muito ruim. Modelos em geral também parecem mais um recurso de administrador / moderador / superusuário, em vez de algo que todos deveriam ter acesso, e permitir apenas que usuários de níveis de confiança mais altos usem modelos privados resolveria isso.

Estou imaginando uma configuração no Plugin de Modelos para permitir que usuários de “Nível de Confiança X” ou superior usem modelos privados. Algo como isso, mas para “Nível de Confiança Mínimo de Modelo Privado”.

Meu outro pensamento aqui seria uma configuração de caixa de seleção em algum lugar na página de configurações do grupo para cada grupo de nível de confiança para “permitir modelos privados”, mas ter um único lugar para configurar isso provavelmente seria preferível, em vez de ter que editar várias configurações de grupo.

Definir a tag globalmente seria mais fácil de configurar do ponto de vista de um administrador do site, e então, de alguma forma, informar aos usuários que “esta é a tag a ser usada para modelos privados” para torná-la aparente. Sinto que isso poderia funcionar se um MP fosse compartilhado entre mais de um usuário, já que a tag de modelo privado seria definida globalmente e ainda funcionaria em situações em que o modelo de MP é compartilhado apenas com o usuário que o criou. Embora eu não tenha certeza das implicações que isso teria na verificação se um usuário pode usar modelos ou não, já que todos estariam usando a mesma tag de modelo privado com este design.

Este é um ótimo ponto, e algo que eu não tinha considerado. Pensando em nosso fluxo de trabalho atual para rastrear onde você precisa ir para editar um modelo - Se estou fazendo uma postagem com um modelo nela e quero ver o tópico com o modelo real, a maneira mais fácil que consigo pensar seria pesquisar o nome do modelo com a pesquisa do site e, em seguida, ir para esse tópico. No entanto, até onde sei, você não pode pesquisar MPs com a pesquisa do site, então isso não funcionaria com modelos privados.

Talvez um botão dentro da área de seleção de modelos quando você está fazendo uma postagem possa ser útil aqui? Algo como:

Seria definitivamente bom para um usuário ter todos os modelos disponíveis em um só lugar, mas não tenho certeza qual seria a melhor resposta aqui.

Estou curioso para saber o que mais há de pensamentos sobre isso.

1 curtida

Este é um ponto realmente interessante. :+1:

Estou pensando apenas em sobrecarregar a interface para os usuários da equipe. Não estou imaginando um caso de uso em que a categoria de modelos permita que a associação geral os adicione/edite.

Hmmm, eu me pergunto se eu criei uma tag no meu site, #preferred-templates-maiki, e então eu poderia apenas escolhê-la e ter todos os modelos que uso prontos para mim. Então eu poderia marcar um monte de tópicos, não apenas os meus… :thinking:

2 curtidas

Eu não adicionaria um botão ali. O plugin canned-replies era assim. Na minha opinião, a interface fica um pouco confusa para algo que você não usaria com tanta frequência.

Talvez fosse melhor criar uma rota semelhante a /top ou /latest que listasse todos os modelos disponíveis em um só lugar. Teríamos talvez /templates e lá você só precisaria clicar no tópico para abri-lo.

Pensei nisso ao desenvolver o plugin.

Sei que poderia ser conveniente, mas na minha opinião causa mais problemas do que resolveria.

Tópicos marcados dessa forma não podem aproveitar o sistema de permissão de categoria para definir se o usuário pode usar modelos ou não e, pelo menos para mim, os modelos devem estar em um lugar (categoria ou tag no caso dos modelos pessoais propostos) onde qualquer pessoa que lide com eles saiba que está lidando com um modelo.

Imagine que você marca uma postagem de terceiros como modelo e ela é editada para algo que você não espera. Você não saberá que o modelo foi alterado e a pessoa que o editou não saberá que editou um modelo.

Não sei, neste caso, prefiro um fluxo bem definido.

2 curtidas

Faz sentido! :+1:

Eu estava me referindo a marcar tópicos dentro da categoria de templates. Aqui está uma captura de tela dos nossos fóruns familiares onde marquei todos os meus #maiki-templates.

Meu caso de uso não leva em consideração todos criando templates. Mas com grupos de tags, acredito que temos controle decente para as equipes usarem.

No caso da minha família, Clover e eu teremos listas de tarefas para marcar. Faz sentido ter todos marcados como #chores, enquanto os templates pelos quais sou responsável são marcados como #maiki-template, e os de Clover são marcados como #compulsory-familial-servitude; então podemos filtrar facilmente os templates conforme necessário, do seletor “Inserir template”.

Então… meu caso de uso está coberto. :slight_smile: :+1:

Meus templates privados são públicos! :person_shrugging:

2 curtidas

Agora temos modelos privados!

Eles funcionam praticamente como o que discutimos. Envie uma MP para si mesmo + marque-a com uma tag especial configurada nas configurações e a mensagem aparecerá na lista de modelos.

Tecnicamente, mensagens enviadas para outros usuários também podem ser usadas como modelos, mas elas só serão exibidas como modelos para o autor da mensagem.

7 curtidas

É ótimo saber disso! Estou animado para experimentar em breve.

3 curtidas

Olá @saquetim
Eu tentei este passo, mas parece que não funciona. É suportado na versão mais recente do plugin?

Obrigado por esta resposta, pois me deu maior clareza sobre como os modelos privados funcionam. :vulcan_salute::smiling_face_with_sunglasses::+1: