Conteggio accurato dei topic nell'elenco dei tag

Nella pagina tags, il numero di argomenti non è accurato. Infatti, include argomenti non visibili all’utente.

Ecco un esempio su meta:

Ho riscontrato questo problema utilizzando l’API. Nel mio plugin, ho bisogno di un conteggio esatto degli argomenti, quindi sono costretto a caricare ogni tag per contare gli argomenti visibili. Al momento sembra funzionare, ma è uno spreco di banda e temo che un giorno raggiungerò il limite di richieste API di Discourse.

C’è la possibilità che questo venga risolto?

Grazie.

2 Mi Piace

Tutti quelli sono in messaggi privati a cui non hai accesso.

Non è una correzione o qualcosa del genere (ovviamente), ma dato che si tratta di solo 4 casi presenti esclusivamente nei messaggi privati, non penso che serva questo tag specifico… quindi lo rimuovo.

1 Mi Piace

Se necessario, un altro esempio su Meta è il tag sass (numero di argomenti nell’elenco dei tag=2, numero di argomenti nella pagina del tag=1).

1 Mi Piace

Ho notato anche questo nel nostro forum. Il modo più semplice per ricrearlo è creare un nuovo argomento e un tag, poi eliminarlo: viene comunque contato.

2 Mi Piace

Un ulteriore fastidio minore causato da questo problema è che gli amministratori ricevono un messaggio di errore errato quando eliminano un tag vuoto.

Tag vuoto:

Messaggio di errore errato:

Puoi riprodurre questo @tshenry?

1 Mi Piace

Ok, sto riscrivendo la mia risposta perché sono abbastanza sicuro di aver capito tutto ciò che sta succedendo qui :slight_smile:

Come menziona @ninjapenguin, se hai un tag ed elimini tutti i topic a cui quel tag è applicato, il tag rimane elencato nella pagina dei tag e il conteggio non cambia. Credo che questo accada perché i topic esistono ancora tecnicamente e continuano a mantenere il tag.

@syl, se navighi nell’elenco dei topic del tag tete come mostrato nello screenshot e poi aggiungi

?status=deleted

alla fine dell’URL, dovresti vedere elencati due topic eliminati con il tag tete.

Il messaggio informativo nel tuo secondo screenshot corrisponde al numero di topic eliminati a cui è applicato il tag.


Penso che probabilmente non dovremmo tenere in considerazione i topic eliminati quando si contano/elencano i tag, ma potrebbe non essere una modifica super banale, dato come tutto è archiviato nel database. Cosa ne pensi @codinghorror?

2 Mi Piace

È corretto.

In un forum standard, penso che i topic cancellati spieghino la maggior parte delle discrepanze tra il conteggio dei topic visualizzato nell’elenco dei tag e il numero effettivo di topic che un utente può vedere all’interno di ciascun tag. Risolvere questo problema sarebbe già un grande passo avanti. Tuttavia, tieni presente che le discrepanze si verificano anche quando un utente non amministratore visualizza un tag contenente topic privati.

Questo non riesco a riprodurlo. Se ho un tag che è stato utilizzato solo in un messaggio privato o in un argomento in una categoria ristretta, un utente senza accesso a quegli argomenti non vede il tag incluso nell’elenco dei tag.

L’unico comportamento spiacevole che vedo al momento è quello che ho menzionato riguardo agli argomenti cancellati.

1 Mi Piace

Scusa per la confusione, mi riferivo al conteggio dei tag. Ecco come riprodurre il problema:

  1. Come amministratore, crea un argomento senza categoria e con un nuovo tag
  2. Come amministratore, crea un altro argomento con lo stesso tag e appartenente a una categoria limitata
  3. Come utente normale, vai al tag test-tag e verifica che puoi vedere solo un argomento
  4. Ma nell’elenco dei tag, il conteggio del tag mostra 2
1 Mi Piace

Ok, grazie, ora lo vedo.

Ho dato un’occhiata al codice e ho notato alcune cose.

  • Nella tabella tags ci sono due colonne che possono influenzare il conteggio dei tag: topic_count e pm_topic_count. Questi conteggi vengono incrementati/decrementati all’applicazione/rimozione del tag. Gli utenti non amministratori vedono solo il valore di topic_count.

  • Esiste un job di coerenza che viene eseguito ogni 12 ore e che aggiorna i conteggi dei tag in modo che non includano gli argomenti cancellati.

  • Non c’è nulla che regoli il conteggio in tempo reale in base all’accesso individuale di un utente agli argomenti.

In base a quanto osservo, non abbiamo un bug, ma solo una limitazione dovuta all’attuale implementazione. Credo che tutto ciò che è stato discusso qui rientri nella categoria “richiesta di funzionalità” e possa essere riassunto come:

Rendi dinamici i conteggi dei tag nella pagina dei tag in modo che riflettano ciò che un utente vedrà effettivamente quando naviga nell’elenco degli argomenti del tag.

1 Mi Piace

Grazie mille @tshenry. Sembra molto buono e potrebbe spiegare perché ho riscontrato il problema molto più frequentemente sulla mia istanza di sviluppo (forse il lavoro di coerenza non viene eseguito). Controllerò.

P.S.: al momento, il tag documentation qui su Meta ha un conteggio di 5, ma riesco a vedere solo 4 topic. Ricontrollerò tra 12 ore :slight_smile:

1 Mi Piace