Sometimes when I impersonate someone (albeit, not very often) I forget and keep trying to do admin type things and then realize I’m in someone elses account.
Another downside of the current process is that you have to click on the users avatar. I was impersonating a users that had 5 new notifications. When I clicked his profile, so I could log out of his account, it marks those notifications as read and no longer shows the (5) badge showing he has new notifications. How sad for him, when he returns! Hopefully he got some email notifications that will pull him back in!
Another community that I built and currently manage, is on the Higher Logic platform. I can’t tell you how much more I enjoy using Discourse than Higher Logic. But, now that I have that out of the way, I will say that I do like their method of impersonating users…
There’s a bar at the top of the screen, providing a constant visual reminder that you’re impersonating and a button to STOP, as well as a little orphan button at the bottom of the screen allowing you to STOP.
I don’t think they need both buttons. Top of the screen is sufficient.
I love @John_Lehmann’s suggestion with a more bold/obtrusive bar that stands out so you remember to get out of the user account before posting and doing other stuffs.
Not critical by any means.
I just came to meta, to see if there was a plugin for this, or something.
Just ended up needing this today. I use the impersonate feature to post category guidelines, or other pinned topics or replies in them under the @system account. What I currently do is post them under mine, then change ownership to @system, but what if someone has the topic set to watching, then they would see that it was me. I’m not necessarily trying to be anonymous when posting these, although, I just don’t want those posts under my name. I could make an alt whose purpose is to post these, although I would have to log in from a private window each time, which is bad ux.
Eu também gostaria de poder reverter para minha conta de usuário quando terminar de personificar. Isso é possível com todas as implementações que usei para este recurso no WordPress.
Concordo, não é essencial, mas é uma grande mudança e acho que colocar um banner no topo com o botão de logout não é tão complicado.. poderíamos fazer um plugin, mas certamente uma mudança simples no core seria melhor.
Gostaria de saber se toda essa funcionalidade precisa ser repensada.
Impersonate sempre foi uma ferramenta muito poderosa que foi implementada como uma espécie de “hack”.
Uma implementação que não seja um “hack” pode ser significativamente menos assustadora e muito mais fácil de justificar como uma funcionalidade padrão do Discourse.
Quando você está se passando por um usuário, você tem apenas uma visualização “somente leitura” (a menos que alguma configuração especial oculta do site esteja habilitada)
Mais cerimônia ao se passar por alguém, por exemplo: com grande poder vem grande responsabilidade
No geral, a funcionalidade é muito útil para depurar coisas, mas agir em nome de outra pessoa é super perigoso.
Gostaria de saber se, para começar, @codinghorror faz sentido tornar a funcionalidade atual de “impersonate” uma funcionalidade desabilitada em sites do Discourse e que exija a alteração de uma configuração oculta do site para habilitá-la? Não tenho certeza?
@sam concordo, desculpe pela marcação, mas venho levantando isso aleatoriamente há anos e é um grande problema para alguns. A personificação é o recurso que torna a privacidade do usuário uma séria preocupação com o Discourse, especialmente se estiver usando o Discourse como uma plataforma interna de comunicação e colaboração (de trabalho).
Nós o usamos no passado e estamos trazendo de volta uma instância do Discourse para uso em nosso sindicato. Não para os membros, mas para os oficiais eleitos. Pelo tempo em que administrei a antiga instância, eu era um representante regular como a maioria. Agora estou na liderança/administração do grupo, então meu papel na organização não estaria em conflito com as habilidades de um administrador do Discourse de ver todo o material em todas as categorias. Mas isso aconteceu então…
Nosso grupo executivo tinha sérias preocupações com um administrador tendo a capacidade de ver suas discussões dentro de sua categoria privilegiada (executiva). Eu resolvi de forma improvisada escondendo-a de membros não executivos com CSS (incluindo escondida do administrador) e apontando como ver os logs para ver se eu já havia desativado o componente de tema específico chamado “privacidade do usuário”.
A outra GRANDE preocupação era que um representante ativo que é um administrador do Discourse (novamente, em vez de um cara de TI contratado) pudesse simplesmente se personificar de outro usuário, ler mensagens privadas e mexer nas configurações e bens pessoais de alguém.
Tudo o que posso dizer é que seria ótimo se houvesse uma maneira de focar em administradores não tendo privilégios globais de visualização, mas sim mais acesso administrativo ao site, por padrão vendo apenas o conteúdo ao qual foram designados. Além de um sistema de notificação claro, designado para todos os usuários, para destacar se a equipe administrativa está mexendo nesse tipo de coisa.
Chame-o de algo semelhante a equipes do Discourse, talvez Discourse profissional. Algo que não é tanto um fórum de internet, mas mais uma plataforma de colaboração e comunicação com conhecimento de negócios. O Discourse BRILHARIA nesse papel, desde que a capacidade de os olhos do administrador estarem em tudo possa ser limitada/curtailada ou eliminada. (principalmente a personificação e a leitura de mensagens pela aba de perfil/mensagens).
Pessoalmente, não acho que tenho um grande desejo de personificar um usuário específico, mas sim de personificar uma função/membro de grupo/nível de confiança.
Descobri isto outro dia, onde tenho muitas categorias privadas que aparecem para mim como administrador, mas queria ver como a lista de tópicos ficaria para alguém no nível T0, T1, etc.
Talvez esta funcionalidade já exista e seja separada da função de personificar, suponho que, além disso, não tenho certeza para que mais as pessoas usam a personificação.
Talvez outra abordagem seria adicionar algum atrito à personificação por meio de
adicionar um pop-up de “tem certeza?”, lembrando que será registrado e se eles apenas querem testar algo, eles podem preferir criar um usuário de teste e excluí-lo novamente quando terminar. educação no momento certo, por assim dizer.
enviar o link para personificar por e-mail (isso teria o benefício adicional de poder fazer login em uma janela separada?) semelhante ao download de backup
Eu também gosto da ideia de uma configuração de administrador para desabilitar a personificação, desabilitada por padrão. Nem mesmo precisa ser uma configuração oculta, mas ter a configuração, como restauração de backup, diminuirá o risco de alguém se acostumar a personificar outro usuário ou fazê-lo por acidente.
Se eles têm controle do sistema, eles têm acesso aos dados. Você precisa de administradores em quem possa confiar, e seus usuários precisam ser educados de que não há expectativa de privacidade. Isso é verdade para todo software usado para comunicação e colaboração, mesmo que você esteja empregando criptografia em toda a linha.
Você nem consegue auditar verdadeiramente o acesso a categorias e MPs, qualquer administrador mal-intencionado determinado com acesso root pode simplesmente pegar um backup do sistema de arquivos e lê-los diretamente do banco de dados.
Este é um ótimo ponto. Provavelmente ainda existem alguns casos em que a personificação seria útil, mas isso eliminaria quase totalmente minha necessidade de personificar usuários.
Toda vez que um usuário tem algum problema estranho que o administrador ou seus pseudo-usuários não conseguem encontrar ou poucos usuários relatam.
Privacidade é uma questão relativa. Afirmo que a maioria dos fóruns está em uma situação em que um usuário não tem nenhuma informação privada. Portanto, a personificação deve ser pelo menos uma opção. Um aviso automático quando isso acontece não é uma má ideia, mesmo que seja bastante desnecessário - mas é uma solução mais aberta.
Quando você estiver se passando por alguém e terminar, terá que sair e fazer login novamente e completar a autenticação de dois fatores (2FA), se a tiver configurado.
Em vez disso, no menu do usuário, pode haver um botão que diz “Parar de se passar por”, e quando você clicar nele, será logado em sua conta.
Eu pessoalmente acho que este seria um recurso muito útil ao se passar por alguém.
Assim que isso estiver estável, você pode imaginar impersonation_enabled_groups e fazer o caminho inverso: participar como um membro normal e só ir para administrador quando precisar… ou seja, o modo sudo… Isso poderia abrir caminhos para mudar de persona sob demanda… Por exemplo, o Discourse Staff Alias limita a pseudo-impersonação a um único alias de equipe, mas expandindo a impersonação, seria possível mudar de persona de acordo com vários critérios…
Por exemplo, um membro da @well-being.team poderia postar como um alias de grupo para desviar ressentimentos pessoais, um autor poderia postar como @narrator ou @characterN para escrever uma história interativa, um professor poderia se passar por um aluno para entender a perspectiva dela… tudo de acordo com grupos personalizáveis.
Uma característica importante, eu acho, seria que as sessões de impersonação sejam devidamente registradas e conhecidas pelo usuário impersonado.
Eu experimentei este recurso experimental_impersonation e parece bom! Ele faz o que diz na lata, e aprecio não ter que passar pelos trâmites de sair e fazer login novamente como eu mesmo.
@moin levantou em 🇩🇪 Fehler in der Deutschen Übersetzung? Hier melden! - #108 by Moin que “impersonate” e “stop impersonating” não se traduzem bem para o alemão. É difícil encontrar as palavras certas que capturem todo o significado do que você está fazendo. Este pode ser o caso para outros idiomas também, mas não verifiquei.
Eu me pergunto se queremos mudar (trocadilho intencional) para termos mais diretos, como Mudar para @user_to_impersonate na página de administração do usuário e, em seguida, Mudar de volta para @user_who_impersonated no botão para parar de se passar por alguém. Isso provavelmente seria mais fácil de traduzir e também mais fácil de entender para falantes não nativos de inglês.
Testes hoje também descobriram alguns outros problemas:
Acho que precisa haver um modal para se passar por alguém, semelhante a excluir ou mesclar. Isso permite que você desista caso clique no botão acidentalmente e também educa o administrador sobre o que você está prestes a fazer, que será registrado e que você poderá voltar sem ter que fazer login novamente.
O fato de você estar se passando por alguém e voltando é registrado no log de ações da equipe, mas nenhuma ação realizada enquanto se passava por alguém é registrada. Acho que faria sentido registrar isso também, dado o quão propenso este recurso é a ser abusado, acidentalmente ou intencionalmente.
Um problema antigo ainda persiste, que é que quando você se passa por um usuário, ele atualiza a data de “última vez visto” na lista de usuários e na administração do usuário e (presumivelmente) em “quem está online” se esse plugin estiver instalado.
Gosto dessa ideia de switch, pois em finlandês é tão difícil encontrar uma tradução adequada. Temos uma ou duas palavras para isso, mas nenhuma delas soa muito bem. Switch funcionaria muito bem.