Publicaciones pre-sembradas faltantes: faltan las páginas de Términos de Servicio, Preguntas Frecuentes y Privacidad

Hola de nuevo: a mi manera poco hábil, intenté la siguiente consulta en Data Explorer y no obtuve resultados relevantes para mensajes eliminados en la categoría Staff

SELECT *
FROM topics
WHERE deleted_at is not NULL
AND category_id = 3 

ni siquiera en ninguna categoría

SELECT *
FROM topics
WHERE deleted_at is not NULL

Así que me pregunto si hay algo más ocurriendo si los temas no fueron eliminados. ¿Hay alguna otra forma de detectar esos temas faltantes? ¿O quizás los mensajes del sistema no se almacenan en la tabla topics en absoluto?

¡Qué bueno ver tus habilidades con Data Explorer!
Esos temas definitivamente están en la tabla de temas.

Prueba esto:

SELECT id, title, deleted_at
FROM topics
Order by id
Limit 10

Deberías obtener algo como esto:

PD: También es posible que necesites cambiar deleted_by_id.

Hola @Paul_King, ¿has probado esto?

Gracias, Nathan: una gran sugerencia.
Sin embargo, el ID de tema más bajo encontrado entre los temas eliminados es 20

¿Tienes alguno del 1 al 10? Parece que no.

Podría ser que reconstruir el sitio desde cero y luego fusionar las bases de datos de alguna manera sea el camino a seguir. ¡O ponte a hackear ese PostgreSQL!

Hola Nathan: eso definitivamente muestra una lista de temas eliminados, pero ninguno de los predefinidos que faltan en la categoría de personal.

Me pregunto si siquiera puedo modificar la base de datos para cancelar eliminaciones si no hay rastro de que los posts presembrados faltantes hayan existido alguna vez. ¿Existe alguna forma de volver a ejecutar el asistente de configuración en una instalación existente para desencadenar la creación de esos posts presembrados? ¿Podría haber alguna razón por la que el asistente de configuración los haya omitido la primera vez? (¿quizás había una opción donde marqué ‘omitir’ la primera vez?)

¿Es posible que hubiera un error en la versión actual de Discourse en el momento en que realicé la configuración?

¿Es posible que, si los posts presembrados faltantes ni siquiera están marcados como eliminados, sino que simplemente no existen, las ausencias no se propaguen ni sobrescriban nada si restauro una base de datos de respaldo en una instalación nueva de Discourse? ¿O es el caso que la base de datos inicial se elimina por completo y se reemplaza por la copia de seguridad, con todos sus defectos?

Otra cosa que puedes probar es seleccionar tos_topic_id, guidelines_topic_id y privacy_topic_id de la tabla site_settings.

Lo siento, con este SQL:

SELECT value
FROM site_settings
WHERE name = 'tos_topic_id'

Gracias, Kane.

Es posible que lo esté haciendo mal, pero en mi caso:
SELECT tos_topic_id, site_settings

o (no estoy seguro de cuál es correcta, si es que lo es alguna)

SELECT tos_topic_id
FROM
site_settings

devuelve:
PG::UndefinedColumn: ERROR: column “tos_topic_id” does not exist
LINE 7: SELECT tos_topic_id, site_settings

Lo cual interpreto como que no existe ‘tos_topic_id’.

Resultado similar para guidelines_topic_id y privacy_topic_id.

Esto puede ayudar: How to regenerate FAQ and TOS pages?

¡Gracias! Exactamente eso es lo que buscaba, aunque, lamentablemente para mí, el comando final
rake topics:update_static[en]
produce un error. No estoy seguro de por qué ocurre ni de cómo solucionarlo.

¿Cuál es el error? (Siempre es buena idea publicar el error si quieres ayuda. :wink:)

@Paul_King También encontré un error al ejecutar update_static, ¡pero mi página de preguntas frecuentes ha vuelto!
@gerhard El error es el siguiente y creo que es el mismo para Paul.

[5] pry(main)> rake topics:update_static[zh_CN]
NameError: variable o método local no definido `update_static' para main:Object

Estabas ejecutando la tarea de rake en la consola de Rails, lo cual no funciona. Pero cuando la ejecutes correctamente, notarás que la tarea de rake ya no existe. :wink:

En su lugar, recomiendo utilizar el método de “Actualización manual” descrito en Actualizar categorías y temas predefinidos. He editado los pasos en How to regenerate FAQ and TOS pages? - #2 by gerhard en consecuencia.

¿Hay alguna manera de que los enlaces de Términos de Servicio y Política de Privacidad en el diálogo de registro funcionen? Nada de lo anterior parece haber logrado eso para mí, aunque puedo recrear los temas de Términos de Servicio y Política de Privacidad que no están vinculados.

No estoy seguro de cómo es que estos temas llegaron a faltar en primer lugar. Simplemente asumí que debí haberlos eliminado por accidente de alguna manera cuando descubrí que faltaban, pero por lo que he leído, parece que ni siquiera debería ser posible dentro de la interfaz de usuario. Y dado que otros parecen haber encontrado un problema similar, ¿podría esto involucrar un posible error en algún lugar?

No estoy seguro de cómo te fue al final, Paul, pero ahora puedes crear tus propias páginas de Términos de Servicio y Privacidad usando esto:

https://meta.discourse.org/t/page-publishing/151971/31

¡Genial! Gracias por la alerta, Nathan.

Confirmo que esto funcionó.

También debes copiar y pegar las URL generadas para las publicaciones publicadas en los campos correspondientes en Configuración/Legal, como si fueran páginas de Términos de Servicio y Política de Privacidad “alojadas externamente”, si quieres que los enlaces a estas en el nuevo cuadro de diálogo de registro funcionen. (No estoy seguro de por qué se omite la sección de Preguntas Frecuentes del cuadro de diálogo de registro, pero también puedes establecer esta URL aquí; aunque no sé el propósito de este campo ni a qué otro lugar enlaza si no se incluye en el cuadro de diálogo de registro).

Una solución temporal que podría dejar de funcionar si el sitio se muda a otra URL, pero es excelente por ahora para permitir al menos que las personas tengan la opción de ver cuáles son realmente los términos de servicio, etc., antes de registrarse.