Ce composant fonctionne en remplaçant simplement le nom d’utilisateur par le nom de l’utilisateur (si disponible) lors de l’affichage des publications. Rien ne change lors de l’édition. Vous continuez à taguer @nomdutilisateur comme d’habitude dans le compositeur.
Il ajoute également la classe .mention-fullname à l’élément d’ancrage a.mention si vous souhaitez styliser les mentions de nom complet d’une manière distincte.
L’affichage de la carte lors du clic sur les mentions @nomcomplet reste entièrement fonctionnel.
Imaginez une instance Discourse où chaque nom d’utilisateur suit le modèle X9999999 (une lettre et sept chiffres). Imaginez maintenant qu’il y ait 100 000 utilisateurs enregistrés.
Pas très convivial, n’est-ce pas ? Malheureusement, c’est un scénario très réel et non imaginaire. L’instance Discourse est liée au SSO et tous les noms d’utilisateur suivent la politique de l’entreprise.
Il est beaucoup préférable dans ce cas de lire @John Doe au lieu de @X9999999.
Paramètres :
show_fullname_in_mentions : S’il est activé, les @mentions afficheront le @nomcomplet au lieu du @nomdutilisateur
Bonjour Sérgio, merci pour le composant de thème !
Je l’ai essayé mais après avoir expérimenté, je constate qu’il crée une certaine incohérence en termes d’expérience utilisateur.
Voici ce qui se passe : j’ai cet utilisateur dont le nom d’utilisateur est “oli44” et le nom complet “Henri Oliver”. Avec votre composant de thème, il affiche maintenant “Henri Oliver”, ce qui est excellent et ajoute un meilleur contexte. Mais ensuite, disons que je suis un autre utilisateur qui ne sait pas que “Henri Oliver” est connu sous le nom d’utilisateur “oli44”, comment puis-je le mentionner dans mon message ?
Je vais rechercher “Henri Oliver” et je verrai en effet “oli44”, mais comment puis-je savoir que c’est la personne réelle ?
Pour cette raison, tel quel, je ne l’activerai pas pour le moment. Connaissez-vous éventuellement un autre composant de thème/plugin qui résoudrait ce problème ? J’ai essayé de chercher mais je n’ai rien trouvé.
Ou peut-être y a-t-il un moyen pour que votre composant de thème affiche toujours le nom d’utilisateur (par exemple : @Henri Oliver (oli44)) afin que lorsque j’ai besoin de mentionner cette personne, je sache quoi rechercher (?)
Il y aura une requête ajax par mention vers le serveur.
Cela pourrait-il entraîner une limitation dans les pages contenant de nombreux noms d’utilisateur (comme les annuaires d’utilisateurs fournis par l’utilisateur) ?
La traduction mise en cache du nom d’utilisateur vers le nom complet ne reconnaîtra pas les changements de nom complet. Quelle est la durée de vie de ce cache ?
Je me demande si les informations nécessaires (nom d’utilisateur → nom complet) pourraient être fournies via un plugin compagnon, ce qui rendrait ces problèmes obsolètes.
Les requêtes Ajax étaient-elles obligatoires si nous voulions nous en tenir à un composant de thème ?
Si tel est le cas, je vous invite à créer un nouveau sujet Plugin, si vous considérez que votre travail est suffisamment fiable pour être utilisé par d’autres
Je ne suis pas autorisé à écrire dans cette catégorie…
Je ne sais pas. Comme je ne fais que me pencher sur le développement de plugins / composants, j’ai choisi de collecter ces deux hacks, pour obtenir le comportement souhaité.
Mais peut-être que d’autres aimeraient se joindre pour l’améliorer.
Vous venez de publier ceci et je viens d’installer le plugin de l’auteur original juste au moment où vous avez posté. Le fait est que j’ai remarqué que le plugin de l’auteur original ne prend pas en charge les noms complets pour les groupes. Cependant, il semble que vous ayez ajouté des groupes. Si c’est le cas, félicitations ! Votre plugin mérite son propre fil de discussion compte tenu de ce que vous avez activé !
Peut-être que je ne fais pas quelque chose correctement, mais j’ai activé votre composant de thème et votre plugin et je ne vois plus le nom complet dans les mentions.
Merci ! Je l’ai fait maintenant. La recherche de groupes serait-elle également possible ? J’ai mon groupe trust_level_0 nommé everyone. Si le plugin pouvait également utiliser le nom complet pour les mentions de groupe, ce serait un moyen intéressant de faire ressembler les mentions globales trust_level_0 à une mention everyone.
Étant donné que le plugin inclut les informations lors du rebâtissage des messages. Sachez que si l’utilisateur met à jour le nom complet, il ne sera pas mis à jour dans le message à moins que le message ne soit rebâti.
Je dois mettre à jour quelques éléments dans ce composant de thème. La suppression des appels Ajax est maintenant possible si le statut de l’utilisateur est activé.
Cela fonctionne la plupart du temps. Je ne suis pas sûr pourquoi, mais même si j’ai renommé le niveau de confiance 0 en tout le monde, cela ne lui applique pas le label.
EDIT : Ah, parce que la colonne full_name dans la table groups ne contient pas la valeur du nom complet modifié des groupes de niveaux de confiance ! En vérifiant l’explorateur de données, elle est nulle. Hmm ?
D’après l’image ci-dessus, il semble que vous ayez modifié les entrées i18n pour trust_level_0.
Essayez Group.find(10).update! full_name: \"TESTTEST\" dans la console Rails.
Cela pourrait avoir des effets secondaires, étant donné que la modification des noms complets des groupes intégrés n’est pas autorisée dans l’interface utilisateur.
En effet. J’ai essayé cela et cela a fonctionné sans impact majeur. Existe-t-il un moyen d’intégrer des groupes sans avoir à utiliser le plugin et uniquement le composant de thème ? C’est en fait préférable pour moi car je n’aime pas avoir à utiliser des outils externes si je peux l’éviter.