Política do Discourse

:discourse2: Resumo Discourse Policy oferece a capacidade de confirmar se seus usuários viram ou fizeram algo, com lembretes opcionais.
:open_book: Guia de Instalação Este plugin está incluído no núcleo do Discourse. Não há necessidade de instalá-lo separadamente.

Funcionalidades

O Discourse Policy compartilha grande parte de sua base com as enquetes; seu objetivo é garantir que membros de um grupo aceitem certas políticas clicando em um botão.

Ele possui algumas funcionalidades específicas que o diferenciam das enquetes:

  1. Deve aplicar-se a um grupo.

  2. Pode opcionalmente cobrar membros de um grupo semanalmente ou diariamente para clicar em aceitar uma política.

  3. A UX torna muito fácil ver quem aceitou e quem não aceitou uma política.

Configuração

Capturas de tela

Antes de clicar em aceitar

Após clicar na pessoa “cinza” no canto superior direito

Após clicar em aceitar

Criando uma política

O Discourse Policy registra um elemento BBCode personalizado [policy]. Isso significa que você precisa escrever este bloco de código em sua postagem onde deseja exibir essa política.

[policy group=founders reminder=daily]
Eu aceito que esta política vai me irritar diariamente até que eu clique em aceitar
[/policy]

Neste caso, a política se aplica ao grupo founders e um lembrete é enviado diariamente a todos os usuários que não aceitaram a política.

Configurações do site

policy_enabled: Habilitar o plugin Discourse Policy no site.

policy_restrict_to_staff_posts: As políticas só podem aparecer em postagens de funcionários.

policy easy revoke: Mostrar os botões de aceitar e revogar ao mesmo tempo.

Atributos BBCode

O elemento [policy] pode aceitar os seguintes atributos.

  • group: o nome do grupo ao qual a política se aplicará obrigatório
  • version: o número da versão da política; aumente o número para exigir que todos os usuários reaceitem a política
  • reminder: lembrar os usuários do grupo de aceitar a política (semanal ou diário), opcional, padrão desligado
  • accept: texto usado para o botão de aceitar, o padrão é “Aceitar Política”
  • revoke: texto usado para o botão de revogar, o padrão é “Revogar Política”
  • renew: número de dias ou texto descrevendo o período (mensal, trimestral ou anual) após o qual um usuário precisa reaceitar a política
  • renew-start: a primeira data em que as renovações começarão, por exemplo: 17-10-2017, útil se você quiser definir a cadência de renovação para que ocorra a cada seis meses (jan/jun)
  • add-users-to-group: aceita um único grupo como entrada; usuários que aceitarem a política serão automaticamente adicionados a este grupo (quando a política for revogada manualmente ou se a versão da política for atualizada, o(s) usuário(s) será(ão) removido(s) do grupo)
  • private: ocultar usuários que aceitaram/não aceitaram a política

:information_source: O trabalho de backend para verificar lembretes de política é executado a cada 6 horas. Se o elemento reminder estiver definido como semanal ou diário, usuários que não aceitaram uma política receberão lembretes de notificação para aceitar a política apenas se já não tiverem recebido uma notificação de lembrete para a política na semana ou no dia anterior.

Exemplos de uso

Política básica:

[policy group="team" reminder="daily" accept="Aceitar" revoke="Ignorar" version="1"]
Eu li, entendi e reconheço esta política.
[/policy]

Aumentando o número da revisão para exigir que todos leiam a atualização:

[policy group="team" reminder="daily" accept="Aceitar" revoke="Ignorar" version="2"]
Eu li, entendi e reconheço esta política. (Última atualização [date=2020-04-23 timezone="America/Los_Angeles"])
[/policy]

Tarefa periódica de auditoria:

[policy group="audit_committee" reminder="weekly" renew="90" renew-start="01-07-2019" version="1" accept="Tarefa Concluída"] 
Eu garanti que alguém foi designado para esta tarefa de auditoria trimestral.
[/policy]

LOG DE ALTERAÇÕES

A FAZER

  • Lembrete imediato opcional para novas políticas
  • Possivelmente permitir que certos grupos apliquem políticas (expandido para além da equipe)
65 curtidas
How to make users to explicitly agree to ToS
Have-to-read topics? (or RSVP topics)
Plugin to maintain group membership based on accepting a Policy
Ability to view if PM has been read (Moderation ability?)
Group Membership base on accepting a Discourse Policy
Force existing users to accept ToS
How to get email notifications when new users have signed up?
Improving Discourse Policy for large groups
Dashboard Report - Unaccepted Policies
Is there a plugin that helps with Age Verification on the site?
Restrict posting in a category until they "like" a topic
Restrict posting in a category until they "like" a topic
Topic should be a notification
Plugin or other option to require a post and a like?
Watching category mandatory
Policy reminder cannot be left empty
Bundling more popular plugins with Discourse core
Age prompt for NSFW catagories
Button to join group on post
Bump topic with API
Publish group read state
Delivered and read notifications?
Habit tracking within Discourse...is it possible?
Changing policy texts
Agree to additional terms before joining group
Know who has viewed your post
How can I compare arbitrary revisions of a post?
Require accepting new terms (after changes) as a modal inside forum
Tips into building a community aside a variety of already existing tools
How to force existing users to accept ToS
Plugin to gather approvals / signatures on an initiative?
Recommnded plugins for supporting a tech community run by a big enterprise?
AUP location
I can't display my policy
Best practices for communicating to user base

2 posts foram divididos em um novo tópico: Criar política de limite apenas para funcionários?

4 posts foram divididos em um novo tópico: É possível proibir o cancelamento de concordância com certas políticas?

Parece que o limite de 200 e o policy_max_group_size foram removidos com este commit. Estou perdendo alguma coisa?

3 curtidas

6 posts foram divididos em um novo tópico: Pessoas recebendo lembretes mesmo tendo aceitado a política

Quando uma política com texto de botão longo é aplicada a um grupo grande, a interface do usuário fica distorcida: na captura de tela abaixo, podemos ver que os avatares formam uma coluna quase infinita que a torna um pouco estranha. Vou verificar o CSS para ver se isso pode ser corrigido facilmente, mas provavelmente deve haver algum tipo de redesenho:

Remover display: flex em .cooked .policy .user-lists faz com que pareça bom no Desktop:

Acabei usando o seguinte CSS:

/* Faz com que a lista de usuários da política não transborde */
.cooked .policy .user-lists {
    display: block;
}
3 curtidas

Erro após a instalação do plugin. Não sei porquê. Algo relacionado a “ao tentar carregar /admin/dashboard/general.json”.

Erro no Servidor

ao tentar carregar [/admin/plugins]

Código de erro: erro 500

Ops

O software que alimenta este fórum de discussão encontrou um problema inesperado. Pedimos desculpas pelo inconveniente.

Informações detalhadas sobre o erro foram registradas e uma notificação automática gerada. Vamos analisar isso.

Nenhuma ação adicional é necessária. No entanto, se a condição de erro persistir, você pode fornecer detalhes adicionais, incluindo passos para reproduzir o erro, postando um tópico de discussão na categoria de feedback do site.

Olá,

Os botões Aceitar/Revogar serão exibidos se a Política estiver em um Tópico de Categoria que está Fechado, de modo que não permite respostas?

Obrigado

Faz tempo que não uso este plugin, mas acho que ele permitirá que os usuários aceitem/revoguem quando um tópico for fechado, já que pressionar um botão não é uma resposta, que é o que o fechamento impede.

1 curtida

oi, eu tenho uma pergunta:
Nós queremos usar o plugin Discourse Policy para: forçar usuários iniciantes a aceitarem os Termos de Serviço (TdS). Requisitos:

  • Se eles não aceitarem → eles não podem usar o fórum (só podem ver a página de TdS)
  • Quando eles aceitarem → eles podem usar o fórum + ganhar um badge de “TdS”

minha solução foi criar um novo tópico e dentro dele eu adicionei isto:
[policy group=trust_level_0 reminder=daily add-users-to-group=tos_accepted accept=“Eu Aceito os Termos” version=“1”]
Ao clicar em “Eu Aceito os Termos”, confirmo que li e concordo com os Termos de Serviço.
[/policy]

mas se um novo usuário faz login, a política não aparece e ele pode fazer o que quiser. Queremos que ele só possa acessar nossa página se clicar em “Aceitar”. Como fazer isso? Obrigado.

Você poderia usar um campo personalizado e vincular as páginas de Termos de Serviço e Perguntas Frequentes. Assim que um usuário as ler, ele receberá o distintivo ‘Leu as Diretrizes’.

2 curtidas

Obrigado pela sua resposta — funcionou exatamente como você disse. No entanto, o que eu realmente quero é exibir este banner depois que o usuário fizer login, e só permitir o acesso à página se o usuário clicar em ‘Aceitar’. Caso contrário, o banner deve permanecer visível e o usuário não poderá interagir com a página

o que eu tenho agora é isto:


depois disso, o usuário pode acessar nossa página normalmente

há alguma maneira de fazer isso e obrigado

:partying_face: Este plugin agora está incluído no core do Discourse como parte de Bundling more popular plugins with Discourse core. Se você auto-hospeda e usa o plugin, precisa removê-lo do seu app.yml antes da sua próxima atualização.

3 curtidas

Seria bom se você pudesse adicionar a capacidade de remover usuários de um grupo após a aceitação ou rejeição.

Atualmente, este recurso apenas incomoda os usuários (opcionalmente) e adiciona - a menos que eu esteja perdendo alguma coisa.

Obrigado!

2 curtidas