É possível ter um link de atualização automática para a foto de perfil de um usuário? Como dar a cada usuário um "espaço" para um avatar?

Estamos tentando configurar uma página “Site Staff” com informações para nossos administradores e moderadores, e idealmente ela teria as fotos de perfil de todos eles também. Por exemplo:

codinghorror


Bio: Eu existo
Informações de Contato: coisas

No entanto, não queremos ter que atualizar esta página manualmente toda vez que um membro da equipe alterar sua foto de perfil.

Existem duas maneiras que podemos ver para fazer isso - sempre que um usuário carrega uma nova foto de perfil, substitui diretamente a antiga e mantém o mesmo link (o que seria preferível, pensamos), ou algum tipo de link que redireciona para onde quer que o avatar atual do usuário esteja localizado.

Alguma ideia sobre a melhor maneira de conseguir isso? Apenas copiar o link da foto atual deles não funciona como pretendido em nossos testes.

Como observado acima, ajudaria no espaço de armazenamento se pudéssemos simplesmente forçar cada usuário a carregar qualquer nova foto de perfil no mesmo local, o que permitiria automaticamente que o mesmo link funcionasse como pretendido e também economizaria espaço de armazenamento.

Isso é basicamente a página “sobre”, não é? Como About - Discourse Meta

A maneira correta de manter as informações do usuário sincronizadas entre diferentes sistemas é usando DiscourseConnect - Single-Sign-On Oficial para Discourse (sso). No entanto, isso pode ser demais se tudo o que você quer é uma página estática com os administradores atuais do fórum. Nesse caso, talvez você possa ter um script diário/semanal que analise /about.json e o atualize?

3 curtidas

Sim, estamos mais do que satisfeitos em ter usuários se registrando no site real, então SSO parece um exagero. Quanto à página “Sobre”, o problema é que não há espaço para uma biografia ou informações de contato externas, o que realmente prejudica sua capacidade de ser um balcão único. Também imaginamos que pode ser mais difícil adicionar tudo isso à página "Sobre do que fazer uma imagem de atualização funcionar em outra página.

Um script não é uma má ideia, embora um tempo de resposta instantâneo seja obviamente melhor, se possível - é útil para um usuário poder conectar visualmente a foto de perfil ao status, e pode ser desorientador para novos usuários se a imagem na página e em uso não corresponderem.

Além disso, o fato de a foto de perfil antiga ainda ser salva em vez de substituída por uma nova parece desvantajoso por motivos de armazenamento. Se pudéssemos simplesmente dar a cada usuário um link onde sua foto de perfil é armazenada e substituir essa imagem se eles a alterarem, isso parece matar dois coelhos com uma cajadada só.

Existe uma configuração de site para adicionar um método de contato externo à página “sobre”.

Não pretendia que a página “sobre” fosse analisada no seu processo de renderização de página, mas sim em uma tarefa em segundo plano e apenas periodicamente.

Isso depende de qual tecnologia você usa para construir dita página. Por exemplo, se você estiver no JAMstack, isso faz sentido na fase de compilação. Se for um aplicativo Rails, talvez um Active Job que roda diariamente e atualiza seu cache local no banco de dados.

Chamamos esses de uploads órfãos e eles são limpos após alguns dias automaticamente por meio de uma tarefa em segundo plano.

2 curtidas

Faria mais sentido simplesmente substituir o upload órfão por um novo upload?

Parece-me uma situação ganha-ganha, mas não sou um desenvolvedor web, então é possível que eu esteja ignorando algo.