Los puse sin ninguna diferencia.
No estoy seguro de si estos son errores por haber sido pegados o si así es como realmente está en su archivo yml, pero eso causaría problemas. (Saltos de línea cerca del final de algunos comentarios, lo que provoca que exista una segunda línea sin comentar)
Tus elementos de lista no están indentados correctamente.
Lo anterior debería ser
new_categories:
- forum_id: general
name: General
Recomiendo usar https://www.yamllint.com/ para validar tu archivo de configuración.
Gracias por todas sus respuestas. Rápidamente me di cuenta de que editar settings.yml fuera del contenedor de importación no afectaba a lo que se estaba ejecutando. También me di cuenta del espacio en blanco de yml y corregí mi archivo de configuración. De todos modos, la importación del foro phpBB fue bien, excepto…
Mi nombre de usuario en phpBB era el mismo que mi cuenta de administrador en Discourse. No puedo iniciar sesión y hay un mensaje que dice:
Todas las correos electrónicos salientes han sido deshabilitados globalmente por un administrador. No se enviarán notificaciones por correo electrónico de ningún tipo.
Como resultado, no puedo recibir un correo electrónico de restablecimiento de contraseña. ¿Es esta una configuración de base de datos? Y si es así, ¿puedo actualizar ese campo utilizando los recursos limitados del contenedor? ¿Alguna otra idea?
Tenga en cuenta que tengo instalado el plugin migratepassword, pero eso no parece funcionar (quizás porque mi contraseña tenía menos de 15 caracteres).
Puedes habilitar los correos electrónicos para los usuarios administradores desde la consola de rails:
./launcher enter import
rails c
> SiteSetting.disable_emails = "non-staff"
También puedes restablecer tu contraseña directamente desde el contenedor, sin necesidad de usar correos electrónicos, ejecutando:
./launcher enter import
rake admin:create
¿Puedo sugerir algunos cambios en esta documentación (y código)?
- Esto ya no es necesario ya que la configuración
disable_edit_notificationsya no existe.disable system edit notificationsrealiza el trabajo mencionado y está habilitado por defecto.
- Las dos líneas SSL ya no están comentadas por defecto en
app.yml, por lo que eliminar estos dos#hará que el extracto sea más preciso a cómo debería verse.
-
Esta plantilla debe actualizarse para que los usuarios no experimenten este error al importar.
-
También esto (a menos que haya cometido un error en alguna parte, ¡esto también debería arreglarse!):
EjecutarIMPORT=1 bundle installdevolvió:
[!] Hubo un error al analizar `Gemfile`: No puedes especificar el mismo gem dos veces con diferentes requisitos de versión.
Especificaste: sqlite3 (~> 1.3, >= 1.3.13) y sqlite3 (>= 0). Bundler no puede continuar.
# desde /home/root/discourse/Gemfile:249
# -------------------------------------------
# group :generic_import, optional: true do
gem "sqlite3"
# gem "redcarpet"
# -------------------------------------------
De hecho, sqlite3 ya está especificado unas líneas más arriba:
# NOTA: en modo de importación, la versión de sqlite puede importar mucho, así que la fijamos a una específica
gem "sqlite3", "~> 1.3", ">= 1.3.13"
gem "ruby-bbcode-to-md", git: "https://github.com/nlalonde/ruby-bbcode-to-md"
gem "reverse_markdown"
gem "tiny_tds"
gem "csv"
end
group :generic_import, optional: true do
gem "sqlite3"
gem "redcarpet"
end
Usé una instalación de desarrollo para mi importación, si es que importa.
Esa información debería mencionarse en las instrucciones o actualizarse la plantilla. Me ha llevado algunas horas.
¿Qué necesita decir?
Eliminar esta línea hizo posible la construcción exitosa del contenedor.
¿Así que eliminaste esta línea?
Sí, esa fue la solución.
“Hola, he migrado con éxito mi foro phpBB a Discourse, todo salió bien y el foro funciona de maravilla. Ahora me he dado cuenta de que no habilité el modo binario durante la descarga FTP de los datos de phpBB, lo que significa que todas las imágenes están corruptas. He vuelto a ejecutar el script, pero las imágenes no se están sobrescribiendo. ¿Qué script, preferiblemente con la ruta, necesito modificar para que se sobrescriban las imágenes y los archivos adjuntos corruptos?”
En tu segunda prueba, Discourse omite las cargas porque ya existen en la tabla uploads. Discourse evita sobrescribir las cargas existentes a menos que se le indique explícitamente.
Puedes intentar agregar el siguiente fragmento de código en attachment_importer.rb (discourse/script/import_scripts/phpbb3/importers/attachment_importer.rb at main · discourse/discourse · GitHub) antes de llamar a @uploader.create_upload para asegurarte de que cualquier carga existente con el mismo nombre de archivo se elimine primero, lo que obligará a Discourse a volver a cargarla.
existing_upload = Upload.find_by(original_filename: filename)
if existing_upload
existing_upload.destroy
puts "Deleted existing upload: #{filename}"
end
upload = @uploader.create_upload(user_id, path, filename)
“Gracias por tu respuesta. Desafortunadamente, el cambio no tuvo ningún efecto. El script se ejecuta en solo un minuto, pero los archivos adjuntos no se sobrescriben…”
Probablemente necesites borrar la base de datos y volver a ejecutarla.
¿Cómo hago eso?
Paso 1: Conéctese al servidor mediante SSH:
ssh username@server-address
Paso 2: Acceda al contenedor de la aplicación:
./launcher enter import
Consejo: Ejecute docker ps para encontrar el nombre del contenedor. Por defecto, suele llamarse app.
Paso 3: Restablezca la base de datos:
RAILS_ENV=production rake db:reset
Hey Canapin,
He actualizado esta parte de la guía.
Depende. Todavía está comentado al configurar el contenedor para localhost. La guía asume que se utiliza un contenedor separado para las importaciones, al que no se puede acceder a través de Internet, por lo que no es necesario obtener certificados en este caso.
Una PR para esto ahora se ha fusionado en el núcleo.
Estamos trabajando en una solución para esto, pero he actualizado la guía y agregado una sección de preguntas frecuentes sobre cómo resolver este problema.
Cuando Discourse se ejecuta en un subdirectorio, como domain.org/forum, los permalinks no se aplican, ya que son como viewtopic.php?p=XXXX, pero deberían ser forum/viewtopic.php?p=XXXX para que funcionen.
Han pasado años, pero me encontré con los permalinks que nunca funcionaron y que todavía están configurados en nuestro caso. ¿Existe alguna forma gráfica/CLI de prefijar todos los permalinks con un elemento de ruta de URL, o alguien puede agregar una consulta de PostgreSQL para hacer esto? Podría ayudar también a otros, si esta información se agrega a la primera publicación.