Ho aggiornato il nostro sito ieri e ho appena notato che un utente non appartenente allo staff ha applicato il tag ‘in evidenza’ al suo post. Questo non dovrebbe essere possibile, poiché è definito come un tag riservato allo staff. Quando ho impersonato l’utente, ho effettivamente potuto accedere ai tag riservati durante la pubblicazione. Ho provato a riprodurre il problema qui su meta, ma credo che i tag non siano disponibili per gli utenti normali?
Ho provato a riprodurre il problema sul mio sito di sviluppo locale, ma finora non ci sono riuscito. Sai se il problema si verifica in tutte le categorie del tuo sito o solo in una categoria specifica in cui gli utenti non membri dello staff possono aggiungere tag per lo staff? Qualsiasi suggerimento su come riprodurre il problema sarebbe utile.
Ok, approfondirò per capire cosa sta succedendo e ti farò sapere. Potrebbe richiedere un po’ di tempo.
Ok, ho fatto dei test con un utente TL-0 e uno TL-1 in modalità provvisoria e riesco ad accedere al tag staff per ogni categoria del nostro forum. Lo stesso vale per gli altri tag presenti nella nostra lista riservata allo staff. Ho anche reimpostato le autorizzazioni del gruppo tag ‘solo per lo staff’ su ‘i tag possono essere usati da tutti’ e poi di nuovo su ‘solo i seguenti gruppi possono usarli’, ma non ha fatto alcuna differenza. C’è qualcos’altro che potrei testare?
Hai definito altri gruppi di tag, o lo screenshot sopra è l’unico gruppo presente sul tuo sito? Gli utenti con cui hai testato questa funzionalità fanno parte di altri gruppi?
È possibile creare più gruppi di tag con regole contraddittorie. Se un utente ha il permesso di utilizzare un tag in qualsiasi gruppo di tag, questo annulla le regole di qualsiasi altro gruppo che gli impediscono di utilizzarlo.
Quando dici ‘accedere’, intendi che puoi aggiungerli ai topic, o che puoi visualizzarli e cliccarci sopra, ecc.?
I tag nel tuo gruppo di tag ‘Staff Tags’ (ba-tips, cant-reproduce, featured, ecc.) possono essere aggiunti ai topic solo dagli utenti appartenenti al gruppo staff, ma sono visibili a tutti. Questo significa che chiunque può vedere quei tag in alto nei topic, cliccarci sopra per vedere altri topic contrassegnati con quello stesso tag, ecc.
Se un utente TL0 riesce ad aggiungere un tag di ‘Staff Tags’ (ad esempio ‘ba-tips’) a un topic, si tratta di un problema. Ho ricreato i tag e i gruppi di tag come mostrato nelle tue screenshot sulla mia istanza locale di Discourse (limitando i tag in ogni gruppo ai primi tre presenti in ciascuno degli screenshot sopra), e i miei utenti TL0/TL1 non riescono ad aggiungere ‘ba-tips’ a un topic tramite il pulsante ‘Nuovo topic’, né creando un topic e poi modificandolo. Riesci ad aggiungere i tag tramite un metodo o un percorso UI diverso?
Grazie per la risposta, Jamie. Scusa se non sono stato abbastanza specifico. Ho appena aggiornato all’ultima versione e ho eseguito di nuovo il test, ottenendo lo stesso risultato. Ecco i passaggi per riprodurre il problema:
- Accedi come utente TL0 o TL1
- Passa alla modalità sicura e disattiva tutto
- Seleziona una qualsiasi categoria
- Crea un nuovo argomento
- Seleziona il tag “In evidenza”, riservato allo staff
- Clicca su “Crea argomento”
- Il post viene creato e il tag “In evidenza” viene aggiunto
Ho appena visto qualcos’altro che potrebbe essere correlato: non riesco più ad accedere alle rotte tag.json, come questa:
Aggiornamento: ops, niente, sembra che /tags/ sia stato rinominato in /tag/, il che ha rotto alcune delle nostre automazioni.
Purtroppo, sto ancora avendo difficoltà a creare un caso di test per questo problema. Ecco i passaggi che ho seguito:
- Ho creato un nuovo sito al commit: 6490fac881
- Ho creato l’utente amministratore: jamie.wilson
- Ho abilitato l’impostazione del sito: tagging enabled
- Ho creato i seguenti tag:
360-renders
add-ons
advertisement
conference
contest
meetup
no-ads
promotion-offered
ba-tips
cant-reproduce
featured - Ho creato i gruppi di tag, come mostrato negli screenshot forniti (con non più di 3 tag per gruppo ai fini del debug)
- Ho creato la categoria ‘Eventi’, impostando il valore ‘Eventi’ per ‘Restringe questi gruppi di tag a questa categoria’
- L’utente amministratore ha creato un argomento nella categoria ‘Feedback sul sito’ con il tag ‘ba-tips’ del gruppo staff.
- Ho disconnesso l’utente amministratore
- Ho creato un nuovo utente (attivato tramite link email): normal.user
- Come normal.user, ho creato un nuovo argomento in ‘Non categorizzato’ o ‘Feedback sul sito’. Tag disponibili: 360-renders, add-ons, advertisement
- Ho creato un nuovo argomento in ‘Eventi’. Tag disponibili: conference, contest, meetup
(non mostrato)
- L’utente amministratore può aggiungere tag limitati al post di normal.user:
- L’utente amministratore può vedere tutti e tre i tag:
- normal.user può vedere solo due tag:
DiscourseTagging.permitted_tag_names(Guardian.new(User.find_by_username('normal.user')))
["360-renders", "add-ons", "advertisement", "conference", "contest", "meetup"]
DiscourseTagging.hidden_tag_names(Guardian.new(User.find_by_username('normal.user')))
["no-ads", "promotion-offered"]
Forse qualcun altro riesce a riprodurre il problema? Al momento non ci riesco.
Credo di aver individuato il problema: #featured era presente sia nell’elenco riservato allo staff che nella nostra lista di ‘tag comuni’. Non sono sicuro di come sia finito lì, dovrò verificare le autorizzazioni dello staff per vedere se è stato creato in qualche modo. Scusa per il tempo perso, ma apprezzo moltissimo il tuo supporto! ![]()
Non è un problema! Sono contento che sia stata individuata la causa principale e che ora possiamo tutti sentirsi un po’ più sicuri che la nuova funzionalità funzioni come previsto.
Spero che ti sia utile per te e per il tuo sito ora che i problemi di configurazione sono stati risolti. Fammi sapere come va.











