Überblick
GitHub: https://github.com/brianmcleer/add-edit-etl-widget
„Daten hinzufügen, zuordnen und bearbeiten“ ist ein angepasstes Widget, das zwei der standardmäßig enthaltenen Widgets von Esri – „Daten hinzufügen“ und „Bearbeiten“ – kombiniert und dazwischen einen Schritt zur Feldzuordnung einfügt. Entstanden ist es aus einem wiederkehrenden Problem, auf das ich immer wieder gestoßen bin: Jemand hat eine Tabelle oder einen Layer, den er in einen vorhandenen bearbeitbaren Layer übernehmen möchte, doch die eingehenden Feldnamen stimmen nie mit denen des Ziellayers überein. Deshalb müssen die Daten außerhalb von Experience Builder umstrukturiert werden, bevor sie jemand bearbeiten kann. Ich wollte, dass der gesamte Ablauf – hinzufügen, zuordnen, laden und bearbeiten – in einem einzigen Widget stattfindet, ohne die App verlassen zu müssen.
Nutzer fügen Daten genauso hinzu wie mit dem standardmäßigen Widget „Daten hinzufügen“: aus einer Datei, über eine URL oder aus ArcGIS-Inhalten. Anschließend ordnen sie die eingehenden Felder den Feldern des Ziellayers zu. Die Zuordnung unterstützt Eins-zu-eins, Viele-zu-eins, Eins-zu-viele und Viele-zu-viele. So können Sie mehrere Felder zu einem zusammenfügen, ein Feld in mehrere aufteilen, Werte zusammenführen, eine Konstante einfügen oder bei Bedarf einen kleinen Ausdruck schreiben. Nach einer kurzen Validierung und Vorschau werden die Datensätze stapelweise in den Ziellayer geladen. Anschließend können die Nutzer die soeben geladenen Daten mit den regulären Bearbeitungswerkzeugen direkt auf der Karte bearbeiten.
Wie bei meinen anderen Widgets befinden sich der Ziellayer und alle Optionen im Einstellungsbereich. Sie können also Ihren eigenen Layer festlegen, ohne den Code bearbeiten zu müssen. Zuordnungen lassen sich außerdem als XML exportieren und importieren. So kann eine Zuordnung für einen wiederkehrenden Ladevorgang gespeichert und wiederverwendet werden, statt sie jedes Mal neu zu erstellen.
Daten hinzufügen
Für das Hinzufügen wird die standardmäßige Funktion von „Daten hinzufügen“ verwendet. Die Quelle kann also aus drei Bereichen stammen:
- Eine Datei von Ihrem Computer. Unterstützte Upload-Formate sind Shapefile, File-Geodatabase, CSV, GeoJSON, KML und GPX. Shapefiles und File-Geodatabases müssen gezippt sein. Es gelten die Beschränkungen von Esri: CSV-Dateien dürfen höchstens 1.000 Datensätze enthalten, andere Formate höchstens 4.000. Für Shapefiles gilt eine Größenbeschränkung von 2 MB, für alle anderen Dateien von 10 MB. Es können bis zu 30 Dateien gleichzeitig hochgeladen werden.
- Eine URL zu einem Webservice. Sie können auf einen Feature-Service, Kartenservice, Vektorkachel-Service, Bildservice, Szenenservice, WFS, WMS, WMTS, KML, GeoJSON oder CSV verweisen.
- ArcGIS-Inhalte. Durchsuchen Sie Ihre eigenen Inhalte, Ihre Gruppen, Ihre Organisation und öffentliche Inhalte, darunter ArcGIS Living Atlas of the World.
Unabhängig von der Quelle werden die Felder nach dem Hinzufügen den Feldern des Ziellayers zugeordnet. Das ursprüngliche Format spielt daher beim Schreiben der Datensätze keine Rolle mehr.
Funktionen
Im Grunde ist dies ein leichtgewichtiges ETL-Werkzeug, das innerhalb von Experience Builder ausgeführt wird. „Daten hinzufügen“ übernimmt die Extraktion, die Feldzuordnung die Transformation und das Schreiben in den Ziellayer das Laden. Die Umstrukturierung, die normalerweise in einem Desktop-Werkzeug oder einem separaten ETL-Schritt erfolgen würde, findet somit direkt in der App statt.
- Ein leichtgewichtiger ETL-Ablauf direkt in der App: Mit „Daten hinzufügen“ extrahieren, über die Feldzuordnung transformieren und in den Ziellayer laden – ohne separates Desktop-Werkzeug oder ETL-Verfahren.
- Daten hinzufügen, Felder zuordnen, laden und bearbeiten – alles in einem geführten Widget.
- Feldzuordnung für Eins-zu-eins, Viele-zu-eins, Eins-zu-viele und Viele-zu-viele, mit Typkonvertierung und Validierung, bevor Daten geschrieben werden.
- Schritt zum Validieren und Anzeigen einer Vorschau, anschließend stapelweises Laden mit Fortschrittsanzeige.
- Zuordnungen für wiederholbare, wiederverwendbare Ladevorgänge als XML exportieren und importieren.
- Ziellayer optional zur Karte hinzufügen, mit Zoom auf die geladenen Features und Zoom auf ein Feature, wenn es während der Bearbeitung ausgewählt wird.
- Konfigurierbarer Zoommaßstab, damit sich beim Zoomen tatsächlich der Maßstab ändert und nicht nur die Karte verschoben wird.
- Bearbeitungsberechtigungen, Fangoptionen und erweiterte Bearbeitungswerkzeuge im Einstellungsbereich.
- Durchgehend tastaturbedienbare Steuerelemente und Beschriftungen für Screenreader.
Anforderungen
ArcGIS Experience Builder Developer Edition 1.19 oder 1.20, die React 19 verwenden. EB 1.18 und ältere Versionen verwenden React 18 und werden nicht unterstützt.
Installation
Laden Sie die angehängte ZIP-Datei herunter und entpacken Sie sie. Legen Sie den Ordner add-edit-etl in client\your-extensions\widgets ab, sodass sich die manifest.json direkt unter client\your-extensions\widgets\add-edit-etl befindet und nicht noch eine zusätzliche Ordnerebene dazwischenliegt. Führen Sie im Ordner client den Befehl npm install aus und starten Sie anschließend neu. Die vollständige Anleitung, einschließlich der Lösung für doppelte Namen, finden Sie in der README-Datei auf GitHub.
Feedback
Dies ist die erste Version, daher kann es noch einige Ecken und Kanten geben. Wenn Sie auf einen Fehler stoßen oder eine Idee haben, was das Widget können sollte, hinterlassen Sie bitte einen Kommentar zu diesem Beitrag. Ich werde mir das ansehen.
Danksagungen und Lizenz
Dieses abgeleitete Werk basiert auf den Widgets „Daten hinzufügen“ und „Bearbeiten“ von Esri, die beide vom Esri R&D Center Beijing stammen und unter der Apache License, Version 2.0, veröffentlicht wurden. Es wurde von der Stadt Grand Junction, Colorado, zusammengeführt, geändert und erweitert. Lizenziert unter Apache-2.0. Urheberrecht am Originalwerk: Esri; Urheberrecht an den Änderungen: Stadt Grand Junction, Colorado.
Änderungsprotokoll
12.10.2026: Das Widget übernimmt jetzt die Sprache der App (?locale=, den Sprachumschalter, das ArcGIS-Profil oder den Browser) und unterstützt 39 Sprachen. Die Hilfeanleitung ist ebenfalls enthalten.
Haben Sie eigene benutzerdefinierte Widgets? Mit demselben kostenlosen Tool, exb-i18n-kit, können Sie sie mit einem einzigen Befehl übersetzen: localize. So werden die einzelnen Formulierungen ergänzt:
- Zuerst Esri. Das Tool liest die Übersetzungen, die bereits in Ihrer Experience-Builder-Installation vorhanden sind. Eine Formulierung wie „Zoom auf“ entspricht daher der Wortwahl in Esris eigenen Widgets.
- Standardbegriffe. Einheiten wie Fuß und Acre stammen aus Unicode CLDR, denselben Daten, die auch Browser verwenden.
- Gemeinsamer Übersetzungsspeicher. Alles Übrige stammt aus einem gemeinsamen Wörterbuch, das mit LibreTranslate, einem Open-Source-Übersetzer, sowie den Opus-MT-Modellen von Helsinki-NLP für Bosnisch, Kroatisch und Serbisch erstellt wurde. Das Tool läuft kostenlos auf GitHub. Sie benötigen weder einen API-Schlüssel noch ein Konto.
- Einbindung. Das Tool findet außerdem englische Texte, die außerhalb der Übersetzungsdatei des Widgets fest codiert sind – etwa Standardeinstellungen oder eine Hilfeanleitung – und bindet sie ein, damit auch sie übersetzt werden.
Manuell erstellte Korrekturen haben immer Vorrang vor maschinellen Übersetzungen und werden niemals überschrieben. Einige Übersetzungen stammen von einer Maschine. Wenn Ihnen eine unpassende Formulierung auffällt, antworten Sie hier mit einem besseren Vorschlag.
23. Juli 2026:
- v1.2.1 aktualisiert das Widget für die Kompatibilität mit Experience Builder 1.21. Dazu wurden die Manifest- und Paketversionen auf 1.21 angehoben und eine tsconfig auf Widget-Ebene hinzugefügt, damit der Editor Typen sauberer auflösen kann.
7. Juli 2026:
- Einfügen, aktualisieren oder Upsert. Wählen Sie ein Schlüsselfeld aus. Beim erneuten Laden werden Datensätze dann aktualisiert, statt dupliziert zu werden.
- Prüfen Sie die Daten vor dem Laden. Das Tool meldet Nullwerte, ungültige Werte, Verstöße gegen Domänen und doppelte Schlüssel, ohne etwas zu schreiben.
- Neue Transformationen: Datumsparsing mit Formatangabe, Wertzuordnungen zur Rekodierung, Einheitenumrechnung und Vorlagen mit {field}.
- Fehlerhafte Zeilen können als CSV heruntergeladen werden, einschließlich des jeweiligen Fehlers.
- Der XML-Export enthält jetzt alle Angaben, einschließlich Lademodus und Schlüssel.
23. Juni 2026: Mehrere Ziellayer hinzufügen und Symbologie direkt auf der Karte bearbeiten; Symbologie-Bereich verschieben und neu gestalten.
22. Juni 2026: Erstveröffentlichung, jetzt auf GitHub.