Présentation
GitHub : https://github.com/brianmcleer/add-edit-etl-widget
Add, Map & Edit Data est un widget personnalisé qui combine deux widgets intégrés d’Esri, Add Data et Edit, en intercalant une étape de correspondance des champs. Il est né d’un problème récurrent auquel je me heurtais. Quelqu’un possède un tableur ou une couche qu’il souhaite intégrer à une couche modifiable existante, mais les noms des champs entrants ne correspondent jamais à ceux de la couche cible. Il faut donc remanier les données en dehors d’Experience Builder avant de pouvoir les modifier. Je voulais que tout le processus — ajout, correspondance, chargement et modification — se déroule dans un seul widget, sans quitter l’application.
L’utilisateur ajoute des données comme avec le widget Add Data standard, à partir d’un fichier, d’une URL ou du contenu ArcGIS. Il associe ensuite les champs entrants à ceux de la couche cible. La correspondance prend en charge les relations un à un, plusieurs à un, un à plusieurs et plusieurs à plusieurs : vous pouvez donc concaténer plusieurs champs en un seul, diviser un champ en plusieurs, fusionner des valeurs, insérer une constante ou écrire une petite expression au besoin. Après une validation et un aperçu rapides, les enregistrements sont chargés par lots dans la couche cible. L’utilisateur peut ensuite modifier sur la carte les données qu’il vient de charger à l’aide des outils Edit habituels.
Comme pour mes autres widgets, la couche cible et toutes les options se trouvent dans le panneau de paramètres. Vous pouvez donc sélectionner votre propre couche sans modifier le code. Les correspondances peuvent également être exportées et importées au format XML. Ainsi, une configuration créée pour un chargement récurrent peut être enregistrée et réutilisée au lieu d’être recréée à chaque fois.
Ajout de vos données
L’étape d’ajout reprend l’expérience du widget Add Data standard. Les données peuvent donc provenir de trois sources :
- Un fichier sur votre ordinateur. Les formats pris en charge sont les shapefiles, les géodatabases fichiers, les fichiers CSV, GeoJSON, KML et GPX. Les shapefiles et les géodatabases fichiers doivent être compressés au format ZIP. Les limites d’Esri s’appliquent : 1 000 enregistrements maximum pour les CSV et 4 000 pour les autres formats, avec une limite de 2 Mo pour les shapefiles et de 10 Mo pour tous les autres fichiers, et jusqu’à 30 fichiers à la fois.
- Une URL vers un service Web. Vous pouvez indiquer l’URL d’un service d’entités, d’un service cartographique, d’un service de tuiles vectorielles, d’un service d’imagerie, d’un service de scènes, d’un service WFS, WMS ou WMTS, ou encore d’un fichier KML, GeoJSON ou CSV.
- Du contenu ArcGIS. Recherchez dans votre contenu, vos groupes, votre organisation et le contenu public, notamment ArcGIS Living Atlas of the World.
Quelle que soit la source, une fois les données importées, l’étape de correspondance associe leurs champs à ceux de la couche cible. Le format d’origine n’a donc plus d’importance au moment de l’écriture des enregistrements.
Fonctionnalités
En réalité, il s’agit d’un outil ETL léger qui s’exécute dans Experience Builder. Add correspond à l’extraction, l’étape de correspondance à la transformation et l’écriture dans la couche cible au chargement. Ainsi, le remaniement des données, qui se ferait normalement dans un outil bureautique ou au moyen d’une étape ETL distincte, s’effectue directement dans l’application.
- Un processus ETL léger intégré à l’application : extraction avec Add Data, transformation par correspondance des champs et chargement dans la couche cible, sans outil bureautique ni étape ETL distincts.
- Add Data, correspondance des champs, chargement et Edit réunis dans un seul widget guidé.
- Correspondance des champs selon des relations un à un, plusieurs à un, un à plusieurs et plusieurs à plusieurs, avec conversion des types et validation avant toute écriture.
- Étape de validation et d’aperçu, puis chargement par lots avec indication de la progression.
- Exportation et importation des correspondances au format XML pour des chargements réutilisables et reproductibles.
- Ajout facultatif de la couche cible à la carte, avec zoom sur les entités chargées et zoom sur une entité sélectionnée pendant la modification.
- Échelle de zoom configurable : le zoom modifie réellement l’échelle au lieu de simplement déplacer la carte.
- Autorisations de modification, options d’accrochage et outils de modification avancés accessibles dans le panneau de paramètres.
- Commandes accessibles au clavier et libellés destinés aux lecteurs d’écran dans l’ensemble du widget.
Configuration requise
ArcGIS Experience Builder Developer Edition 1.19 ou 1.20, qui utilise React 19. EB 1.18 et les versions antérieures utilisent React 18 et ne sont pas prises en charge.
Installation
Téléchargez le fichier ZIP joint et décompressez-le. Placez le dossier add-edit-etl dans client\your-extensions\widgets, de sorte que son fichier manifest.json se trouve directement dans client\your-extensions\widgets\add-edit-etl, et non dans un sous-dossier supplémentaire. Exécutez npm install dans le dossier client, puis redémarrez. Les instructions complètes, y compris la solution au problème des noms en double, se trouvent dans le fichier README sur GitHub.
Commentaires
Il s’agit de la première version, quelques imperfections sont donc à prévoir. Si vous rencontrez un bogue ou avez une idée de fonctionnalité, veuillez la publier dans les commentaires de cet article et je l’examinerai.
Crédits et licence
Il s’agit d’une œuvre dérivée des widgets Add Data et Edit d’Esri, tous deux créés par l’Esri R&D Center Beijing et publiés sous licence Apache, version 2.0. Elle a été combinée, modifiée et enrichie par la ville de Grand Junction, au Colorado. Sous licence Apache-2.0. Œuvre originale protégée par le droit d’auteur d’Esri ; modifications protégées par le droit d’auteur de la ville de Grand Junction, au Colorado.
Historique des modifications
12/10/2026 : Le widget suit désormais la langue de l’application (?locale=, le sélecteur de langue, le profil ArcGIS ou le navigateur) dans 39 langues ; le guide d’aide est également inclus.
Vous avez vos propres widgets personnalisés ? Le même outil gratuit, exb-i18n-kit, peut les traduire en une seule commande : localize. Voici comment il traduit chaque expression :
- Esri d’abord. L’outil récupère les traductions déjà présentes dans votre installation d’Experience Builder. Ainsi, une expression comme « Zoom to » reprend la formulation utilisée par les widgets d’Esri.
- Termes normalisés. Les unités, comme les pieds et les acres, proviennent d’Unicode CLDR, la même base de données que celle utilisée par les navigateurs.
- Mémoire de traduction partagée. Les éléments restants proviennent d’un dictionnaire partagé créé à l’aide de LibreTranslate, un traducteur libre, ainsi que des modèles Opus-MT de Helsinki-NLP pour le bosnien, le croate et le serbe. L’outil fonctionne gratuitement sur GitHub : vous n’avez donc besoin ni d’une clé API ni d’un compte.
- Connexion. L’outil repère également le texte anglais codé en dur en dehors du fichier de traduction du widget, par exemple dans un paramètre par défaut ou un guide d’aide, et le relie au système de traduction.
Les corrections manuelles priment toujours sur les traductions automatiques et ne sont jamais remplacées. Certaines traductions étant générées par machine, n’hésitez pas à proposer ici une meilleure formulation si vous en repérez une qui ne convient pas.
23 juillet 2026 :
- La version v1.2.1 met le widget à jour pour assurer sa compatibilité avec Experience Builder 1.21. Les versions du manifeste et du package passent à 1.21 et un fichier tsconfig propre au widget est ajouté afin d’améliorer la résolution des types dans l’éditeur.
7 juillet 2026 :
- Insérez, mettez à jour ou effectuez une mise à jour avec insertion. Choisissez un champ clé : lors d’un nouveau chargement, les enregistrements sont actualisés sur place au lieu d’être dupliqués.
- Vérifiez les données avant leur chargement. L’outil signale les valeurs nulles, les valeurs incorrectes, les violations de domaines et les clés en double, sans rien écrire.
- Nouvelles transformations : analyse des dates avec indication du format, tables de correspondance pour le recodage, conversion d’unités et modèles {field}.
- Les lignes en échec peuvent être téléchargées au format CSV, avec l’erreur indiquée pour chacune.
- L’export XML contient désormais tous les paramètres, y compris le mode de chargement et la clé.
23 juin 2026 : ajout de plusieurs couches cibles et modification de la symbologie sur la carte ; déplacement et nouvelle mise en forme du panneau de symbologie.
22 juin 2026 : version initiale, désormais disponible sur GitHub.