I can at least say that it not only happens for those cases where older posts link to newer ones.
I got one example where I first found the issue.
Original Post ID: 842948 links to Page 22 of a thread that already existed and at least the start post (&start=220) has an ID lower than the linking post (842880)
After import this original post (which was posted only days before the dump was created) links to a 7 year old thread where the first post has an original ID of 1353.
I can’t seem to find any hints on why this happens, any similarities in numbers in any way… The original link was just a plain posted URL which was auto linked by phpBB. Those links in general don’t cause any issues - they work in several other places.
Generally I don’t expect the import to go well immediately. I’m really happy to how it went so far but I assume this issue might be one of the hardest to fix, especially because I don’t have any clue of setting up a dev/debug environment with Discourse yet. Might need to dig into that soon.
Hi,
From what I remember, the phpbb importer was by default filling the Discourse user full name by guessing from the user email address. Am I right and is it still the case? I can’t find anything about this in the importer files…
This is something I wouldn’t want to happen in the next forum I may import.
Also, another question.
On the current phpbb forum, there are custom user fields (like users facebook or instagram urls). I would like to import this in Discourse custom fields. I guess I’ll do something like first installing and configuring Discourse by adding these custom user field, then importing the phpbb data from my custom import script?
Is there a reliable way to estimate the monthly volume of emails that Discourse will send to users after a migration from phpbb? New user registrations, mentions and replies, weekly digests and so on… Phpbb sends very few emails by default and I think we’ll have to change the current email provider.
I don’t currently have much stats from the actual phpbb. It exists since 2013, with 200000 messages and 5500 members. New members register everyday.
With only 20 posts per day I think you’d probably be looking at 3000 emails a month, at most, well within the free Mailgun plan.
However seeing as you’re migrating with lots of users I’d recommend you turn off the digest emails for everyone who hasn’t been to your forum within the last month or two (they can always turn it on themselves if they want). You can do that with a query in the Rails console, but it’s been a year since I did it for mine, so I don’t remember the exact code sorry.
That should actually be something the import script could do for you IMO, ideally with a setting for the time since last visit to enable digest emails.
Indeed After my first phpbb import on my current forum, I had to decrease the default value; my email provider automatically blocked the used address because of all the digest emails sent. It was flagged as spam.
It’s not quite the same thing. There’s a difference IMO between sending digest emails to someone for X months since their last visit when they signed up for it - just because they don’t visit the forum doesn’t mean they’re not reading the digest emails - and sending digest emails to a user who never signed up for them because they registered in the previous forum, which may not even be legal in some jurisdictions! You could simply turn off digests for every migrated user, and they can turn then on for themselves, or you could do as I did and turn them off for everyone except those who visited within the last month and who therefore would have seen the “we’re going to migrate the forum soon” announcement. I think that’s a fair middle ground.
It’s also practical - our phpBB forum had gained thousands of spammer accounts within the last year and sending the digest to them four times a month would have used all our free mailgun allowance and then started costing a lot. Reducing “clean up inactive users after days” eventually cleaned them up.
No estoy seguro si esto pertenece aquí o en un tema separado. Pero se trata de migrar desde phpBB 3, así que aquí estoy.
He migrado con éxito a Discourse con 1 base de datos. Sin embargo, tengo 3 comunidades diferentes y separadas (3 idiomas distintos, 3 instalaciones distintas de phpBB), que idealmente me gustaría fusionar todas en un solo gran foro feliz de Discourse.
Mi pregunta es: ¿cómo podría hacerlo? ¿Qué necesito cambiar en el script de importación / la base de datos de phpBB 3 / en cualquier otro lugar?
Hay algunos usuarios que tienen cuentas en ambos foros (algunos quizás incluso en los 3), pero no hay inicio de sesión único, por lo que tienen una cuenta diferente en cada foro con el mismo nombre de usuario. Son todas instalaciones diferentes y bases de datos diferentes.
No funcionará directamente, ya que el script de importación almacena los IDs originales en la base de datos de Discourse y no importará datos de un foro adicional si encuentra un registro con el mismo ID. Sin embargo, se me ocurren dos formas de resolver esto:
Difícil: Necesitas editar el script de importación en varios lugares y agregar un prefijo para cada foro a los campos personalizados import_id almacenados para publicaciones, temas, categorías y usuarios.
Fácil, pero perderás la capacidad de realizar importaciones incrementales: Elimina los campos personalizados después de cada importación.
Después de las primeras pruebas antes de fin de año, retomamos el proyecto de migración. Uno de los mayores problemas que persiste es la reescritura fallida de enlaces, y estoy pensando en cuál sería la mejor manera de abordarlo.
@gerhard, mis conocimientos de programación son muy básicos y no tengo casi ningún conocimiento sobre Rails en general ni sobre la estructura detallada de Discourse, así que por favor ten paciencia con mi pregunta: ¿Existe alguna posibilidad de manejar el caso en que el importador no encuentre una publicación importada con el ID dado en el enlace, y en lugar de reemplazarlo con un enlace incorrecto, se añada algún texto que informe al usuario o administrador y haga que estos enlaces problemáticos sean identificables después de la importación?
Mi principal preocupación con el funcionamiento actual es que esos enlaces parecen haber sido reemplazados correctamente, y no hay forma de encontrarlos y corregirlos manualmente después de la importación.
Gracias por cualquier ayuda que puedas brindarme; lo aprecio mucho.
Una forma de hacerlo es reescribir el script para que no reemplace esos enlaces hasta después de que se hayan importado todas las publicaciones. Si necesitas ayuda y tienes un presupuesto, puedes contactarme o publicar en Marketplace.
Desafortunadamente, este proyecto tiene un presupuesto limitado y supongo que el problema no es lo suficientemente importante como para gastar dinero en ello, pero es bueno saber que estarías disponible para eso.
Otra pregunta: Noté que los códigos BB parecen manejarse de manera diferente al importar. [size], por ejemplo, simplemente se deja como texto, mientras que [color] parece eliminarse por completo. Quería reutilizar el color y descubrí que hay un plugin de Discourse para eso, pero luego noté que parece eliminarse durante la importación. El mensaje inicial dice que los códigos BB pueden importarse, pero no pude encontrar ninguna configuración que controle cuáles pueden importarse o no.
Si hay una posibilidad, preferiría eliminar las etiquetas de tamaño y dejar el color. ¿Hay algo que esté pasando por alto sobre cómo se maneja esto y cómo podría cambiarse?
Acabo de descubrir que los temas que fueron eliminados en mi foro phpBB, y que pensé que habían desaparecido, de alguna manera se han transferido a Discourse.
Estoy intentando hacer esto, pero me he perdido con las instrucciones: ¿a qué archivo de configuración te refieres? ¿Y cuándo debo hacerlo: antes o después de la importación?
¡Gracias de antemano!
edit: así que creo que te refieres a los archivos de configuración de emojis en el Panel de Administración (CP). ¿Existe alguna manera de hacer esto importando un archivo de texto o algo similar? Tengo unas 100 sonrisas personalizadas y preferiría copiar esa asignación a Discourse. ¿Es eso posible? (¿Podría copiar el archivo smily.pak de phpBB a la configuración de Discourse de alguna manera?)
Supongo que phpBB maneja los temas podados de manera diferente a los temas eliminados normales. En ese caso, no es compatible en este momento. Tendrás que averiguar cómo phpBB marca los temas podados como eliminados y modificar el script de importación.
¡Diiiije! Sí, por supuesto. Ha pasado demasiado tiempo desde que hice la primera conversión. Lo olvidé por completo, ¡gracias!
Sobre los temas eliminados, sí, pensé que era algo así. No es un gran problema para mi foro, pero fue sorprendente y quizás una advertencia para otros de que esto puede ocurrir.