Per impostazione predefinita, l’impostazione di chiusura automatica su una categoria si applica solo ai topic di nuova creazione.
I topic esistenti non vengono chiusi automaticamente non appena si salva l’impostazione. Rimarranno aperti a meno che non si applichi esplicitamente la chiusura automatica ad essi.
Esiste uno script dedicato (rake topics:apply_autoclose) che può essere eseguito tramite la console del server per applicare il timer di chiusura automatica ai topic esistenti. Questo script chiude silenziosamente i topic idonei (quelli abbastanza vecchi, in base all’impostazione), riducendo al minimo le notifiche.
L’applicazione dell’impostazione a tutti i vecchi topic contemporaneamente utilizzando lo script è un’operazione in background. Se si dispone di una community molto numerosa e di molti topic vecchi, potrebbe essere necessario del tempo, ma viene eseguita lato server. L’impatto sulle prestazioni varia a seconda dell’hosting e del numero di topic, ma il rake task è progettato per azioni di massa e non dovrebbe influire gravemente sui siti Discourse sani e ben configurati.
La discussione in merito è qui:
La modifica dell’ora di chiusura automatica NON riapre i topic già chiusi (cioè, la chiusura non viene annullata).
Non esiste un’opzione nell’interfaccia utente integrata per riaprire in massa i topic chiusi.
Tuttavia, è possibile utilizzare uno script o un comando della console Rails per riaprire i topic in massa.
Topic.where(closed: true).where("created_at < 'your_date'").find_each do |topic|
topic.update_status('closed', false, Discourse.system_user)
end