Discourse muestra nombre completo en menciones

|||
|-|-|-|
| :eyeglasses:|Vista previa| https://theme-creator.discourse.org/theme/megothss/discourse-show-name-mentions |
| :hammer_and_wrench:|Repositorio| GitHub - megothss/discourse-show-name-mentions: A discourse theme component to display the full name instead of usernames in @mentions |
| :question:|Guía de instalación|Cómo instalar un tema o componente de tema|
| :open_book:|¿Nuevo en los temas de Discourse?| Guía para principiantes sobre el uso de temas de Discourse

Instalar este componente de tema

Un componente de tema para mostrar el nombre completo en lugar de los nombres de usuario en las menciones de @.

Este componente de tema carga el nombre completo del usuario y muestra @nombrecompleto en lugar de @nombredeusuario en las menciones.

Este componente funciona simplemente reemplazando el nombre de usuario con el nombre del usuario (si está disponible) al mostrar las publicaciones. Nada cambia durante la edición. Todavía etiquetas @nombredeusuario como siempre en el compositor.

También agrega la clase .mention-fullname al elemento ancla a.mention si desea estilizar las menciones de nombre completo de una manera distinta.

Mostrar la tarjeta al hacer clic en las menciones de @nombrecompleto sigue siendo completamente funcional.

Caso de uso:

Imagine una instancia de Discourse donde cada nombre de usuario sigue el patrón X9999999 (una letra y siete números). Ahora imagine que hay 100.000 usuarios registrados.

No es muy amigable, ¿verdad? Desafortunadamente, este es un escenario muy real y no imaginario. La instancia de Discourse está vinculada a SSO y todos los nombres de usuario siguen la política corporativa.

Es mucho mejor en este caso leer @John Doe en lugar de @X9999999.

Ajustes:

  • show_fullname_in_mentions: Si está habilitado, las menciones de @ mostrarán el @nombrecompleto en lugar del @nombredeusuario
17 Me gusta

Hola Sérgio, ¡gracias por el componente temático!

Lo probé, pero después de experimentar, veo que crea cierta inconsistencia en la experiencia del usuario.

Esto es lo que sucede: tengo este usuario cuyo nombre de usuario es “oli44” y nombre completo “Henri Oliver”. Con tu componente temático, ahora muestra “Henri Oliver”, lo cual es genial y añade un mejor contexto. Pero luego, digamos que soy otro usuario que no sabe que “Henri Oliver” usa el nombre de usuario “oli44”, ¿cómo lo menciono en mi publicación?

Buscaré “Henri Oliver” y, de hecho, veré “oli44”, pero ¿cómo puedo saber que es la persona real?

Por esa razón, tal como está, finalmente no lo habilitaré por el momento. ¿Conoces algún otro componente temático/plugin que resuelva este problema? Intenté buscar algo así pero no pude encontrarlo.

¿O tal vez hay una manera en que tu componente temático aún pueda mostrar el nombre de usuario (por ejemplo: @Henri Oliver (oli44)) para que cuando necesite mencionar a esa persona, sepa qué buscar?

Gracias de todos modos por esta gran adición.

3 Me gusta

Simplemente escribe @ seguido de Henri Oliver. Después de confirmar, se insertará @+nombredeusuario en tu publicación.

Al buscar, se muestran tanto el nombre de usuario como el nombre completo.
¿Dónde está el problema?

Puedes personalizar la visualización en una bifurcación fácilmente:

1 me gusta

Veo dos problemas:

Se realizará una solicitud ajax por cada mención al servidor.
¿Podría esto provocar limitaciones en páginas con muchos nombres de usuario (como directorios de usuarios proporcionados por el usuario)?

La traducción en caché de nombre de usuario a nombre completo no reconocerá los cambios en el nombre completo. ¿Cuánto tiempo vive esta caché?

Me pregunto si la información necesaria (nombre de usuario → nombre completo) podría proporcionarse a través de un plugin complementario, lo que haría que estos problemas quedaran obsoletos.

Dado que estábamos experimentando los problemas esperados, creé un plugin que proporciona los nombres completos junto con las menciones:

En consecuencia, la solicitud ajax se eliminó del componente.

También agregué una opción para configurar la plantilla utilizada para renderizar las menciones:

2 Me gusta

¿Las solicitudes ajax eran obligatorias si queríamos seguir un componente temático?

Si este es el caso, te invito a crear un nuevo tema Plugin, si consideras que tu trabajo es lo suficientemente fiable como para ser utilizado por otros :slight_smile:

No tengo permitido escribir en esa categoría…

No lo sé. Dado que solo estoy investigando el desarrollo de plugins/componentes, he optado por recopilar estos dos hacks para obtener el comportamiento deseado.

Pero quizás otros quieran unirse para pulirlo.

1 me gusta

Tienes que solicitar acceso en la página del grupo :slight_smile:

https://meta.discourse.org/g/plugin_authors

1 me gusta

Acabas de publicar esto y acabo de instalar el plugin del autor original justo cuando publicaste. La cosa es que noté que el plugin del autor original no admite nombres completos para grupos. Sin embargo, parece que agregaste grupos. Si es así, ¡felicidades! ¡Tu plugin merece su propio hilo dado lo que has habilitado!

Tal vez no estoy haciendo algo bien, pero habilité tu componente temático y plugin y ya no veo el nombre completo en las menciones.

¿Rehorneaste tus publicaciones?

1 me gusta

¡Gracias! Ahora lo hice. ¿También sería posible buscar grupos? Tengo mi grupo trust_level_0 llamado everyone. Si el plugin también pudiera usar el nombre completo para las menciones de grupo, esta sería una forma genial de hacer que las menciones globales de trust_level_0 parezcan una mención de everyone.

Ahora lo hace (también tienes que actualizar el componente).

Desafortunadamente, el enlace del nombre del grupo no abrirá el grupo cuando se haga clic en él.

1 me gusta

Dado que el plugin incluye la información al hornear las publicaciones. Ten en cuenta que si el usuario actualiza el nombre completo, no se actualizará en la publicación a menos que se vuelva a hornear.

Necesito actualizar algunas cosas en este componente temático. Ahora es posible eliminar las llamadas Ajax si el estado del usuario está habilitado.

Intentaré hacerlo pronto.

2 Me gusta

Exatamente. Deveria observar as alterações nos nomes de utilizador e de grupo:

2 Me gusta

Volver a hornear es costoso. Esto puede ser problemático en algunas comunidades, dependiendo de la frecuencia con la que los usuarios cambien sus nombres.

Ten esto en cuenta.

1 me gusta

Gracias. En nuestra comunidad escolar más formal, los nombres no cambiarán con frecuencia.

En principio, los nombres podrían añadirse mientras se envía contenido ya preparado. Parece que usted prefiere esta vía.

Funciona en su mayor parte. No estoy seguro de por qué, pero a pesar de que he renombrado el nivel de confianza 0 a todos, no se le aplica la etiqueta.


Sin embargo, los grupos que no son de nivel de confianza funcionan y muestran sus nombres completos.

EDITAR: Ah, porque la columna full_name en la tabla groups no contiene el valor modificado del nombre completo de los grupos de nivel de confianza. Al revisar el explorador de datos, está nulo. ¿Hmm?

De la imagen anterior, parece que has cambiado las entradas de i18n para trust_level_0.

Prueba Group.find(10).update! full_name: "TESTTEST" en la consola de rails.

Esto podría tener efectos secundarios, considerando que no se permite cambiar los nombres completos de los grupos integrados en la interfaz de usuario.

De hecho. Intenté esto y funcionó sin ningún impacto serio. ¿Hay alguna forma de incorporar grupos sin tener que usar el plugin y solo usando el componente del tema? Eso es en realidad preferible para mí ya que no disfruto de tener que instalar plugins si puedo evitarlo.