Sul forum che gestiamo, sebbene concediamo molta libertà sul nome utente, abbiamo richiesto (nei termini di utilizzo) che gli utenti forniscano i loro nomi completi e non li cambino se non per riflettere cambi di nome legali. Non abbiamo ancora molti utenti (meno di 250), ma già alcune persone iniziano a non rispettare questa regola. Pertanto, abbiamo bisogno di un modo per farla rispettare.
In breve, abbiamo bisogno che un nome completo possa essere modificato solo da un moderatore o da un amministratore dopo che l’account è stato approvato. C’è un modo per ottenere questo in Discourse? Ho consultato la documentazione senza successo.
Se non è possibile, questa funzionalità potrebbe essere aggiunta al codice?
Una soluzione semplice ma evitabile è nascondere il pulsante di modifica con CSS. Le persone intelligenti potrebbero comunque modificarlo. Per garantire che rimanga, avresti bisogno di un plugin o forse di SSO.
Sembra che il plugin non esista, ma la soluzione alternativa CSS consiste semplicemente nell’ispezionare da Firefox o Chrome, fare clic sulla casella che si desidera nascondere e modificare il CSS nel tema:
Penso che l’opzione più forte qui sia utilizzare un provider di autenticazione esterno (OAuth, qualunque cosa) con l’opzione “auth overrides username”:
Sostituisce il nome completo locale con il nome completo del sito esterno ad ogni accesso e impedisce modifiche locali. Si applica a tutti i provider di autenticazione.
Questo farà il trucco ma includere servizi di terze parti, non è un buon affare per molti di noi che vanno bene nel lasciare che gli utenti scelgano il proprio provider di posta elettronica.
Per “esterno”, non intendo “di terze parti” ma piuttosto “esterno a Discourse”. Potresti usare una soluzione di terze parti o potresti gestirla tu stesso.
La fiducia in noi stessi è diversa dalla fiducia nel team principale di Discourse, sono professionisti di prim’ordine che hanno costruito l’intera struttura.
Il mio punto è che la tua soluzione più forte non è la più elegante, che dovrebbe essere disabilitare l’opzione da un interruttore.
Ciao,
Grazie per il suggerimento, ma purtroppo al momento non è un’opzione. Non abbiamo un SSO centrale e la sua gestione è molto più di quanto io voglia affrontare!
Attualmente, la manomissione del CSS è probabilmente il massimo a cui posso arrivare. Quello che gestisco è un forum di club, con tutti i membri identificati, e forzare questa modifica nonostante sia semplicemente disabilitata (e vietata dalle regole) causerebbe la conversione dell’account dell’utente in sola lettura o la sua completa disabilitazione.
Grazie @satonotdead per i link che hai fornito, consulterò questo contenuto e vedrò se riesco a gestire facilmente la modifica. A lungo termine, quando avrò tempo (potrei dover aspettare 15+ anni fino alla pensione per questo ), potrei scegliere di investire nella scrittura di un plug-in…
Potrebbe effettivamente funzionare, ma voglio comunque che appaia accanto al nome utente come specificato attualmente per il nome completo.
Per ora, nascondere la sezione del nome completo dalla sezione di aggiornamento del profilo dell’utente sarà una soluzione temporanea accettabile. Posso ancora gestire le eccezioni provenienti da utenti troppo curiosi per il loro bene.
Ancora non capisco perché sembri essere un problema avere questa opzione di blocco nel prodotto base come ce l’abbiamo per il nome utente… sembra molto dogmatico.
[MODALITÀ PROVOCAZIONE ATTIVA]
Un po’ come non accettare di consentire le firme degli utenti perché è per il nostro bene.
[MODALITÀ PROVOCAZIONE DISATTIVATA]
Ho dato un’occhiata; nascondere il campo con l’API è possibile, ma non riesco a trovare dati su cui poter fare affidamento per sapere se quell’utente è approvato o meno (nel contesto della pagina delle preferenze)
Questo è quello che ho per ora.
Non sono sicuro se dovrei sentirmi in colpa; forse un po’ hacky qui.
js
<script type="text/discourse-plugin" version="0.8">
const { setting } = require("discourse/lib/computed");
api.modifyClass("controller:preferences/account", {
pluginId: "hide-name-in-preferences",
get canEditName() {
const enables_name = setting("enable_names");
if (enables_name && this.isCurrentUser && !this.model.staff) {
if (this.model.name) {
// Hide only the input field (name is displayed)
this.model.can_edit_name = false;
} else {
// Hide the whole section
return false;
}
}
return enables_name;
},
});
</script>
Non è un problema o un dogma, la maggior parte delle nostre funzionalità viene prioritizzata in base alla domanda e non c’è stata molta richiesta per questa.
Grazie @Arkshine, questo sembra molto simile a ciò di cui ho bisogno. Dovrò solo approfondire come includerlo nel mio ambiente , ma probabilmente lo avrò incluso entro questo fine settimana.
Grazie, posso capire le priorità, anche se il meccanismo globale è già presente e, per quanto ho potuto vedere, è stato richiesto più volte dagli utenti. Se la patch è davvero semplice come quella che Arshkine ha appena fornito, mi sembra che sia stata una scelta consapevole di NON concedere la stessa “cortesia” a questo campo come è stato fatto per gli altri.
Non fraintendermi, questo è un meraviglioso pezzo di software che è stato sviluppato qui. Per quanto posso dire dal forum che aiuto ad amministrare, sembra funzionare senza intoppi, e so quanto sia difficile. Semplicemente non sono d’accordo con tutte le decisioni prese, e considero alcune delle giustificazioni fornite a volte dogmatiche o autoritarie. Questo non gli impedisce di essere il migliore disponibile oggi.
Un componente del tema può essere aggirato utilizzando la modalità sicura o modificando altro nel browser.
Principalmente, lo sviluppo è guidato da persone che sono ospitate con CDCK/Discourse.org, poiché è da lì che provengono i soldi. A volte vengono aggiunte funzionalità se molte persone desiderano/hanno bisogno di una funzionalità, ma se quelle persone non pagano denaro a CDCK, deve essere un numero molto elevato, o una funzionalità che sembra che molti clienti paganti saranno felici di avere. Nota, non lavoro per loro, quindi questa è solo la mia osservazione degli ultimi (quasi 8) anni.
Speculando: Non mi sorprenderei se la maggior parte delle persone che lo desiderano e sono clienti paganti avessero già un SSO di qualche tipo. Quindi diventa ancora più una funzionalità di nicchia per tutti gli altri.
Non sembra che stiate facendo nulla per autenticare il nome completo fornito dai vostri utenti al momento dell’iscrizione. Quindi, se lo cambiano da Bob Jones a Sam Smith, come fate a sapere che uno dei due nomi è loro?