Repository for the Feature Identify custom widget for ArcGIS Experience Builder Developer Edition 1.21.
Feature Identify coordinates native web map popups and one or more REST-only identify layers so a single map click produces one predictable popup, with duplicate removal, native popup data actions on configured REST results, and on-screen diagnostics for troubleshooting on any device. The full feature list, requirements, and install steps are in the widget-level README inside the feature-identify folder, which is what ships in each release zip.
- Releases (downloadable zips): https://github.com/brianmcleer/feature-identify-widget/releases
- Esri Community post: (link to be added after the community post is published)
feature-identify-widget/ the repo
├── README.md this file, the GitHub landing page
├── LICENSE Apache-2.0
├── .gitignore ignores node_modules, .vs, etc.
├── publish.ps1 one-command publish/update automation
└── feature-identify/ the actual widget (drops into your-extensions/widgets)
├── manifest.json
├── package.json
├── config.json
├── tsconfig.json
├── icon.svg
├── README.md install steps and troubleshooting travel with the widget
├── LICENSE
├── CHANGELOG.md
└── src/ ...
Download the zip from the latest release, extract it, and drop the feature-identify folder into client\your-extensions\widgets so that manifest.json sits directly inside your-extensions\widgets\feature-identify, never nested a second level deep. Then run the standard client install (pnpm on Experience Builder 1.21 and later) and restart the client. Full steps are in the widget-level README.
The zip is the widget only. The Visual Studio type shims in the repo (feature-identify/src/exb-editor-shims.d.ts, feature-identify/src/vendor-shims.d.ts) are left out on purpose: their ambient declare module blocks are not file-scoped and would rewrite the react, jimu and esri types for every other widget in your your-extensions folder.
If you clone the repository instead of using the zip, delete feature-identify/src/exb-editor-shims.d.ts and the other shim files listed above before building; nothing else depends on them.
The Experience Builder widget folder is the single source of truth. publish.ps1 mirrors it into this repo with robocopy /MIR, commits, pushes, and optionally cuts a release. Any change you want to keep, including dependency and security fixes, must be made in the EB widget folder first; a repo-only edit is overwritten on the next publish.
From a terminal opened in this repo folder:
- Normal update:
powershell -ExecutionPolicy Bypass -File .\publish.ps1 - Update plus release:
powershell -ExecutionPolicy Bypass -File .\publish.ps1 -Release v1.1.0
Version tags must increase and never repeat: bug fix v1.0.1, new feature v1.1.0, major change v2.0.0.
The widget follows the Experience Builder app language: the ArcGIS profile language, the browser, ?locale=xx in the URL, or the Language Switcher widget. Interface text lives in src/runtime/translations/default.ts (and src/setting/translations/default.ts for the settings panel), with language files for all 39 Experience Builder locales made by exb-i18n-kit.
- Esri's own Experience Builder translations are used first, so shared words match the out-of-the-box widgets.
- Other strings come from the kit's shared translation memory. Machine translations are marked for review.
- Anything not translated yet shows in English.
- Coverage per language:
feature-identify/i18n/STATUS.md. - To fix a translation for every widget that uses it, open a pull request on
memory/<locale>.jsonin exb-i18n-kit.
Apache-2.0. Copyright City of Grand Junction, CO.