Importar

XenForo tiene la capacidad de importar información de otros foros, incluyendo usuarios, foros, temas, mensajes y mensajes privados, junto con otros diferentes datos.

Esto puede ser extremadamente útil si se está migrando un foro a otro paquete de software, o si el foro precisa combinarse con, o absorber otro sitio de foros.

Al momento de escribir esto, XenForo 2 soporta importación de datos de las siguientes fuentes:

  • XenForo 2
  • vBulletin 3.6 a 5.3
  • Foros Invision 3.0 a 4.2

Nota

Indirectamente, pueden recogerse datos de otros sistemas importando en XenForo 1.5, que actualmente tiene una gran selección de importadores y ejecutar una actualización a XenForo 2.

Antes de comenzar

Antes de comenzar una importación, existen varias consideraciones y pasos de preparación que hacen prioritario el proceso de configuración. Estos pasos varían en dependencia del sistema desde el que se quiere importar y se describen en las Notas específicas del sistema de importación siguientes.

Seleccionar un importador

El sistema de importación se inicia haciendo clic en Importar datos, de la sección Herramientas del panel de control de administración de XenForo.

En esta página, se nos preguntará para elegir una fuente de importación. Las fuentes listadas están agrupadas por el sistema en el que están diseñadas para importar.

Nota

En el momento de escribir esto, los importadores existentes apuntan a XenForo, pero con el tiempo existirán importadores que apunten a la Galería Media de XenForo, Gestor de Recursos de XenForo, o a productos de terceras partes (complementos).

Una vez seleccionado un importador que coincida con una fuente de la que se desea importar, hay que pulsar el botón Continuar.

Configurar un importador

Cada importador define sus propios requisitos y se presentará con una serie de formularios a completar para obtener la información necesaria para proceder. Generalmente, esto involucrará a los detalles de conexión a la base de datos del sistema fuente.

Algunos inportadores intentarán hacernos la vida más fácil, mirando si existe un archivo config en el sistema fuente y asumiendo que XenForo está instalado en la misma ubicación en que se ubica el sistema fuente. Si se encuentra, el sistema importador intentará rellenar cuantos campos le sean posible con los datos del archivo config.

Detrás de haber cunplimentado los detalles necesarios, hay que hacer clic en el botón Continuar y el importador intentará conectar con la base de datos fuente. Si tiene éxito, el sistema será capaz de continuar y proceder. Si no, el sistema mostrará un mensaje de error que nos puede ayudar a diagnosticar el problema de conexión.

Seleccionar los pasos de importación

En la página siguiente se nos presentará el listado de pasos que el importador puede ejecutar, cada uno corresponde a diferentes tipos de datos. Algunos pasos dependerán de otros pasos previos - por ejemplo, no pueden importarse los mensajes sin los temas y estos no pueden importarse sin los foros.

A pesar de las dependencias de otros pasos, pueden desmarcarse aquellos pasos que deseemos evitar - por ejemplo, puede quererse importar usuarios pero no molestarse con sus avatares.

Nota

Una vez iniciado el importador, no puede volverse atrás y cambiar pasos a importar. Hay que asegurarse de haber selecionado todos los pasos a importar antes de ejecutar el sistema.

Retener los IDs de contenido

En este punto, se nos preguntará si queremos Retener los IDs de contenido. Solo puede utilizarse esta opción en una instalación de XenForo completamente vacía, sin temas ni mensajes. La configuración intentará retener los IDs de los datos que se están importando, por lo que un tema con un ID de 2563 en la base de datos fuente se importará con el ID de 2563 en la base de datos de XenForo.

Si no está seleccionada Retener los IDs de contenido se importarán los datos con IDs secuenciales qu8e no coincidirán con los IDs de la base de datos fuente. Esta es la opción predeterminada y es más rápida y fidedigna en la mayoría de los casos.

No hay que preocuparse por los enlaces existentes en los motores de búsqueda, etc. que apuntan a URLs que utilizan los ID viejos fuente. Muchos importadores aportan rutinas (scripts) de re-dirección que pueden redirigir las visitas a las páginas antiguas del sistema fuente a las correspondientes nuevas páginas en XenForo.

Importar la tabla del registro

También se nos preguntará para proveer un nombre a la tabla de la base de datos utilizada para almacenar el registro de la importación. Puede utilizarse cualquier nombre válido de tabla de base datos, siempre que la tabla no exista o que esté vacía.

Se nos sugerirá que el nombre solo contenga letras en minúscula, dígitos y subrayado, tal como import_log.

Si no existe la tabla, el sistema intentará crearla. Si existira y contuviera datos, deberá ejecutarse una consulta TRUNCATE TABLE tu_nombre_de_tabla;, asumiendo que estás absolutamente seguro de que los datos de la tabla tu_nombre_de_tabla pueden eliminarse sin problemas.

Una vez completado con éxito el formulario, hay que pulsar el botón Continuar...

Pasos de configuración

A veces, algunos pasos requerirán configuración adicional antes de poder iniciar la importación.

Si el sistema importa usuarios, habitualmente se nos preguntará si queremos combinar automáticamente a aquellos usuarios con la misma dirección de email así como si queremos combinar a aquellos usuarios con el mismo nombre de usuario. Son particularmente importantes estas opciones si se está importando en una instalación de XenForo que ya existe y que tiene una colección de usuarios.

Suele ser una buena idea activar estas opciones de combinación de usuarios, particularmente la opción mismo email, ya que dos usuarios con el mismo email suelen ser la mima persona. Activar o no la opción mismo nombre de usuario depende de si se conoce o no que usuarios con el mismo nombre en la base de datos fuente sean la misma persona/usuario que los existentes en la base de datos de XenForo.

Por ejemplo, si la instalación de XenForo tiene un usuario denominado 'Admin' que también lo está en la base de datos fuente, la opción de combinación todos los datos existentes de 'Admin' del sistema fuente como datos que pertenecen a 'Admin' en nuestra instalación de XenForo, en vez de crear un usuario 'Admin2' al que atribuirá todos los temas y mensajes de él.

Dependiendo del sistema fuente, pueden precisar configuración otros pasos. Por ejemplo, los importadores de vBulletin necesitan verificar la ubicación de los archivos de avatares y aadjuntos si no están almacenados en la base de datos.

A veces, el sistema hará una conjetura, basada en la información que recibe de la base de datos, pero a menudo es preciso verificarlo dos veces para garantizar que la información sea correcta antes de iniciar la importación. La mayoría de importadores harán toda la verificación de errores precisa para garantizar una importación exitosa antes de permitirnos continuar.

Una vez configurados los pasos, hay que hacer clic en el botón Continuar, felízmente por última vez.

Ejecutar el importador

Tras completar con éxito la configuración, el importador estará listo para ejecutarse.

Advertencia

Siempre hay que realizar una copia de seguridad completa de nuestra base de datos de XenForo y de los directorios data e internal_data antes de ejecutar una importación. La base de datos y archivos fuente jamás serán modificados, pero es necesario realizar una copia de seguridad de la base de datos y de los archivos para el caso de fallar la importación y tener que re-comenzar de nuevo. También es una buena idea cerrar los foros (utilizando la opción Foro activo) dada la posible duración del proceso de importación.

Existen dos vías para ejecutar el proceso de importación, bien a través del navegador web desde el panel de control de administración bien vía conexión a una consola de línea de comandos / terminal al servidor web mediante SSH o similar.

El método de importación de consola de línea de comandos (CLI) es significativamente más rápido que el método del navegador, pero precisa de tener acceso de capa al servidor web para poder ejecutar el comando.

Importar desde el navegador

Si se selecciona la opción Importar desde el navegador, simplemente hay que hacer clic en el botón Iniciar importación y seguir las instrucciones en pantalla hasta finalizar la importación. Se verán contadores incrementándose en cada paso que se ejecuta, que ofrecen alguna indicación sobre el tiempo restante para finalizar la importación.

Habrá que indicarle al navegador que continúe con el siguiente paso cada vez que complete el anterior.

Importar desde CLI

Para ejecutar la importación desde CLI, será preciso abrir el navegador en la página Iniciar importación e iniciar sesión en el servidor web utilizando SSH o un métodosimilar que nos permita ejecutar comandos directamente en el servidor.

Una vez iniciada la sesión, hay que cambiar el directorio actual de trabajo al directorio en que reside nuestra instalación de XenForo, por ejemplo /var/www/public/. Se sabrá que se está en el directorio correcto ya que contiene un archivo denominado cmd.php.

Usaremos este archivo cmd.php para ejecutar el importador, utilizando el siguiente comando:

php cmd.php xf:import

Hay que escribirlo y pulsar la tecla Intro, comanzando el importador. Se ejecutarán todos los pasos de modo secuencial y sin interrupción, mostrándose indicadores del progreso en cada paso.

Nota

Tanto Importar desde el navegador como Importar desde CLI pueden reanudarse si se interrumpen por cualquier razón. Aunque debamos proponernos el finalizar el proceso sin interrupción, pueden perderse algunos datos, por lo que es posible reanudar el proceso de importación haciendo clic en Herramientas > Importar datos del panel de control de administración, o ejecutando de nuevo la consola de línea de comandos CLI.

Finalizar la importación

Una vez iniciado su curso el proceso de importación, bien a través del navegador bien de la consola de línea de comandos CLI, terminará en la página Finalizar la importación, o direccionado a refrescar el navegador para que se muestre la página Finalizar la importación.

Se verá aquí un sumario de todos los pasos dados junto con el tiempo que han conllevado y de cuantos elementos se han importado en cada paso.

Solamente queda una cosa antes de que los datos importados estén listos para su uso, que es reconstruir todas las cachés que usa XenForo. Estas se generarán cuando se pulse el botón Finalizar la importación. Puede tardar unos pocos minutos, o muchos, pàra finalizar en dependencia del volúmen de los datos importados y de cuantos haya ya en la base de datos de XenForo.

Redirección

Algunos importadores proveen rutinas de redirección y están diseñadas para colocarse en la ubicación del software fuente original e interceptar los requerimientos a ese sistema fuente.

Las rutinas de redirección pueden consultar la tabla que hemos definido como Tabla de registro de importación para poder obtener la URL necesaria para el contenido en la instalación de XenForo que se corresponda con los datos solicitados por la URL original.

Las rutinas redireccionan sin problemas al visitante hacía el nuevo contenido, mientras envían una cabecera HTTP que indica al navegador que se ha movido permanentemente el contenido a su nueva ubicación.

Esta redirección permanente en la cabecera HTTP permite a los motores de búsqueda encontrar los contenidos que tenían indexados previamente desde el software fuente original, actualizando así sus URLs para apuntar a la nueva ubicación.

Redirección para vBulletin

XenForo 2.0.2 viene con un nuevo sistema de redirección que tiene como objetivo establecer redirecciones. Puede leerse sobre ello aquí:

Velocidad de importación

Aunque es completamente posible a los importadores obtener datos desde un servidor remoto, la latencia de conexion de la red será un factor significativo en estos momentos, debido al hecho de que cada paso de importación podría estar ejecutando varios miles de consultas para recuperar e importar los datos.

El tiempo de espera para la obtención de datos incluso en una rapidísima red de área local resultará excesivamente lento en comparación con los importadores ejecutándose en un solo servidor.

Para un proceso de importación lo más rápido posible, hay que hacer una copia de seguridad de las bases de datos y archivos de los servidores e importarlos en el servidor más rápido que tengamos disponible, tanto las bases de datos fuente como destino y ubicar los archivos en ese servidor. Una vez finalizada la importación, puede ponerse en un entorno de producción la base de datos y los archivos resultantes.

Notas específicas del sistema de importación

Antes de seleccionar y configurar un importador, deben leerse las notas disponibles del importador que se esté planificando utilizar, para preparar mejor nuestra instalación de XenForo para recibir los datos importados.