Descripción general
GitHub: https://github.com/brianmcleer/add-edit-etl-widget
Agregar, asignar y editar datos es un widget personalizado que combina dos de los widgets listos para usar de Esri, Agregar datos y Editar, e incorpora entre ambos un paso para asignar campos. Surgió de un problema recurrente con el que me topaba. Alguien tiene una hoja de cálculo o una capa que quiere incorporar a una capa editable existente, pero los nombres de los campos entrantes nunca coinciden con los de destino, por lo que hay que reorganizar los datos fuera de Experience Builder antes de poder editarlos. Quería que todo el proceso —agregar, asignar, cargar y editar— se realizara en un solo widget, sin salir de la aplicación.
El usuario agrega datos de la misma manera que con el widget estándar Agregar datos: desde un archivo, una URL o contenido de ArcGIS. Luego asigna los campos entrantes a los campos de la capa de destino. La asignación admite relaciones de uno a uno, de varios a uno, de uno a varios y de varios a varios, así que se pueden concatenar un par de campos en uno, dividir un campo en varios, combinar valores, insertar una constante o escribir una pequeña expresión cuando haga falta. Tras una validación y una vista previa rápidas, los registros se cargan por lotes en la capa de destino, y luego se pueden editar en el mapa con las herramientas habituales de Editar.
Como en mis otros widgets, la capa de destino y todas las opciones están en el panel de configuración, así que puedes seleccionar tu propia capa sin editar código. Las asignaciones también se exportan e importan como XML, lo que permite guardar y reutilizar una asignación que hayas creado para una carga recurrente, en lugar de volver a crearla cada vez.
Agregar tus datos
El paso para agregar datos utiliza la experiencia estándar de Agregar datos, por lo que el origen puede ser uno de estos tres:
- Un archivo de tu equipo. Los formatos compatibles son shapefile, geodatabase de archivos, CSV, GeoJSON, KML y GPX. Los shapefiles y las geodatabases de archivos deben estar comprimidos en un archivo ZIP. Se aplican los límites de Esri: CSV admite hasta 1.000 registros y los demás formatos, hasta 4.000; el límite es de 2 MB para shapefiles y de 10 MB para los demás, y se pueden agregar hasta 30 archivos a la vez.
- Una URL de un servicio web. Puedes indicar un servicio de entidades, de mapas, de teselas vectoriales, de imágenes, de escenas, WFS, WMS, WMTS, KML, GeoJSON o CSV.
- Contenido de ArcGIS. Busca en tu propio contenido, tus grupos, tu organización y el contenido público, incluido ArcGIS Living Atlas of the World.
Sea cual sea el origen, una vez que los datos se agregan, el paso de asignación hace coincidir sus campos con los de la capa de destino, así que el formato original deja de importar cuando llega el momento de escribir los registros.
Características
En realidad, es una herramienta ETL ligera que funciona dentro de Experience Builder. Agregar es la extracción, el paso de asignación es la transformación y la escritura en la capa de destino es la carga. Así, la reorganización de datos que normalmente harías en una herramienta de escritorio o en un paso ETL aparte se realiza directamente en la aplicación.
- Flujo de trabajo ETL ligero en la aplicación: extrae con Agregar datos, transforma mediante la asignación de campos y carga en la capa de destino, sin necesidad de usar otra herramienta de escritorio ni un paso ETL independiente.
- Agregar datos, asignar campos, cargar y editar, todo en un widget guiado.
- Asignación de campos con relaciones de uno a uno, de varios a uno, de uno a varios y de varios a varios, con conversión de tipos y validación antes de escribir los datos.
- Paso de validación y vista previa, seguido de una carga por lotes con indicador de progreso.
- Exportación e importación de asignaciones como XML para repetir y reutilizar cargas.
- Opción para agregar la capa de destino al mapa, acercar a las entidades cargadas y acercar a una entidad cuando se selecciona durante la edición.
- Escala de zoom configurable, para que el zoom cambie realmente la escala y no solo desplace el mapa.
- Permisos de edición, opciones de alineación y herramientas de edición avanzadas disponibles en el panel de configuración.
- Controles accesibles mediante teclado y etiquetas para lectores de pantalla en todo el widget.
Requisitos
ArcGIS Experience Builder Developer Edition 1.19 o 1.20, que utilizan React 19. EB 1.18 y versiones anteriores utilizan React 18 y no son compatibles.
Instalación
Descarga el archivo ZIP adjunto y extráelo. Copia la carpeta add-edit-etl en client\your-extensions\widgets para que manifest.json quede directamente dentro de client\your-extensions\widgets\add-edit-etl, sin que quede anidado un nivel más. Ejecuta npm install en la carpeta client y luego reinicia. En el README de GitHub encontrarás los pasos completos, incluida la solución para nombres duplicados.
Comentarios
Esta es la primera versión, así que puede que tenga algunos detalles por pulir. Si encuentras un error o se te ocurre alguna función que debería incluir, déjalo en los comentarios de esta publicación y lo revisaré.
Créditos y licencia
Este trabajo derivado se basa en los widgets Agregar datos y Editar de Esri, ambos desarrollados por el Centro de I+D de Esri en Pekín y publicados bajo la Licencia Apache, versión 2.0. La ciudad de Grand Junction, Colorado, los combinó, modificó y amplió. Licencia Apache-2.0. Trabajo original con derechos de autor de Esri; modificaciones con derechos de autor de la ciudad de Grand Junction, Colorado.
Registro de cambios
12/10/2026: El widget ahora sigue el idioma de la aplicación (?locale=, el selector de idioma, el perfil de ArcGIS o el navegador) en 39 idiomas, incluida la guía de ayuda.
¿Tienes tus propios widgets personalizados? La misma herramienta gratuita, exb-i18n-kit, puede traducirlos con un solo comando: localize. Así completa cada frase:
- Primero, Esri. Lee las traducciones que ya están en tu instalación de Experience Builder, así que una frase como «Acercar a» utiliza la misma traducción que los propios widgets de Esri.
- Términos estándar. Los nombres de las unidades, como pies y acres, provienen de Unicode CLDR, los mismos datos que utilizan los navegadores.
- Memoria de traducción compartida. El resto proviene de un diccionario compartido creado con LibreTranslate, un traductor de código abierto, y los modelos Opus-MT de Helsinki-NLP para bosnio, croata y serbio. Se ejecuta gratuitamente en GitHub, así que no necesitas una clave de API ni una cuenta.
- Integración. También encuentra texto en inglés codificado directamente fuera del archivo de traducción del widget, como una configuración predeterminada o una guía de ayuda, y lo conecta para que también se traduzca.
Las correcciones manuales siempre tienen prioridad sobre las generadas automáticamente y nunca se sobrescriben. Algunas traducciones son automáticas, así que, si encuentras alguna que no esté bien, responde aquí con una alternativa mejor.
23 de julio de 2026:
- La versión v1.2.1 actualiza el widget para que sea compatible con Experience Builder 1.21: se actualizaron a 1.21 las versiones del manifiesto y del paquete, y se añadió un tsconfig a nivel de widget para mejorar la resolución de tipos en el editor.
7 de julio de 2026:
- Insertar, actualizar o insertar/actualizar. Elige un campo clave y, al volver a cargar, los registros se actualizan en lugar de duplicarse.
- Revisa los datos antes de cargarlos. Informa de valores nulos o incorrectos, infracciones de dominio y claves duplicadas, sin escribir nada.
- Nuevas transformaciones: análisis de fechas con indicación de formato, mapas de valores para recodificar, conversión de unidades y plantillas {field}.
- Las filas con errores se pueden descargar como CSV, con el error correspondiente a cada una.
- La exportación XML ahora incluye todo, incluso el modo de carga y la clave.
23 de junio de 2026: se añadió la opción de agregar varias capas de destino y editar la simbología en el mapa; se movió y se cambió el estilo del panel de simbología.
22 de junio de 2026: lanzamiento inicial, ahora disponible en GitHub.