Discourse Mostra Nome Completo nelle Menzioni

|||
|-|-|-|
| :eyeglasses:|Anteprima| https://theme-creator.discourse.org/theme/megothss/discourse-show-name-mentions |
| :hammer_and_wrench:|Repository| GitHub - megothss/discourse-show-name-mentions: A discourse theme component to display the full name instead of usernames in @mentions |
| :question:|Guida all’installazione|Come installare un tema o un componente del tema|
| :open_book:|Nuovo ai temi di Discourse?| Guida per principianti all’uso dei temi di Discourse

Installa questo componente del tema

Un componente del tema per visualizzare il nome completo invece dei nomi utente nelle menzioni @.

Questo componente del tema carica il nome completo dell’utente e visualizza @nomecompleto invece di @nomeutente nelle menzioni.

Questo componente funziona semplicemente sostituendo il nome utente con il nome dell’utente (se disponibile) durante la visualizzazione dei post. Nulla cambia durante la modifica. Continui a taggare @nomeutente come sempre nella composizione.

Aggiunge anche la classe .mention-fullname all’elemento anchor a.mention se desideri stilizzare le menzioni del nome completo in modo distinto.

La visualizzazione della card quando si fa clic sulle menzioni @nomecompleto rimane completamente funzionale.

Caso d’uso:

Immagina un’istanza di Discourse in cui ogni nome utente segue il modello X9999999 (una lettera e sette numeri). Immagina ora che ci siano 100.000 utenti registrati.

Non molto amichevole, vero? Sfortunatamente, questo è uno scenario molto reale e non immaginario. L’istanza di Discourse è collegata all’SSO e tutti i nomi utente seguono le policy aziendali.

È molto meglio in questo caso leggere @John Doe invece di @X9999999.

Impostazioni:

  • show_fullname_in_mentions: Se abilitato, le menzioni @ mostreranno il @nomecompleto invece del @nomeutente
17 Mi Piace

Ciao Sérgio, grazie per il componente del tema!

Ho provato ma dopo aver sperimentato ho visto che crea qualche incoerenza dal punto di vista dell’esperienza utente.

Ecco cosa succede: ho questo utente il cui nome utente è “oli44” e nome completo “Henri Oliver”. Con il tuo componente del tema ora visualizza “Henri Oliver”, il che è fantastico e aggiunge un contesto migliore. Ma poi, diciamo che sono un altro utente che non sa che “Henri Oliver” è conosciuto con il nome utente “oli44”, come posso menzionarlo nel mio post?

Cercherò “Henri Oliver” e vedrò effettivamente “oli44”, ma come posso sapere che è la persona reale?

Per questo motivo, così com’è, al momento non lo abiliterò. Conosci per caso un altro componente del tema/plugin che potrebbe risolvere questo problema? Ho provato a cercarne uno ma non ne ho trovati.

O forse c’è un modo in cui il tuo componente del tema potrebbe comunque mostrare il nome utente (ad esempio: @Henri Oliver (oli44)) in modo che quando ho bisogno di menzionare quella persona, so cosa cercare?

Grazie comunque per questa grande aggiunta.

3 Mi Piace

Basta digitare @ seguito da Henri Oliver. Dopo la conferma, @+nomeutente verrà inserito nel tuo post.

Quando si cerca, vengono visualizzati sia il nome utente che il nome completo.
Dov’è il problema?

Puoi personalizzare il rendering in un fork facilmente:

1 Mi Piace

Vedo due problemi:

Ci sarà una richiesta ajax per ogni menzione al server.
Potrebbe questo portare a limitazioni in pagine con molti nomi utente (come directory utente fornite dall’utente)?

La traduzione memorizzata nella cache da nome utente a nome completo non riconoscerà le modifiche al nome completo. Quanto dura questa cache?

Mi chiedo se le informazioni necessarie (nome utente → nome completo) potrebbero essere fornite tramite un plugin companion, il che renderebbe questi problemi obsoleti.

Dato che stavamo riscontrando i problemi previsti, ho creato un plugin che fornisce i nomi completi insieme alle menzioni:

Di conseguenza, la richiesta ajax è stata rimossa dal componente.

Ho anche aggiunto un’opzione per configurare il template utilizzato per il rendering delle menzioni:

2 Mi Piace

Le richieste ajax erano obbligatorie se volevamo attenerci a un componente del tema?

Se questo è il caso, ti invito a creare un nuovo argomento Plugin, se consideri il tuo lavoro abbastanza affidabile da essere utilizzato da altri :slight_smile:

Non mi è permesso scrivere in quella categoria…

Non lo so. Dato che sto solo approfondendo lo sviluppo di plugin/componenti, ho scelto di raccogliere questi due hack per ottenere il comportamento desiderato.

Ma forse altri vorranno unirsi per perfezionarlo.

1 Mi Piace

Devi richiedere l’accesso sulla pagina del gruppo :slight_smile:

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

1 Mi Piace

Hai appena pubblicato questo e ho appena installato il plugin dell’autore originale non appena hai pubblicato. Il fatto è che ho notato che il plugin dell’autore originale non supporta i nomi completi per i gruppi. Tuttavia, sembra che tu abbia aggiunto i gruppi. Se è così, congratulazioni! Il tuo plugin merita un thread dedicato dato ciò che hai abilitato!

Forse non sto facendo qualcosa di giusto, ma ho abilitato il tuo componente tema e plugin e non vedo più il nome completo nelle menzioni.

Hai ripubblicato i tuoi post?

1 Mi Piace

Grazie! Ora l’ho fatto. Sarebbe anche possibile cercare gruppi? Ho il mio gruppo trust_level_0 chiamato everyone. Se il plugin potesse anche usare il nome completo per le menzioni di gruppo, questo sarebbe un modo interessante per far apparire le menzioni globali trust_level_0 come una menzione everyone.

Ora lo fa (devi aggiornare anche il componente).

Sfortunatamente, il link del nome del gruppo non aprirà il gruppo quando cliccato.

1 Mi Piace

Poiché il plugin include le informazioni durante la rigenerazione dei post. Tieni presente che se l’utente aggiorna il nome completo, questo non verrà aggiornato nel post a meno che il post non venga rigenerato.

Devo aggiornare alcune cose in questo componente tematico. La rimozione delle chiamate Ajax ora è possibile se lo stato dell’utente è abilitato.

Proverò a farlo presto.

2 Mi Piace

Esatto. Dovrebbe monitorare le modifiche ai nomi di utenti e gruppi:

2 Mi Piace

Il rifacimento è costoso. Questo può essere problematico in alcune community, a seconda della frequenza con cui gli utenti cambiano nome.

Tieni presente questo.

1 Mi Piace

Grazie. Nella nostra comunità scolastica più formale i nomi non cambieranno frequentemente.

In linea di principio, i nomi potrebbero essere aggiunti durante la spedizione di contenuti già pronti. Sembra che tu preferiresti questa strada?

Funziona per la maggior parte. Non sono sicuro del perché, ma anche se ho rinominato il livello di fiducia 0 in tutti, non applica l’etichetta.


Tuttavia, i gruppi non di livello di fiducia funzionano tutti e visualizzano i loro nomi completi.

MODIFICA: Ah, perché la colonna full_name nella tabella groups non contiene il valore del nome completo modificato dei gruppi di livello di fiducia! Controllando data explorer, è null. Hmm?

Dalla foto sopra, sembra che tu abbia modificato le voci i18n per trust_level_0.

Prova Group.find(10).update! full_name: \"TESTTEST\" nella console rails.

Questo potrebbe avere effetti collaterali, considerando che la modifica dei nomi completi dei gruppi predefiniti non è consentita nell’interfaccia utente.

Infatti. Ho provato questo e ha funzionato senza alcun impatto serio. Esiste un modo per incorporare gruppi senza dover utilizzare il plugin e utilizzando solo il componente del tema? In realtà è preferibile per me dato che non mi piace fare “raking” se posso evitarlo.