Migrar

Migrando de D6 a D7 (Problemas Comunes)

Drupal 6 a 7.xHace algunos días atrás nos aventuramos en la travesia de migrar nuestro sitio Web de Drupal 6 a la versión 7, la cual ha sido satisfactoria, sin embargo nos hemos encontrado con dificultades que las hemos solucionado, y a través de esta publicación queremos compartir algunos de los detalles que hemos tomado en cuenta para los problemas que surgieron durante el proceso.

Cabe indicar que en esta publicación no estamos detallando nada relacionado con la migración del tema en uso.

Como ya sabemos existen muchos y muy buenos artículos hablando sobre el proceso de migración en el cual se indican los pasos que debemos realizar para la migración a Drupal 7:

  • Sacar un respaldo de nuestra BD.
  • Desactivar los módulos contribuidos en nuestra instalación Drupal 6.
  • Configurar nuestro archivo settings.php con los parámetros de conexión a la BD de nuestro sitio con D6.
  • Realizar el proceso de update.php para realizar el proceso.
  • Copiar los archivos cargados de directorio files
  • Activar los módulos que tengan su equivalencia en Drupal 7

Además de las consideraciones generales que se realizan durante el proceso de migración cabe indicar algunos detalles adicionales que se deberia realizar en la preparación de nuestro sitio con Drupal 6 antes de la migración.

  • Establecer el tema garland para evitar mensajes acerca de “Main Content” y los bloques
  • Desactivar al tema por defecto en la administración, en nuestro caso teniamos activado el tema rootcandy, esto lo podemos reestablecer seleccionando el tema garland para la administración.
  • Desinstalar los módulos xmlsitemap desde la sección de módulos con la pestaña correspondiente, para evitar el mensaje de error (PDOException: SQLSTATE[42S02]:) (Some of the pending updates cannot be applied because), en este caso es mejor desactivarlo y desinstalarlo al módulo.

En Drupal 7

  • Crear el directorio files con los permisos de escritura vacio para luego que se realice la actualización (The specified file temporary://fil7BD5.tmp)
  • Proceder a copiar los archivos necesarios de imágenes y demás
  • Si disponen de tipos de contenidos adicionales se debe descargar el módulo cck y activar migrate_fields para realizar la migración de los datos, especialmente para que tenga un trato especial con los campos de imagen.
  • Luego de migrar los tipos de contenidos agregados notaras que tienes problemas visualizando y editando los mismos, esto sucede porque los campos width y height en las tablas field_data_field_ y field_revision_field_ esta con valores nulos, lo puedes solucionar modificandolos a mano a través de phpmyadmin o creandote un script calculando el tamaño de las imágenes y escribiendo los datos en las tablas.
  • Puedes borrar todas las tablas que empiecen con la palabra content ya que en Drupal 7 pasan a ser field esto con la finalidad de aprovechar el espacio en disco.
  • Antes de activar los módulos adicionales al core se debe activar en las "Opciones de cuentas" la opción de rol administrador para que se carguen los permisos de forma automática al activar los módulos.

Espero este aporte sirva a todos quienes estan realizando el proceso de migración de D6 a D7.

Saludos.

Secciones: 

Migrar y respaldar LDAP

AdjuntoTamaño
Icono de texto plano Script para restaurar LDAP1.03 KB

Servicio LDAP
Una buena política de mantenimiento de sistemas en producción, ha sido siempre el mantener una copia de respaldo de nuestros datos y archivos de configuración, en caso de que nuestro servidor sufra algún tipo de problema o inconveniente, tomando este antecedente a través de este post voy a explicar como respaldar nuestros archivos de configuración y datos de LDAP en un servidor montado con Linux Debian.

Respaldo o Backup

Para esta tarea vamos a hacer uso de una copia del archivo slapd.conf que se encuentra bajo el directorio /etc/ldap/ y tambien del comando slapcat, que nos sirve para respaldar los datos de LDAP.
Es necesario mencionar que existen 2 tipos de respaldo de nuestros datos, en FRIO y en CALIENTE, que significa esto que mientras el servicio LDAP este funcionando o corriendo estamos generando un respaldo de nuestros datos en CALIENTE, se recomienda hacer un respaldo en FRIO que significa detener el servicio esto lo hacemos para garantizar la integridad de los datos, para detener el servicio lo podemos hacer con el comando:

/etc/init.d/slapd stop

Ahora vamos a generar un archivo ldif con nuestros datos de la siguiente manera:

slapcat -v -l respaldo-03-10-2010.ldif -f /etc/ldap/slapd.conf

Restaurar o Recuperar datos

Para realizar la restauración de nuestros datos procedemos a realizar las siguientes operaciones:
El  primer paso es detener el servicio LDAP luego copiar nuestro archivo de configuración slapd.conf en el directorio /etc/ldap/ y cambiarle el grupo que debera ser openldap, esto lo podemos hacer mediante el comando.

 chown root.openldap /etc/ldap/slapd.conf

Ahora vamos a proceder a borrar todos los archivos que estan bajo el directorio /var/lib/ldap/ que son los indices y las bases de datos de nuestro servicio, esto lo podemos hacer mediante el uso de rm como se muestra a continuacion:

rm /var/lib/ldap/*

Una vez realizada esta operación procedemos a restaurar desde nuestro archivo de respaldo-03-09-2010.ldif con el comando slapcat como lo veremos en el siguiente ejemplo.

slapadd -v -c -l /dictorio-del-respaldo/respaldo-03-09-2010.ldif -f /etc/ldap/slapd.conf

Realizada esta restauracion de los datos, procedemos a cambiar el propietario y el grupo de los datos que se generan nuevamente en el /var/lib/ldap/ con el siguiente comando:

chown openldap.openldap /var/lib/ldap/*

Luego que hemos cambiado estas propiedades generamos los indices para estas bases de datos con el comando:

slapindex -v

Y finalmente procedemos a iniciar el servicio con /etc/init.d/slapd start y listo tenemos nuestro restauracion integra.

Scritps de utilidad para LDAP

Dentro de nuestro directorio hay usuarios a los cuales queremos cambiarles alguna preferencia en su configuración o entrada en LDAP para lo cual requerimos de la programación de un script para automatizar esta tarea, yo lo he realizado con Perl y otro script bash que me presta algunas funcionalidades para hacer este requerimiento.

Nota: El uso de esta información es de exclusiva responsabilidad de quien la utiliza.

Secciones: