Full name @mentions

I am not against experimenting with adding a tiny avatar, but I would like to see the experiment in a plugin first. It is pretty straightforward to add.

9 лайков

I agree that option (perhaps as global setting) to display mention as @sam OR as Sam Saffron would be really great.
With the same formatting as mentions now have, but displaying full name instead of @handle

@codinghorror @sam

So, you guys allow for SSO logins, presumably to allow for companies, anong other entities who maintain master employee/user lists to login with ease.

The issue I’m running into here is this. We have 4500 employees. Most don’t know each other. While tagging by typing name in works perfectly fine, the username displayed is a 5 digit employee #. So now all people see is comeone tagging a 5 digit #

Can you guys write/enable a user option that simply displays the Full Name field in lieu of @username please!

You allow a user option to select the Full Name displayed first in a thread reply with username to the right. A simple visual switch.

I totally get the purpose of using a “twitter” tagging model, but it is severely aggravating for large professional/educational institutions to use. Please, please make an option available. In any means.

It’s not even in a paid hosted/supported version, so you’re missing out there on revenue for large organizations who might otherwise use this.

In my case, I’m trying to “sell” it to my board to adopt discourse. I’m sure they won’t like this missing capibility

6 лайков

Who decided the username had to be a 5 digit number? That’s a bad decision.

3 лайка

It’s quite common from what I have seen in larger organisations to have their AD logon use their payroll or ID number in order to logon rather than names. Not necessarily 5 numbers however. For example my last organisation my login was B3293016 - would be difficult to distinguish who that is if they then used SSO to check against that login and use it for discourse username and mentions.

9 лайков

What @mikechristopher said. The 5 did fit # is our employee I’d. Technically it’s 6, but the zero at the beginning is left off as we haven’t reached numbers greater than 100,000.

Bottom line, again having the feature I described will give corporate/enterprise clients a lot better usability.

Had you not integrated SSO, I’d understand being reluctant to allow full name tags vs username. But you made SSO available, this is a logical next step enhancement

5 лайков

I am not against adding this kind of option, but at the moment none of our paying customers need it so I cannot prioritize it.

I would probably recommend building this as a plugin first, this is something I would consider building if an enterprise customer funded it.

9 лайков

@mcwumbly have you had any luck with the CSS route?

Haven’t tried it, sorry. Just threw out the idea, but this isn’t something I’ve felt the need to explore too deeply personally.

2 лайка

Just to beat this dead horse a bit more, one of the barriers we’re having in our group is that people get super easily confused by the usernames. So right now, they have no problems making mentions, but when reading, they often don’t know who the mentioned person is. As such, in our use case, @cpradio (Jim Smith) would be ideal. The user would type in the @mention (let’s say @cpradio) and it automatically turns into @cpradio (Jim Smith) for others to read.

This would be just like the username mentions by each of our posts.

3 лайка

Есть ли какие-то подвижки? Утомительно каждый раз кликать на имя пользователя, чтобы понять, кто это на самом деле. Переход из групп Facebook в Discourse становится болью, когда по умолчанию не отображаются полные имена. Я не думаю, что уникальность — это действительно та проблема, о которой думают люди, судя по предыдущим комментариям, так как, как уже было сказано, можно использовать карточки пользователей для различия, если это необходимо. Я уже изменил настройки сайта, чтобы в пользовательском опыте приоритет отдавался полным именам…

4 лайка

Я написал простой скрипт, который делает это. Я поместил его в компонент в секцию , и он работает. Его, конечно, можно улучшить, но вот он.

<script type="text/discourse-plugin" version="0.1">
    var decorateAtMentions = function($post) {
        $post.find("a.mention").each(function() {
            var $elem = $(this);
            var username = $elem.text().substr(1);
            
            var data = Discourse.User.findByUsername(username).then(function(user) {
                var avatarurl = user.avatar_template.replace("{size}", 18);
                var realname = user.name;
                $elem.before("<img src='"+avatarurl+"' title='"+realname+"'>");
                $elem.attr("title", realname);
                $elem.after("["+realname+"]");
            });
        })
    }
    api.decorateCooked(decorateAtMentions, {id: 'decorate-at-mentions'});
</script>

Атрибут title в теге img может стать проблемой, если имя содержит одинарную кавычку, поэтому это нужно сделать «правильным» способом (я, пожалуй, уберу его, так как он мне не очень нравится).

Я хотел изменить текст ссылки, вместо того чтобы добавлять настоящее имя в конец, но, к сожалению, это ломает обработчик клика для карточки пользователя (поскольку она, судя по всему, полагается на текст упоминания для загрузки имени), а я не хотел углубляться в эту кроличью нору.

5 лайков

Звучит отлично. Для новичка у вас есть пошаговое руководство о том, как именно добавить это в мой экземпляр Discourse? :slight_smile:

Уже есть руководство, пожалуйста, прочитайте его:

и создайте свой первый компонент темы.

2 лайка

@nachof Я нашёл способ заставить это работать: Use fullnames for mentions · GitHub, переопределив _show() в component:user-card-contents. Я предполагаю, что ведущее нижнее подчёркивание означает, что, вероятно, мы не должны его переопределять? Но, похоже, это работает:

Возможно, нужна точка входа для опционального получения имени пользователя из $target? В любом случае, для меня это было блокирующей проблемой при развёртывании в моём более широком сообществе. Пора двигаться вперёд :smiley:

8 лайков

Это потрясающе! Я не разработчик программного обеспечения, поэтому не смогла понять, как добавить то, что вы создали, на свой сайт Discourse. Я попыталась использовать этот URL для установки через репозиторий git, но система спросила, уверен ли я, что это тема для Discourse. Какие шаги мне нужно предпринять?

Вам нужно создать новый компонент темы из UX и вставить этот код в часть head tag темы.

1 лайк

Извините, что снова поднимаю старую тему, но я установил всё правильно, а карточки пользователей всё равно не отображаются. Есть ли какое-то решение, учитывая, что это произошло два года назад?
Я понимаю, что у вас мало шансов потратить время на перепрограммирование, но, возможно, кто-то из сообщества сможет помочь.

1 лайк

Честно говоря, я всё ещё немного запутался в этих инструкциях. Ваша помощь по ссылке What makes a successful volunteer Discourse sysadmin? очень полезна, но я пока не нашёл того самого волонтёра.

Тем временем, @jessicah, вы всё ещё на связи, чтобы, возможно, превратить это в компонент темы, опубликованный в #theme-component? Или кто-то другой сможет создать рабочий компонент темы?

2 лайка

Привет, @debryc и @OverseersMight,
Если вы всё ещё заинтересованы :slightly_smiling_face:

6 лайков