11.11.12

Convertir datos desde foros.net a SMF o phpBB

Hace un tiempo tuvimos la necesidad de mover los fotos de Commodore Manía que estaban en el servicio gratuito foros.net a nuestro propio foro y servidor, concretamente a SMF.

Convertir datos desde foros.net a SMF o phpBB

Luego de darle mil vueltas al asunto llegué a la conclusión de que no había ninguna manera fácil de hacerlo, los de foros.net no entregan un archivo con la base de datos ni hay manera de exportar ni nada de nada. Desconozco si esto sigue siendo igual, este tema es de principios de 2011.

Inicialmente busqué si había algo hecho y lo que encontré fueron unos códigos en Python, como Python a mi me suena a una serpiente, decidí hacer una aplicación en PHP que iba explorando el foro página por página y tomando toda la información, una especie de "crawler" pero aunque al principio fui rápido luego empezó a complicarse asi decidí ver como era eso de Python.

Al final instalé un Python para Windows en local y descargué este código ya hecho, al que tuve que hacer algunos ajustes pero finalmente me sirvió y me ahorró mucho trabajo, pero no todo el trabajo.

Lamentablemente esta guía no será todo lo precisa que me gustaría porque fue hace bastante tiempo y porque no he podido encontrar los archivos originales (sobre todo el .txt con el paso a paso) que usé para la conversión... :(

A continuación los pasos (mas o menos ) que seguí para recuperar los datos del foros.net y copiarlos a un foro SMF (Simple Machine Forum) en mi propio servidor:

  1.  Descargar conversor:
    Este conversor está compuesto por una serie de códigos en Python, que permiten explorar los foros de distintos sistemas y versiones (foros.net, Invisionfree, ActiveBoards, iPBfree).
    Se puede descargar tanto desde el foro de phpBB como desde SMF: phpBB / SMF
    Obviamente para usar este conversor hace falta tener algún mínimo conocimiento de programación, aunque to yo fui capaz de hacerlo funcionar sin saber nada de Python, ¡pero tuve que pasar por algunas situaciones propias de ir totalmente perdido!
    De todos modos, en los enlaces de descarga hay bastante información de cómo funcionan estos procesos.

  2. Configuración: dentro del ZIP descargado existen varios .txt con instrucciones sobre el funcionamiento de este conversor, por ejemplo en la raiz está Instructions.txt y luego en /Converters/phpBB2 hay otro .txt con información adicional para configurar el conversor, que se hace editando el archivo /Converters/phpBB2/settings.py
    Algunos datos que nos encontramos:
    - COOKIEDATA: sirve para que el conversor pueda ver información que se ve estando identificado, hay que identificarse en el foro para obtener la cookie del usuario y poder acceder a la información no pública (ver instrucciones completas)
    - ADMINSID: lo mismo para este dato.
    - NUMUSERS: el ID del ultimo usuario registrado.
    Hay algunos parametros un poco raros, pero con varias pruebas y error se puede hacer funcionar perfectamente.
    De todos modos hay archivos .txt con instrucciones para entender bien los pasos necesarios y qué va en cada lugar.
    También hay que copiar el archivo /Converters/common.py dentro de la carpeta phpBB2.
    Lo dicho, mirar los .txt para seguir los pasos.

  3. Conversión: Al ejecutar el proceso de conversión se crean archivos en formato SQL con todos los datos del foro en formato phpBB2. Creo que se pueden generar en formato phpBB3 también.
    Este proceso puede tardar bastante según la cantidad de datos que tenga el foro. En mi caso no eran tantos datos y lo ejecuté incontables veces hasta tener los datos como yo quería.

  4. Procesar archivos SQL: Una vez tenemos la base de datos en formato SQL ya depende de varios factores, en mi caso tuve que hacer varios pasos más ya que los necesitaba para un foro tipo SMF, si fuera para un phpBB sería mas simple.

  5. Los detalles llevan tiempo: En este punto todavía quedan unas cuantas historias por resolver, por ejemplo que no se incluye usuario administrador en los datos convertidos desde foros.net, asi que yo hice una instalación de phpBB, me guardaba los datos del usuario admin, ejecutaba los comandos SQL de los datos importados y luego volvía a crear el usuario admin en la base de datos con los datos guardados. ¡Y unos cuantos baches más que ahora he olvidado!

  6. phpBB to SMF: en mi caso, que quería un foro SMF tuve que convertir los datos desde phpBB a SMF, para eso conseguí un conversor hecho en PHP (phpBB2_to_smf) y tuve que hacer 2 pasos más hasta llegar al punto final, algo asi como: phpBB2 > SMF1 > SMF2
    En caso de poder elegir, lo mejor es usar directamente un foro phpBB, no porque sea mejor que SMF (que no sé si sea mejor o peor) sino para ahorrarse trabajo.
    No recuerdo exactamente desde donde descargué el conversor de phpbb2_to_smf, de todos modos al final estan los enlaces para descargarlo.

  7. Mas cosas: al final tenemos nuestro nuevo foro funcionando, pero hay que tener en cuenta que los mensajes personajes se pierden, así como también muchos de los datos del perfil de los usuarios (contraseñas, firmas, avatares, etc.) así que luego queda la tarea de avisar a todos los usuarios que deben entrar al foro con la opción de recuperar contraseña y volver a completar los datos del perfil.
    En mi caso eran alrededor de 100 usuarios asi que algunos datos me tomé el trabajo de copiarlos a mano, pero es algo irrealizable cuando hay más usuarios.
    Otro tema, al terminar la migración puse en modo "sólo lectura" el foro de foros.net, sorpresa me llevé cuando tiempo después veo que el foro no existe más, supongo que fue desactivado por inactividad, asi que cuidado con eso.

Espero que esta mini-guía sirva de ayuda a alguien, realmente me hubiera gustado poner las cosas con más certezas pero haber perdido parte de los archivos me ha dejado bastante librado a lo que quedaba en mi memoria...

Por cierto, este es el resultado de todo mi trabajo, el foro de Commodore Manía: http://foro.commodoremania.com :)

Enlaces y descargas:

He puesto un espejo de los archivos en Mediafire aquí

3 comentarios:

  1. Hola, tengo un foro en Foros.net y no lo puedo migrar. Como se hace?

    ResponderEliminar
  2. Facundo, no es tarea fácil pero es posible. En el artículo hay una guía (aunque seguramente haya cambiado desde entonces) para que un programador pueda mover los datos a un foro alojado en tu propio servidor.

    Te diría que puedo hacer yo ese trabajo pero estoy con tan poco tiempo que no me puedo comprometer...

    ResponderEliminar
  3. Hola, la he seguido y me da Syntax Error. La verdad no se que hacer. Gracias :)

    ResponderEliminar