¿Qué cambios aquí, si los hay, requerirán volver a procesar las publicaciones con hashtags?
¿Se volverá a procesar automáticamente algún procesamiento requerido al habilitar esto, o habrá un paso de migración explícito para volver a procesar?
¿Qué cambios aquí, si los hay, requerirán volver a procesar las publicaciones con hashtags?
¿Se volverá a procesar automáticamente algún procesamiento requerido al habilitar esto, o habrá un paso de migración explícito para volver a procesar?
Después de habilitar la función, simplemente ejecuté “rebake all posts” a través de rails.
Tengo muchas publicaciones, la gran mayoría de las cuales no necesitarán ser modificadas. Tenía la esperanza de que hubiera una capacidad de volver a hornear solo las publicaciones afectadas, ya sea explícita o implícitamente.
Incluso parece que volver a hornear puede dañar publicaciones antiguas:
¿Cómo evitar posibles problemas al volver a hornear todas las publicaciones?
Esta función está recién salida del horno. No hay ninguna capacidad incorporada para volver a procesar todas las publicaciones que incluyan menciones de categorías/etiquetas en este momento. Estaré atento a lo que la gente considere necesario y/o a las soluciones que se propongan mientras tanto.
¿Hay algún patrón que podamos usar para rebaking todas las publicaciones excepto las que tienen un embed/onebox?
Lo que queremos volver a hornear son todas las publicaciones para las que la representación cocida coincide con class=\"hashtag\", hasta donde yo sé.
No creo que rebake_match ayude aquí porque coincide con el texto sin procesar, y no hay opción para coincidir con el texto cocido en las tareas existentes de Rails. Así que esto, creo, requerirá codificación real, ya sea en la consola de Rails o en una nueva tarea.
Algo como
Post.where("cooked like '%class=\"hashtag\"%'").each do |p| p.rebake! end
¡Algo muy parecido! Acabo de probar con éxito exactamente eso en mi sitio de staging.
Estaba pensando en la opción de retraso para posts:rebake_match, pero probablemente no importe.
Por supuesto, está insistiendo en reprocesar todas las imágenes de las publicaciones afectadas, lo cual es innecesario, por lo que una solución automática solo para esto podría evitarlo razonablemente, pero mientras tanto hay un camino a seguir.
Puede que quiera hacer esto invirtiendo el orden y añadiendo un retraso si un sitio tiene muchas publicaciones afectadas.
@mcwumbly Ahora que se anunció la versión 3.0 con esto como característica principal, ¿qué opinarías sobre una migración que solo arreglara el texto sin reprocesar las imágenes, o alternativamente, que te permita volver a procesar solo las publicaciones afectadas con un retraso para que no sature las colas con el reprocesamiento de imágenes?
@martin ¿puedes compartir algunas ideas sobre cómo podrías abordar este problema?
En resumen, creo que lo que la gente quiere idealmente es algo como:
Y quizás también:
Ya puedes hacer algo así.
Post.where("cooked like '%class=\\\"hashtag\\\"%'").update_all(baked_version: 0)
Luego, procesará las cosas en los trabajos programados en segundo plano.
Anticipo que aumentaremos nuestra baked_version en algún momento del próximo año.
Crearé una tarea rake para hacer lo que @sam sugiere arriba y que los autoalojadores puedan ejecutar.
No creo que esto sea necesario, ya que ahora lo hemos hecho predeterminado para los sitios nuevos y pronto eliminaremos la opción por completo. Si la gente quiere probarlo, podría habilitar la configuración, volver a hornear un par de publicaciones manualmente en la interfaz de usuario, luego, si no les gusta, desactivar la configuración y volver a hornear las mismas publicaciones.
Sin embargo, pronto no habrá opción.
¿Sabes si la idea de enlaces de categoría coloreados todavía se está considerando?
Sí, pero creemos que es más grande de lo que parece a primera vista y todavía hay una serie de detalles de diseño que resolver primero, por lo que no sucederá de inmediato.
¡Genial, suena bien!
Acabo de fusionar una tarea de rake para esto:
bundle exec rake hashtags:mark_old_format_for_rebake
¿Podrías proporcionar una guía completa para principiantes sobre cómo usar ese comando?
¿Hay alguna forma de cambiar publicaciones individuales como usuario (por ejemplo, editar/guardar con una edición menor)?
Gracias.
Este es el patrón habitual para las tareas de rake:
cd /var/discourse
./launcher enter app
bundle exec rake hashtags:mark_old_format_for_rebake
Eso debería funcionar. Si eres personal, puedes hacer clic en la llave inglesa y reconstruir el HTML.
Eso funcionó bien, gracias. Para mis propósitos, parecía un riesgo menor que intentar la tarea de rake.