Simple Node Importer
Un módulo de Drupal que permite a los usuarios finales importar entidades de contenido (nodes, usuarios, términos de taxonomía) desde archivos CSV sin necesidad de conocimientos de desarrollo.
simple_node_importer
Overview
Simple Node Importer proporciona una interfaz amigable para importar contenido a Drupal desde archivos CSV. Los usuarios finales pueden cargar archivos CSV, mapear columnas a campos de entidades usando una interfaz de mapeo flexible e importar datos de forma masiva. El módulo soporta la importación de nodes de cualquier tipo de contenido, usuarios y términos de taxonomía.
Cuando ocurren fallos en la importación, el módulo proporciona un Centro de Resolución donde los usuarios pueden ver los registros fallidos, entender la razón del fallo y resolver los problemas directamente. El módulo rastrea todas las operaciones de importación y permite descargar los registros fallidos como CSV para su corrección.
Las capacidades clave incluyen detección automática de campos, soporte para campos multivaluados, manejo de referencias a entidades (términos de taxonomía, usuarios), opciones de creación automática de usuarios y auto-creación de términos de taxonomía.
Features
- Importar entidades (nodes, usuarios, términos de taxonomía) desde archivos CSV con una interfaz de carga simple
- Interfaz de mapeo flexible que permite mapear columnas CSV a campos de entidades con retroalimentación visual
- Centro de Resolución para rastrear y resolver registros de importación fallidos con funcionalidad de edición y guardado
- Descargar archivos CSV de plantilla de ejemplo basados en los campos del tipo de contenido seleccionado
- Soporte para campos multivaluados mediante el mapeo de múltiples columnas CSV a un solo campo
- Opciones de creación automática de usuarios cuando el autor especificado en el CSV no existe en el sistema
- Creación automática de términos de taxonomía cuando los términos no existen en los vocabularios referenciados
- Procesamiento por lotes para importaciones grandes con seguimiento de progreso
- Seguimiento del estado de importación mostrando conteos de registros exitosos y fallidos
- Descargar registros fallidos como CSV para corrección externa y reimportación
Use Cases
Importación Masiva de Nodes desde CSV
Un administrador de contenido necesita importar 500 artículos desde un sistema heredado. Exportan los datos del sistema heredado a CSV con columnas que coinciden con los campos de artículo (título, cuerpo, correo del autor, categoría). Usando Simple Node Importer, seleccionan tipo de entidad 'node' y tipo de contenido 'article', cargan el CSV y usan la interfaz de mapeo para conectar columnas CSV a campos de Drupal. El proceso por lotes importa todos los artículos, creando nodes con valores de campo apropiados y atribución de autor.
Migración de Usuarios
Una organización está migrando desde otra plataforma y necesita importar 1000 cuentas de usuario. Preparan un CSV con columnas de nombre de usuario, correo electrónico y estado. Después de seleccionar el tipo de entidad 'user', mapean las columnas CSV a campos de usuario. La importación crea cuentas de usuario, con el Centro de Resolución permitiéndoles corregir cualquier registro que falló en la validación (correos duplicados, formatos inválidos).
Importación de Jerarquía de Términos de Taxonomía
Un administrador del sitio necesita crear una taxonomía de categorías compleja con relaciones padre-hijo. Preparan un CSV con columnas para nombre del vocabulario, término padre y términos hijos. La importación de taxonomía crea el vocabulario si es necesario y establece la jerarquía de términos automáticamente.
Manejo de Importaciones Fallidas
Después de importar 200 nodes, 15 registros fallaron debido a formatos de fecha inválidos y campos requeridos faltantes. El administrador visita el Centro de Resolución, ve los registros fallidos y hace clic en 'Editar y Guardar' en cada uno para abrir un formulario de node prellenado mostrando exactamente qué campos tuvieron problemas. Corrigen los datos y guardan, actualizando automáticamente el estado del Centro de Resolución.
Plantilla de Campos de Tipo de Contenido
Un editor de contenido no está seguro de qué columnas necesita su CSV para importar eventos. Navegan a la página de importación, seleccionan 'node' y el tipo de contenido 'event', luego hacen clic en 'Descargar Archivo de Ejemplo'. Esto genera un CSV con encabezados que coinciden con todos los campos de evento (título, fecha, ubicación, descripción), que pueden completar y cargar.
Tips
- Siempre descargue y revise la plantilla CSV de ejemplo antes de preparar sus datos de importación para asegurar que los nombres de columna coinciden con los campos esperados
- Use la función 'Descargar CSV' del Centro de Resolución para obtener registros fallidos, corregirlos externamente y reimportar en una nueva operación
- Para importaciones grandes, considere dividir los datos en archivos CSV más pequeños para facilitar la resolución de problemas
- Los campos de referencia a entidades (usuario, taxonomía) deben contener valores que puedan coincidir - correo electrónico para usuarios, nombres de términos para taxonomía
- Los campos booleanos aceptan 'y', '1' o 'TRUE' para valores verdaderos y 'n', '0' o 'FALSE' para valores falsos
- El módulo crea un tipo de contenido personalizado 'simple_node' para rastrear importaciones - no elimine estos nodes hasta que la importación esté completa
Technical Details
Admin Pages 5
/admin/config/development/snodeimport
Página de configuración principal de Simple Node Importer. Los administradores pueden configurar qué tipos de entidad y tipos de contenido están disponibles para importar, establecer el comportamiento de auto-creación de usuarios y gestionar la configuración de términos de taxonomía.
/nodeimporter/resolution-center
Muestra una tabla de todas las operaciones de importación con registros fallidos. Los usuarios pueden ver los conteos de éxitos/fallos, descargar registros fallidos como CSV, ver registros fallidos individuales o eliminar registros de importación.
/node/add/simple_node
Interfaz para crear una nueva operación de importación. Los usuarios seleccionan el tipo de entidad, tipo de contenido (para nodes) y cargan un archivo CSV que contiene los datos a importar.
/nodeimport/{content_type}/{node}/mapping
Interfaz de mapeo flexible donde los usuarios mapean columnas CSV a campos del tipo de contenido. Muestra todos los campos disponibles del tipo de contenido seleccionado y permite seleccionar las columnas CSV correspondientes.
/nodeimport/{content_type}/{node}/importing
Página de confirmación antes de iniciar el proceso de importación por lotes. Muestra información importante sobre el manejo de autores y solicita confirmación final.
Permissions 4
Hooks 4
hook_form_alter
Modifica el formulario de node simple_node para agregar callbacks AJAX para selección de tipo de entidad, estados de visibilidad de campos, manejo de carga de CSV y validación. También modifica los formularios de entidad destino al resolver importaciones fallidas para prellenar campos.
hook_node_presave
Establece título automático para el tipo de contenido simple_node basado en el tipo de contenido seleccionado y la fecha de creación.
hook_theme
Define hooks de tema para la tabla de interfaz de mapeo, nota de información de contenido y texto de ayuda de mapeo.
hook_help
Proporciona texto de ayuda para la página de ayuda del módulo explicando características y uso.
Troubleshooting 7
Navegue a /admin/config/development/snodeimport y habilite al menos un tipo de entidad (node, user o taxonomy) en la sección de Configuración de Tipos de Entidad.
El tipo de contenido debe estar habilitado en la configuración del módulo. Vaya a /admin/config/development/snodeimport y marque el tipo de contenido deseado en Configuración de Tipos de Contenido.
El campo de autor espera direcciones de correo electrónico que coincidan con usuarios existentes. Habilite la auto-creación de usuarios en la configuración, o asegúrese de que todas las direcciones de correo en el CSV correspondan a cuentas de usuario existentes.
Verifique que el término de taxonomía existe en el vocabulario correcto. Habilite 'Permitir agregar nuevos términos de taxonomía' en la configuración si los términos deben crearse automáticamente.
Use formatos de fecha estándar como 'Y-m-d' o 'Y-m-d H:i:s'. Consulte el texto de ayuda de mapeo para formatos permitidos específicos de la configuración de su campo datetime.
Cada valor para un campo multivaluado debe estar en una columna CSV separada. En la página de mapeo, seleccione todas las columnas relevantes para ese campo (el desplegable permite selección múltiple).
Los nodes de importación son de un solo uso. Si necesita reimportar, cree un nuevo node de importación yendo a /node/add/simple_node.
Security Notes 5
- El módulo requiere permisos específicos para operaciones de importación - asegúrese de que solo usuarios de confianza tengan el permiso 'admin access simple_node_importer'
- Los archivos CSV se cargan y almacenan en el sistema de archivos de Drupal - asegúrese de que los permisos de archivo apropiados estén configurados
- La auto-creación de usuarios crea cuentas solo con el rol 'authenticated' - los roles administrativos deben asignarse manualmente
- El módulo valida formatos de correo electrónico y verifica usuarios duplicados antes de crear cuentas
- El contenido importado hereda el estado de publicación de los datos CSV - revise los valores de la columna de estado antes de importar