Campi utente nascosti

:information_source: Riepilogo Crea campi utente visibili solo a gruppi specifici
:hammer_and_wrench: Repository discourse-hidden-user-fields
:question: Guida all’installazione Come installare un tema o un componente tema
:open_book: Nuovo ai temi di Discourse? Guida per principianti all’uso dei temi di Discourse

← Fill in “repoName” and “repoURL” for the automatic install button →

Install this theme component

Descrizione dettagliata

:warning: Usare cautela con dati sensibili in questi campi. I campi non sono presenti nel sorgente, ma potrebbero essere visibili se qualcosa dovesse andare storto :warning:

Ho due utenti, derek_test (a sinistra) e anon9 (a destra). I campi ID e Azienda sono entrambi popolati nei loro profili, ma solo uno è visibile all’altro. derek_test può vedere ID e anon9 può vedere Azienda.

Profili utente

Carte utente

Ricerca

In questo caso, anon9 (a destra) può vedere l’azienda e cercare Acme.


Impostazioni

CleanShot 2025-11-13 at 16.17.43

  • Nome campo: inserire il nome del campo utente personalizzato (uno per oggetto)
  • Gruppi consentiti: Seleziona i gruppi consentiti dall’elenco

Prerequisiti

Questo sfrutta Campi utente personalizzati. Queste impostazioni determinano dove saranno visibili i campi:

:white_check_mark: Rivedi queste impostazioni una volta che i campi sono stati popolati o crea le autorizzazioni in anticipo, in modo che questi campi non vengano mai esposti.

6 Mi Piace

Cosa vedono gli utenti che non hanno effettuato l’accesso? Quindi, se il campo è visibile solo agli amministratori, mi aspetterei che gli utenti non potessero vederlo nemmeno dopo essersi disconnessi, corretto?


C’è un motivo per cui hai scelto il campo di testo per l’impostazione del gruppo invece di un group_list? È un po’ più comodo per inserire i gruppi perché puoi selezionarli invece di digitare il nome. Tuttavia, funziona con l’ID, quindi devi cambiare un po’ il codice. Ma funziona comunque anche se rinomini il gruppo.

1 Mi Piace

Ottima osservazione, l’ho appena aggiornato per tenerne conto. Posso confermare che gli utenti disconnessi non vedono il campo.

Sarò onesto e dirò che l’ho fatto con Claude Code, ma ha detto che il tipo group_list non è disponibile in un editor di oggetti, solo come impostazione di primo livello.

Quindi dovrebbe essere qualcosa del genere, ma un numero fisso di campi disponibili

CleanShot 2025-11-13 at 13.12.21

1 Mi Piace

È interessante. Basandomi sulla documentazione, mi aspettavo che supportasse qualcosa del genere.

2 Mi Piace

Grazie per averlo segnalato! Sono riuscito a modificare le impostazioni del gruppo in base a quella documentazione!

Aggiornerò i dettagli sopra per riflettere la modifica.

2 Mi Piace

Huh.. Sebbene le impostazioni nell’editor di oggetti abbiano accettato list_type:group, non sono riuscito a superare un errore:

CleanShot 2025-11-13 at 13.52.29

Ho provato alcune trasformazioni diverse ma non sono riuscito a procedere. Il verdetto è che “Il tipo groups negli schemi degli oggetti è documentato ma l’interfaccia utente non è implementata nel frontend”.

2 Mi Piace

Ho visto anch’io quell’errore, ma dopo aver usato il pulsante di reset per reimpostare tutte le impostazioni dell’oggetto, l’errore non si è ripresentato :woman_shrugging:

Quindi ora tutto a posto
Screenshot_20251113_195748_Firefox

Forse non gli è piaciuto cambiare il tipo di impostazione su una configurazione esistente

2 Mi Piace

Penso che questo possa essere molto utile!

1 Mi Piace

Ciao, @putty!

Ho alcuni problemi con questo:

Devo nascondere i campi utente a tutti gli utenti che non fanno parte del gruppo Utente: sembra essere proprio questo il caso?

  1. Se l’utente stesso non è in questo gruppo, non può vedere questi campi nemmeno nel proprio account: va bene così?
  2. Gli altri utenti continueranno a non vedere i campi se non sono Amministratori o Moderatori!
  3. Tra l’altro, anche Moderatore e Amministratore dovrebbero essere in questo Gruppo per vedere i Campi nascosti da questo Tema.

Potresti aiutarmi con questo?

Ciao Alexey,

Puoi elaborare? Non vedo il problema. Attualmente ha 1 e 2. La tua richiesta è anche quella di nascondere i campi ai moderatori/amministratori? Per tua informazione, gli amministratori dovrebbero creare il campo inizialmente.

Ciao, grazie!

L’ho appena testato di nuovo sul mio repository GitHub locale più recente e sulla soluzione ospitata con l’ultima build: solo la categoria Admin è interessata e può vedere il campo Nascosto se è membro di un gruppo a cui è consentito visualizzare tale campo. Anche l’accesso Moderatore (come pensavo prima) non funziona.

Il caso:

  1. Due utenti, admin e Alex_1
  2. Gruppo utente L2_verified
  3. Campo utente - Nome completo (Per tutti gli utenti, tutto Attivo, solo ricercabile Disattivato)
  4. Entrambi gli utenti hanno nomi: Alex Admin e Alex
  5. Impostazioni tema:
    Includi componente su questi temi (Foundation, Horizon)
    Nome campo: Nome completo
    Gruppi consentiti: L2_verified

Risultati:

  1. Entrambi non sono membri di L2_verified: nessuno vede il campo Nome completo (nemmeno il proprio Nome completo)
  2. admin è membro di L2_verified: può vedere il Nome completo di Alex_1 (e il proprio Nome completo)
  3. Alex_1 è membro di L2_verified: non può vedere il proprio Nome completo nÊ quello di admin
  4. Quando ho concesso admin ad Alex_1, questo può vedere entrambi i Nomi completi: il proprio e quello di admin
1 Mi Piace

Quindi… Sembra che siamo a posto? haha :sweat_smile:

1 Mi Piace

La mia Antigravity con Gemini 3 Pro High ha trovato la causa principale:

Causa principale identificata: Il gruppo

L2_verified

esiste e

Alex_1

ne è membro, MA il Livello di Visibilità del gruppo è impostato su 4 (solo Staff/Proprietari).

A causa di questa impostazione restrittiva, Discourse non comunica al browser che

Alex_1

è un membro di questo gruppo (a meno che non sia anche Staff/Admin). Pertanto, il Componente Tema controlla l’elenco, non trova

L2_verified

e mantiene il campo nascosto.

Correzione:

  1. Vai su Gruppi → L2_verified → Gestisci → Interazione.

  2. Cambia Chi può vedere questo gruppo? in “Membri” o “Tutti”.

  3. Salva.

  4. Aggiorna come

    Alex_1
    

    (non amministratore). Ora dovrebbe funzionare!

Ma per ora non è una soluzione alternativa: la maggior parte dei nostri gruppi è nascosta a tutti :frowning:

Ciao @dereklputnam,

Grazie per questo fantastico componente! È una base fantastica per gestire la privacy degli utenti su Discourse.

Ho sviluppato un fork specializzato di visibilità bidirezionale (reciproca) basato sul tuo lavoro. Nella nostra comunità professionale, avevamo bisogno di un modello di “Fiducia Reciproca” in cui i membri verificati potessero vedere i nomi reali/dati aziendali degli altri, ma rimanessero completamente anonimi al pubblico generale o agli utenti non verificati.

Caratteristiche principali di questo fork:

  • Logica Reciproca: Un campo viene rivelato solo se sia chi visualizza sia il proprietario del profilo appartengono al gruppo autorizzato.

  • Supervisione dello Staff: Amministratori e moderatori mantengono la piena visibilitĂ  per motivi di sicurezza e moderazione.

  • AutovisibilitĂ : Gli utenti possono vedere sempre i propri campi nascosti, anche se non fanno ancora parte del gruppo autorizzato, in modo da poter gestire il proprio profilo.

  • Privacy Peer-to-Peer: Assicura che anche gli utenti verificati non rivelino la propria identitĂ  a qualcuno che non ha subito lo stesso livello di verifica.

Roadmap: Negli aggiornamenti futuri, ho intenzione di aggiungere impostazioni granulari per i gruppi per definire esattamente quali gruppi possono vedere ed essere visti (ad esempio, consentire al Gruppo A di vedere il Gruppo B, ma non viceversa).

Attualmente sto perfezionando la documentazione e prevedo di pubblicarla come variante autonoma di “Privacy Avanzata” in un argomento separato una volta ottenuto l’accesso completo alla categoria Componenti Tema.

Nel frattempo, se qualcuno necessita di questa logica bidirezionale, può trovarla qui: GitHub: https://github.com/AirVetra/discourse-hidden-user-fields-bidirectional

Grazie ancora per l’ispirazione!

1 Mi Piace