SPIP 1.7r vers SPIP 1.9.2a
Primer intento para volcar todos los post de un blog en Spip 1.7r que tenía semiolvidado hacia la versión moderna de Spip (1.9.2-a) que uso en este blog. Como no sabía por donde empezar, pregunté a los sabios de spip-es y hallé un modo, he aqui la respuesta de Martin, por cierto, muchas gracias
:)
Laura, nunca usé la función todavía y no sé que tan bien funciona, pero las ultimas versiones de SPIP sí permiten fusionar bases de datos distintas. Hay que interntarlo.
1) Primero respaldo de ambas bases en la version original
2) Luego actualizas el sitio viejo a una version nueva de spip (1.92)
3) Creas un nuevo respaldo de los datos viejos, ahora en version moderna
4) Subes ese archivo (.xml o .xml.gz) al directorio /tmp/dump del sitio nuevo
5) En el sitio actual vas a Configuración del Sitio -> Mantenimientos
-> Restaurar el contenido de una copia de respaldo, seleccionas el
archivo que acabás de subir, y tildas la opción "Fusionar la base
actual y el respaldo".Para evitar problemas de solapamiento, lo ideal sería que todo el
contenido a fusionar (proveniente del sitio viejo) estuviese en un
nueva seccion. Luego tendrás tiempo de moverlo."
Una respuesta muy completa, :) pero como el servidor donde tengo la versión antigua es penoso su uso, he decidido extraer la base de datos de allí, bajarla y trabajar en local, para no tener que sufrirlo más. :)
Paso Uno: Conseguir la Base de Datos antigua(spip1.7)
Para conseguir la Base de datos en un Spip 1.7r, se hace lo que sigue:
- Tras acceder al espacio privado, esto es escribir: http://host/ecrire/
- Seleccionar la opción Administración del Sitio
- de ahi hacer clic en Mantenimiento del Sitio.
Aparece una nueva página donde te deja dos opciones,
- borrar la base (EVIDENTEMENTE no tomaremos esta opción)
- y la otra opción es Crear Copia de seguridad y restaurar la base (esto último será de utilidad más tarde)
Creamos una copia de seguridad de la bd, SPIP, da la opción de comprimir la base de datos, es una buena elección pero tiene el inconveniente de que puede que falle la compresión y te quedes sin poder hacer la copia de seguridad. Por lo tanto, si la base no es exageradamente grande, se puede optar por no comprimirla.
Crear una copia de seguridad de la base
Esta opción permite crear una copia de seguridad de la base en un fichero que se guardará en el directorio ecrire/data/. No olvides igualmente recuperar la totalidad del directorio IMG/, que contiene las imágenes utilizadas en los artículos y las secciones.
¡ATENCIÓN! Esta copia de respaldo SÓLO PODRÁ ser restaurada en un sitio que utiliza LA MISMA versión de SPIP. Un error corriente es vaciar la base antes de hacer una actualización. Para más detalles consulta la documentación de SPIP (aún sólo en francés).
Puedes comprimir la copia de seguridad y así facilitar la transferencia hacia tu ordenador, aparte de ganar espacio en el disco.
Pulsamos en Crear copia, en el siguiente paso nos sugiere crear un directorio que usará para crear el paquete de la bd, en la página está super claro lo que hay que hacer.
Acción : exportación de la base hacia dump.xml.gz
Una vez creado, al recargar se creará un archivo dump.xml en el directorio ecrire/data, en mi ejemplo obtuve esto via conexión ftp con el servidor que contenía mi página:
lftp webgnu@ftp.membres.lycos.fr:/ecrire/data> ls *.xml
-rw-rw-rw- 1 webgnu membres 326407 May 13 11:58 dump.xml
Una vez localizada la bajamos al servidor web más cercano para poder tratar con ella de una manera amable, en mi caso mi propio ordenador :P
Paso dos: Instalar SPIP 1.7r
- Conseguir la versión spip1.7r, por fortuna guardan todas las versiones antiguas de spip en su servidor: http://www.spip.net/spip-dev/devel/archive/
- Descomprimimos el archivo
- Lo situamos en el servidor web (en mi caso en la carpeta Sites del servidor web de MacOSX).
- Comenzamos la instalación típica de spip, accediendo vía navegador web a la dirección: http://localhost/ecrire
- Aportamos datos para que spip se comunique con la base de datos. (localhost == nombre_servidor)
- Con estos pasos o alguno más se tiene el cms en su versión antigua instalado. Eso si, con una base de datos que no es la que pretendemos usar realmente.
Paso tres: Restaurar base de datos
- Como antes, desde el espacio privado de spip, elegir la opción "Administración del sitio".
- Llegar al "Mantenimiento del Sitio" y buscar el formulario "Restaurar el Contenido de la Copia de Seguridad".
Restaurar el contenido de la copia de seguridad
Esta opción te permite restaurar una copia de seguridad de la base efectuada anteriormente. A este efecto, el fichero que contiene la copia de seguridad se debe haber situado en el directorio ecrire/data/. Se prudente con esta funcionalidad: las modificaciones o pérdidas eventuales son irreversibles.
Introducir el nombre del fichero (comprimido o no) :
Situando el dump.xml que hemos obtenido del servidor lejano, y situándolo en la carpeta ecrire/data el propio spip se encarga de rescatar todos los articulos, breves, secciones, incluso las visitas que tenía la página.
Paso Cuatro: Actualizar la versión de Spip 1.7 hacia la versión 1.9.2a.(sección inspirada en: http://alufis35.uv.es/Migrar-de-SPIP-1-8-a-1-9.html, gracias Pablo!)
- Borrar todos los archivos del directorio donde está spip en nuestro servidor, excepto:
- ecrire/inc-connect.php3,
- ecrire/mes_options.php3,
- /mes_fonctions.php3
- estos tres archivos, los renombraremos a ".php".
- mantemos la carpeta IMG .
- Entrar a http://host/ecrire/
- introducimos un nombre de usuario y contraseña de un administrador,
- a continuación nos pide actualizar la versión de la base de datos,
- la siguiente página es para crear un fichero que nos indica en ecrire/data/
- cuando esté creado el archivo, recargar para concluir la actualización
- como precaución realizar una copia de seguridad de esta renovada base de datos.
Paso Cinco: Añadir una Base de datos a otra.
Ingredientes:
- Base de datos restaurada a la nueva versión de spip
- Base de datos semi vacía a completar
Ambas deben estar codificadas de igual modo, de lo contrario habrá un desajuste en como ha de interpretar spip los códigos ascii, como los acentos o otros signos de la escritura normal.
En este caso, la BD de spip1.7 venia con una codificación tipo ISO, la BD proviniente del spip 1.9 traía la codificación UTF-8, por lo que he tenido que resolver el pequeño desastre del mejor modo en que he podido.
He intentado pasarla en primera instancia toda ella a UTF pero no me ha respondido bien, así que he intentado repararla, paso que tampoco me ha resultado beneficioso. Así que cortando por lo sano, he borrado toda la base y he agregado de nuevo la base en UTF para después unificarla con la base antigua, pero esta vez codificada en UTF también.
Se puede realizar el cambio de la codificación editando el archivo xml con
un editor, y sustituir donde se explicita la codificación tipo ISO por UTF.
Una vez cambiada la codificación, he agregado la base antigua a la moderna, como anteriormete se ha explicado.
Paso Seis: Llevar la Base de datos resultante a la página online.
Accedemos via ftp al servidor donde se halla alojada nuestra web y situamos en /tmp/dump/ la base de datos que queremos recuperar para el nuevo sitio.
Luego desde la parte privada de Spip, cambiamos la base de datos actual por la que hemos estado elaborando.
PD: Realizando estas operaciones se ha levantado este sitio, puede que en otros casos se produzcan fallos que a mi no me surgieron, o que en versiones superiores a la 1.9.2a de spip estos pasos no sean ya válidos.