Pregunta:
Estoy construyendo un sitio Drupal (por primera vez) para una empresa que quiere dejar un CMS anticuado y personalizado.
Tienen mucho contenido y prácticamente mantenemos el diseño del contenido (campos) igual. Y, por supuesto, quieren tener contenido en el nuevo sitio de Drupal.
La estructura de la base de datos de Drupal es bastante compleja y dudo que unas pocas consultas de inserción sean suficientes. He escrito scripts de Python para hacer cosas como esta en el pasado, pero no con una base de datos tan compleja como la que configura Drupal.
¿Qué opciones tengo para importar el contenido antiguo a Drupal?
Respuesta:
¿Migración de datos "indolora"? Estás bromeando, ¿verdad? 🙂
Hay numerosas respuestas que sugieren el módulo Migrar. Ciertamente es una opción, pero nunca me ha gustado. He realizado docenas de proyectos con migraciones de contenido de sistemas externos a Drupal (a veces desde múltiples fuentes externas simultáneamente), incluidos proyectos con millones de piezas de contenido, y argumentaré hasta mi muerte que una implementación de API Batch en un El módulo personalizado es el camino a seguir.
No hay dos migraciones iguales. Cada migración individual implicará limpieza 'propietaria', saneamiento / cambios de datos, etc. La única forma de tener un control total es con un script completamente personalizado. No se conforme con un fácil "80% del camino" a través de una herramienta genérica y luego luche durante semanas mientras se golpea contra ese 20% que la herramienta no maneja.
Hágalo de forma personalizada, use Entity Metadata Wrappers y realice un seguimiento de los identificadores de contenido nuevos <–> heredados en una tabla de base de datos separada.
También puede ser una opción simplemente 'volcar' el contenido existente, marcado y todo, en un tipo de contenido 'heredado' y terminarlo sin mover las cosas a los campos y complicar su vida. Debe sentarse con el cliente y averiguar exactamente qué quiere / necesita, y con qué está dispuesto a conformarse. A veces, una solución simple que está "bien" es muchísimo mejor que el proyecto de varios meses que es "asombroso".