Supongamos que tienes muchas publicaciones antiguas que calificarían para ser cerradas automáticamente una vez que actives esa configuración para una categoría. Cuando activas la configuración, digamos, para cerrar automáticamente las publicaciones después de 5 años sin actividad, ¿cuándo se cierran automáticamente todas esas publicaciones? ¿Tan pronto como haces clic en guardar? ¿O hay alguna limpieza automática que ocurre en segundo plano? ¿Es probable que eso cause problemas de rendimiento?
Y segunda pregunta, ¿las publicaciones que se cerraron automáticamente se vuelven a abrir si cambias el tiempo en la categoría? Supongo que no. También supongo que no hay una forma fácil a través de la interfaz de volver a abrir en bloque. ¿Es correcto?
Por defecto, la configuración de cierre automático en una categoría solo se aplica a los temas creados recientemente.
Los temas existentes no se cierran automáticamente tan pronto como guardas la configuración. Permanecerán abiertos a menos que les apliques explícitamente el cierre automático.
Hay un script dedicado (rake topics:apply_autoclose) que se puede ejecutar a través de la consola del servidor para aplicar el temporizador de cierre automático a los temas existentes. Este script cierra silenciosamente los temas que califican (los que tienen la antigüedad suficiente, según tu configuración), minimizando las notificaciones.
Aplicar la configuración a todos los temas antiguos a la vez usando el script es una operación en segundo plano. Si tienes una comunidad muy grande y muchos temas antiguos, puede llevar algún tiempo, pero se ejecuta en el lado del servidor. El impacto en el rendimiento varía según el alojamiento y el número de temas, pero la tarea de rake está diseñada para acciones masivas y no debería afectar gravemente a los sitios de Discourse sanos y bien aprovisionados.
La discusión sobre lo mismo está aquí:
Cambiar la hora de cierre automático NO reabre los temas que ya estaban cerrados (es decir, el cierre no se revierte).
No hay una opción de interfaz de usuario integrada para reabrir temas cerrados en masa.
Sin embargo, puedes usar un script o un comando de la consola de Rails para reabrir temas en masa.
Topic.where(closed: true).where("created_at < 'tu_fecha'").find_each do |topic|
topic.update_status('closed', false, Discourse.system_user)
end