En esta presentación explicamos como realizar importación de datos en Drupal 7 con los módulos feeds y migrate.
Charla coorespondiente a la reunión de la comunidad de Alicante el dia 27 Nov 2013 en Camon Alicante.
https://drupal.org/project/migrate
https://drupal.org/project/feeds
https://groups.drupal.org/node/377328
http://www.tucamon.es/contenido/encuentro-comunidad-de-usuarios-de-drupal-noviembre
http://www.codigoweb.org
2. Sobre mí
• Javier Gómez
• Desarrollador web Freelance desde 2010
• Miembro de la Asociación Española de Drupal
http://asociaciondrupal.es
He colaborado en la organización de las DrupalCamp Spain 2011 y 2012
• Miembro fundador de la comunidad Drupal de Alicante
creada en Octubre de 2011, con reuniones mensuales en CAMON
http://groups.drupal.org/alicante
• Actualmente realizo proyectos en Drupal combinando
Sitebuilding y Theming
• Podeis encontrarme en:
twitter.com/fjgomez2 es.linkedin.com/in/codigoweb
www.codigoweb.org
3. Migración de datos
• Formas de importar datos en drupal 7:
– A mano
• Opción poco recomendable y que todos alguna vez
hemos utilizado
– Módulo Feeds https://drupal.org/project/feeds
– Módulo Migrate https://drupal.org/project/migrate
4. Feeds
•
•
•
•
•
•
Muy fácil de configurar desde UI
Admite diferentes fuentes (RSS, CSV, Atom, etc.)
Mapeo de campos.
Funcionalidad ampliable mediante plugins.
Integración con drupal Commerce.
Integración con drush.
6. Migrate
•
•
•
•
Framework orientado a objetos.
Se configura programando.
Fuentes de datos: CSV, XML, JSON, MySql, Oracle, etc.
Puedes migrar cualquier tipo de contenido (nodos,
taxonomias, etc.), usuarios, ficheros, …
• Integración con drush.
• UI para lanzar migraciones (Insert, rollback, update, etc)
• Alta curva de aprendizaje.
7. Migrate
Lo que necesitamos para implementar migrate:
• hook_migrate_api()
• class myclaseMigrate extends Migration {}
En la práctica:
• Creamos un modulo
• camon.module : vacio
• camon.info : dependencias
• Camon.install : info de instalación y registro
• camon.migrate.inc : implementación del hook
• miclase.inc : implementación de la clase
10. Migrate
camon.install
• Aunque no es obligatorio, es aconsejable
implementar el .install para que al desinstalar
nuestro modulo se des-registren las clases
• Puede tener mas usos, p.ej. Crear tipos de
contenido o taxonomias al activar el módulo.
11. Migrate
miclase.inc
• Podemos llamarle como queramos con
extensión .inc siempre que lo incluyamos en
el .info
• Podemos implementar varias clases en un
mismos archivo o tener varios archivos .inc
13. Migrate
Importación de datos
• Si todo es correcto podemos registrar la clase
activando nuestro módulo
• Una vez registrada podemos verla en
• /admin/content/migrate
• Drush mirate-status (ms)
• Y lanzar importaciones desde UI o Drush
• drush migrate-import (mi) TestNode