Anda di halaman 1dari 22

c 


   c
Guía de supervivencia

Drupal Camp | Guatemala 2010


Agenda

Migrando a Drupal desde otro(s) CMS


Guía de supervivencia

Drupal Camp | Guatemala 2010


Agenda

1. EL problema de la migración.
2. Herramientas Disponibles.
3. Cuando las herramientas fallan!!!.
4. Recomendaciones para las estimar
5. Preguntas.

Drupal Camp | Guatemala 2010


1. El problema de la migración.

Es muy común que encontremos


proyectos para migrar un sitio que
actualmente funciona con otro
CMS (Wordpress, Joomla, Hot
Banana, etc) a Drupal.

Lógicamente estos sitios


contienen:

‡ Información
‡ Estructura ( NO DRUPAL)
‡ Lenguaje ( NO PHP)
‡ Base de Datos ( NO MYSQL)

Drupal Camp | Guatemala 2010


2. Herramientas disponibles

‡ http://drupal.org/project/migrate
‡ http://drupal.org/project/migrate_extras
‡ http://drupal.org/project/igx_migrate
‡ http://drupal.org/project/joomla
‡ http://drupal.org/project/phorum
‡ http://drupal.org/project/phpbb2drupal
‡ http://drupal.org/project/wordpress_import
‡ http://drupal.org/project/phpnuke2drupal
‡ http://drupal.org/project/wp2drupal

Drupal Camp | Guatemala 2010


3. Cuando las herramientas fallan!!!

MySQL Migration Toolkit

Drupal Camp | Guatemala 2010


3. Cuando las herramientas fallan!!!

Crear contenido

Luego de asegurarnos que tenemos la base de datos a migrar, y que sea


accesible desde drupal debemos proceder a:

‡ Crear Content Types


‡ Crear Vocabularios
‡ Insertar Nodos
‡ Asociar nodos a vocabularios
‡ Generar teasers
‡ Generar path automaticos
‡ Crear Vistas

Drupal Camp | Guatemala 2010


3. Cuando las herramientas fallan!!!

Crear contenido

Luego de asegurarnos que tenemos la base de datos a migrar, y que sea


accesible desde drupal debemos proceder a:

‡ Crear Content Types


‡ Crear Vocabularios
‡ Insertar Nodos
‡ Asociar nodos a vocabularios
‡ Generar teasers
‡ Generar path automaticos
‡ Crear Vistas

Drupal Camp | Guatemala 2010


3. Cuando las herramientas fallan!!!

Insertar nodos usando sql scripts

Luego de identificar de donde procede nuestro contenido, debemos ejecutar


scripts sql para crear:

‡ Node Revisions
‡ Nodes

Es muy importante conservar las relaciones nid en nuestras tablas a razonde


que Drupal pueda enconntrar el contenido.

Ademas es recomendable borrar el cache y accesar el contenido recien


creado con el usuario admin para evitar problemas de cache

Drupal Camp | Guatemala 2010


3. Cuando las herramientas fallan!!!

Creando Node Revisions

vv     
vv        
 
  

 !"# !    $ $  $"%$  
$&
'  (
)$)$*#+  $+,%$- ! c.c/*#. $)
0 c"   $"   $" * *
12# /  34563
.#"   
.#   # 1 " 
. #"   
. #  *#    *#" '  )

Drupal Camp | Guatemala 2010


3. Cuando las herramientas fallan!!!

Creando Nodes

vv  
vv        
 
  "   !7"#  $%
$ $  $  $*  
'  (
)$3" 3$)$)$*#+  $- ! c.c/*#. 
0 c"   $"   $" * *
12# /  34563
.#"   
.#   # 1 " 
. #"   
. #  *#    *#" '  )

Drupal Camp | Guatemala 2010


3. Cuando las herramientas fallan!!!

Creando Terminos en vocabularios

Se debe hacer un análisis de la base de datos a migrar para por extraer los
términos a colocar en nuestros vocabularios de drupal y usar una función
para insertarlo en drupal, como se muestra a continuación:

<?php
function insertTerm($vid,$term,$description,$weight){
$sqlIsertTerm="INSERT INTO drupal_db.term_data ";
$sqlIsertTerm.="(vid,name,description,weight) ";
$sqlIsertTerm.="values($vid,$term,$description,$weight)";
mysql_query($sqlIsertTerm,$new_db);
?>

Drupal Camp | Guatemala 2010


3. Cuando las herramientas fallan!!!

Creando Terminos en vocabularios

Se debe hacer un análisis de la base de datos a migrar para por extraer los
términos a colocar en nuestros vocabularios de drupal y usar una función
para insertarlo en drupal, como se muestra a continuación:

<?php
function insertTerm($vid,$term,$description,$weight){
$sqlIsertTerm="INSERT INTO drupal_db.term_data ";
$sqlIsertTerm.="(vid,name,description,weight) ";
$sqlIsertTerm.="values($vid,$term,$description,$weight)";
mysql_query($sqlIsertTerm,$new_db);
?>

Drupal Camp | Guatemala 2010


3. Cuando las herramientas fallan!!!

Asociando términos a nodos

Se debe hacer un análisis de la base de datos a migrar saber que terminos


se debes asociar a cada nodo y crear una funcion parecida a la que se lista a
continuación:

<?php
function insertNodeTerm($vid,$nid,$termid){
$sqlInsert= "insert into drupal_db.term_node (nid,vid,tid) ³;
$sqlInsert= "values($nid,$vid,$termid)";
mysql_query($sqlIsert,$new_db);
?>

Drupal Camp | Guatemala 2010


3. Cuando las herramientas fallan!!!

Crear nodos cck via código

Crear nodos content type con campos personalizados puede ser dificil:

Drupal Camp | Guatemala 2010


3. Cuando las herramientas fallan!!!

Problemas después de importar

Teaser:
Problema:
‡ Después de importas nodos el campo teaser esta vacío o es difícil
de calcularlo si tiene HTML.
‡ Esto causa que las vistan no retornen la información correcta.
Solución:
‡ Usar el modulo http://drupal.org/project/retease
‡ Advertencia
‡ Retease, borrara aquellos teaser que hayas hecho en
nodos de forma personalizada
‡ Borrar los path personalizados y los calculados con
pathauto.
‡ Recomendar hacer esto al inicio del proceso de
importación
Drupal Camp | Guatemala 2010
3. Cuando las herramientas fallan!!!

Problemas después de importar

Al importar nodos nuevos, no existirá información extra como la generada por


nodewords para el SEO del sitio.

Drupal Camp | Guatemala 2010


4. Recomendaciones para estimar

Las siguientes son recomendaciones para estimar un proyecto de migración

‡ Definir tiempo para aprender a conocer la estructura de la base de


datos desde donde se va a extraer la información > 1 día
‡ Definir tiempo de procesar la infamación hacia MySQL de ser
necesario.
‡ Calcular cuantos paginas/nodos deben migrarse.
‡ Se debe calcular cuanto se invierte en migrar 1 pagina/Nodo
‡ Tiempo en hacer inserción en la base de datos.
‡ Tiempo en validar que el contenido se haya migrado bien en
términos de HTML y CSS
‡ Verificación del contenido migrado y su funcionamiento con
vistas / listados
‡ Identificar si las paginas/nodes tienen css inline.
‡ Identificar si las paginas/nodes tienen images inline.

Drupal Camp | Guatemala 2010


4. Recomendaciones para estimar

Las siguientes son recomendaciones para estimar un proyecto de migración

‡ Definir el numero vistas/listados deben generarse


‡ Definir cuantos vocabularios y términos deben generarse y asociarse a
los términos.
‡ Definir los tipos de usuario y roles del sitio.
‡ Definir el numero de usuario a migrar

Drupal Camp | Guatemala 2010


4. Recomendaciones para estimar

Las siguientes son recomendaciones para estimar un proyecto de migración

‡ Explicar al usuario que migrar, no es restructurar el sitio ( menus,


nuevos contenidos, nuevo workflow)
‡ Explicar al usuario que migrar no es hacer un theme y que todo se vea
bien inmediatamente
‡ Explicar que si no pagan la edición del contenido, eso no entra en la
migración

Drupal Camp | Guatemala 2010


Preguntas?
enzo@anexusit.com

Drupal Camp | Guatemala 2010


Presentation preparada por:
Eduardo Garcia

©Anexus IT

Drupal Camp | Guatemala 2010

Anda mungkin juga menyukai