No fórum que gerenciamos, embora demos muita liberdade quanto ao nome de usuário, exigimos (nos termos de uso) que os usuários forneçam seus nomes completos e não os alterem, exceto para refletir mudanças legais de nome. Ainda não temos muitos usuários (menos de 250), mas já algumas pessoas começam a não respeitar essa regra. Portanto, precisamos de uma maneira de aplicá-la.
Em resumo, precisamos que um nome completo só possa ser alterado por um moderador ou administrador após a conta ter sido aprovada. Existe alguma maneira de conseguir isso no Discourse? Naveguei pela documentação sem sucesso.
Se não, esse recurso poderia ser adicionado ao código?
Uma solução simples, mas evitável, é ocultar o botão de edição com CSS. Pessoas espertas poderiam editá-lo de qualquer maneira. Para garantir que ele seja mantido, você precisaria de um plugin ou talvez sso.
Obrigado pela sua resposta. Você sabe se já existe algum plugin assim? Se não, vou tentar entender como fazer isso, mas faz muito tempo que não programo nada
Parece que o plugin não existe, mas a solução alternativa de CSS é apenas inspecionar no Firefox ou Chrome, clicar na caixa que você deseja ocultar e editar o CSS no tema:
Eu acho que a opção mais forte aqui é usar um provedor de autenticação externo (OAuth o que for) com a opção “auth overrides username”:
Substitui o nome completo local pelo nome completo do site externo em cada login e impede alterações locais. Aplica-se a todos os provedores de autenticação.
Isso resolve o problema, mas incluir serviços de terceiros não é um bom negócio para muitos de nós que estão satisfeitos em deixar os usuários escolherem seu provedor de e-mail.
Olá,
Obrigado pela sugestão, mas infelizmente, isso não é uma opção no momento. Não temos um SSO central e seu gerenciamento é muito mais do que eu quero me propor a fazer!
Atualmente, a adulteração de CSS é provavelmente o limite do que posso fazer. O que estou gerenciando é um fórum de clube, com todos os membros identificados, e forçar essa mudança, apesar de ser simplesmente desativada (e proibida nas regras), faria com que a conta do usuário fosse convertida para somente leitura ou totalmente desativada.
Obrigado @satonotdead pelos links que você forneceu, vou navegar por este conteúdo e ver se consigo gerenciar a mudança facilmente. A longo prazo, quando eu tiver tempo (talvez precise esperar 15 anos ou mais até a aposentadoria para isso ), posso optar por investir nisso escrevendo um plug-in…
Poderia funcionar, mas ainda quero que apareça ao lado do nome de usuário, como está especificado atualmente para o nome completo.
Por enquanto, ocultar a seção de nome completo da seção de atualização de perfil do usuário será uma solução temporária aceitável. Ainda posso lidar com exceções de usuários que são curiosos demais para o próprio bem.
Ainda não consigo entender por que parece ser um problema ter essa opção de bloqueio no produto base, como temos para o nome de usuário… parece muito dogmático.
[MODO PROVOCADOR ATIVADO]
Um pouco como não aceitar permitir assinaturas de usuário porque é para o nosso próprio bem.
[MODO PROVOCADOR DESATIVADO]
Eu dei uma olhada; ocultar o campo com a API pode ser feito, mas não consigo encontrar nenhum dado confiável para saber se esse usuário é aprovado ou não (no contexto da página de preferências)
É o que tenho por enquanto.
Não tenho certeza se devo me sentir mal; talvez um pouco “hacky” aqui.
js
<script type="text/discourse-plugin" version="0.8">
const { setting } = require("discourse/lib/computed");
api.modifyClass("controller:preferences/account", {
pluginId: "hide-name-in-preferences",
get canEditName() {
const enables_name = setting("enable_names");
if (enables_name && this.isCurrentUser && !this.model.staff) {
if (this.model.name) {
// Oculta apenas o campo de entrada (o nome é exibido)
this.model.can_edit_name = false;
} else {
// Oculta toda a seção
return false;
}
}
return enables_name;
},
});
</script>
Obrigado @Arkshine, isso parece muito com o que eu preciso. Terei que pesquisar como incluir isso em meu ambiente , mas provavelmente terei incluído até este fim de semana.
Obrigado, eu entendo a priorização, embora o mecanismo global já esteja presente e, pelo que pude ver, tenha sido solicitado várias vezes pelos usuários. Se o patch é realmente tão simples quanto o que Arshkine acabou de fornecer, parece-me que foi uma escolha consciente NÃO conceder a mesma “cortesia” a este campo como foi para os outros.
Não me entenda mal, este é um software maravilhoso que foi desenvolvido aqui. Pelo que posso dizer do fórum que ajudo a administrar, parece funcionar perfeitamente, e eu sei o quão difícil isso é. Eu apenas não concordo com todas as decisões que foram tomadas, e considero algumas das justificativas dadas às vezes dogmáticas ou autoritárias. Isso não impede que seja o melhor disponível hoje.
Um componente de tema pode ser contornado usando o modo de segurança ou modificando outras coisas no navegador.
Na maioria das vezes, o desenvolvimento é impulsionado por pessoas que são hospedadas com CDCK/Discourse.org, pois é de onde vem o dinheiro. Às vezes, recursos são adicionados se muitas pessoas querem/precisam de um recurso, mas se essas pessoas não estão pagando dinheiro para CDCK, precisa ser muitas, ou um recurso que parece que muitos clientes pagantes ficarão felizes em ter. Note que eu não trabalho para eles, então esta é meramente a minha observação dos últimos quase 8 anos.
Especulando: Não ficaria surpreso se a maioria das pessoas que querem isso e são clientes pagantes já tivessem algum tipo de SSO. Então, torna-se ainda mais um recurso de nicho para todos os outros.
Não parece que você esteja fazendo nada para autenticar o nome completo que seus usuários fornecem ao se inscreverem. Então, se eles o alterarem de Bob Jones para Sam Smith, como você sabe que qualquer um dos nomes é deles?