Abbiamo un certo numero di vecchi gruppi sul nostro sito che non hanno messaggi nella loro casella di posta o archivio, ma sono ancora visibili nella barra laterale e su /my/messages.
Questi vecchi gruppi.. Mi chiedo se modifichi il gruppo e cambi\n\n"Chi può inviare messaggi a questo gruppo?" In Nessuno?\n\n\nO questi vecchi gruppi richiedono ancora una casella di posta elettronica di gruppo?
Sembra decisamente un bug. Se impostata su nessuno, la casella di posta del gruppo, a mio parere, non dovrebbe essere visibile.
Immagino che una soluzione alternativa possa essere quella di utilizzare il Theme component per aggiungere gruppi come classi e quindi utilizzare ciascuna classe di gruppo per impostare display none sulle caselle di posta dei gruppi impostate su nessuno. Dico di usare classi di gruppo perché immagino che se si utilizzasse il CSS per nasconderle in generale, ciò potrebbe anche nascondere la casella di posta del gruppo dei moderatori.
Quei vecchi gruppi contenevano precedentemente messaggi? Ho un gruppo sul mio sito personale che conteneva un solo messaggio e la casella di posta appare nella barra laterale. Ho appena eliminato il messaggio e la casella di posta del gruppo è ancora visibile.
Il messaggio eliminato non viene più visualizzato nelle caselle di posta, nemmeno per me come amministratore. Sono riuscito a tornare indietro tramite la cronologia del browser e a vedere che esiste ancora come messaggio eliminato. Ho provato a rimuovere il gruppo e non mi è stato permesso. L’ho ripristinato e ho rimosso il gruppo. Poi ho eliminato il messaggio per sicurezza.
La casella di posta è ancora visibile, quindi sospetto che ci sia ancora qualche altro messaggio eliminato in quella casella di posta del gruppo.
Quindi sì, c’è qualche bug qui, secondo me, se gli unici messaggi in una casella di posta di gruppo sono eliminati, allora la casella di posta del gruppo non dovrebbe apparire nella barra laterale.
L’unica soluzione al momento, secondo me, è eliminare il gruppo e ricrearlo.
Sarebbe interessante usare il data explorer per ottenere l’ID del post di eventuali messaggi eliminati in una casella di posta di gruppo per confermare la mia teoria e dare un’occhiata a quei post.
Ho eseguito il processo di coerenza del database, ma le caselle di posta sono ancora presenti. Sono un utente amministratore sul sito, se ciò fa differenza. Ma dovrebbero scomparire poiché sono vuote: latest, new, unread, archive non hanno messaggi.
Questa query dell’esploratore di dati restituisce argomenti?
-- [params]
-- group_id :inboxgroup
SELECT tg.topic_id, t.id AS topic_exists, t.deleted_at
FROM topic_allowed_groups tg
LEFT JOIN topics t ON t.id = tg.topic_id
WHERE tg.group_id = :inboxgroup
AND (
t.deleted_at IS NULL
OR t.id IS NULL
)
Dovrebbe visualizzare argomenti solo se la casella di posta è visibile.
Ho già trovato un modo affinché ciò accada anche se la casella di posta è vuota:
Dopo che un messaggio inviato a quel gruppo viene trasformato in un argomento pubblico.
Quindi:
Creare un nuovo gruppo
Consentire almeno agli amministratori di inviare messaggi al gruppo
Aggiungere un membro al gruppo per verificare se la casella di posta è visibile
Inviare un messaggio al gruppo
Utilizzare l’opzione “rendi argomento pubblico” nel menu della chiave inglese dell’amministratore
La casella di posta è vuota ma anche dopo l’esecuzione del processo di coerenza del database la casella di posta non scompare
E in questo caso la query di esplorazione dati sopra restituisce quell’argomento