<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic FeedSimple: Live XML and GeoRSS Feed Integration with Spatial Join and Dynamic Feature Layer in Experience Builder Custom Widgets</title>
    <link>https://community.esri.com/t5/experience-builder-custom-widgets/feedsimple-live-xml-and-georss-feed-integration/m-p/1691177#M681</link>
    <description>&lt;P class=""&gt;&lt;FONT size="6"&gt;&lt;STRONG&gt;FeedSimple: XML/GeoRSS Feed Widget&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=""&gt;The idea for this came to me Thursday evening at the 2026 Esri Dev/Tech Summit and this is what I have. I am in the process of developing a configuration guide. This widget has gone through a ton of changes in a few days, so that's made lots of my screen shots outdated. I should have that put together shortly. You can find the widget and documentation on my GitHub site (at the bottom). I was going to post the zip file, but this is widget rapidly changing and GitHub is the place to get the latest.&lt;/P&gt;&lt;P class=""&gt;Built a custom ExB widget that consumes live XML-based feeds and displays them as interactive cards alongside a web map. Compatible with RSS, Atom, GeoRSS, and custom XML schemas.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="fs usgs desktop.png" style="width: 999px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/149977iD2992196E074C6CC/image-size/large?v=v2&amp;amp;px=999" role="button" title="fs usgs desktop.png" alt="fs usgs desktop.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;STRONG&gt;King County Road Closures (spatial join mode)&lt;/STRONG&gt; &lt;A href="https://feed-test.mapsimple.org" target="_blank" rel="noopener"&gt;https://feed-test.mapsimple.org&lt;/A&gt;&lt;BR /&gt;&lt;STRONG&gt;USGS Earthquakes - Past 24 Hours (auto-generated map layer)&lt;/STRONG&gt; &lt;A href="https://feed-quakes.mapsimple.org" target="_blank" rel="noopener"&gt;https://feed-quakes.mapsimple.org&lt;/A&gt;&lt;/P&gt;&lt;HR /&gt;&lt;P class=""&gt;&lt;STRONG&gt;Core&lt;/STRONG&gt;&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;Universal XML parser: RSS, Atom, GeoRSS, custom XML with recursive nested field flattening, namespace stripping, attribute extraction, array handling&lt;/LI&gt;&lt;LI&gt;Configurable polling with Page Visibility API (pause when hidden, instant resume)&lt;/LI&gt;&lt;LI&gt;Non-blocking error handling: stale data stays visible on fetch failure&lt;/LI&gt;&lt;LI&gt;CORS proxy support via esriRequest with automatic portal token auth&lt;/LI&gt;&lt;LI&gt;Independent versioning and config migration system&lt;/LI&gt;&lt;/UL&gt;&lt;P class=""&gt;&lt;STRONG&gt;Card Rendering&lt;/STRONG&gt;&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;Markdown card templates with {{token}} substitution&lt;/LI&gt;&lt;LI&gt;Chainable pipe filters: date formatting (24h, timezone offset), math (/, *, +, -), round, abs, prefix, suffix, upper, lower, autolink, externalLink&lt;/LI&gt;&lt;LI&gt;Mobile card template (separate simplified template at 600px and below)&lt;/LI&gt;&lt;LI&gt;Status color coding: exact match mode (per-value colors) and range mode (numeric class breaks with labels)&lt;/LI&gt;&lt;LI&gt;Color legend: collapsible bar above cards, admin-togglable, shows swatches and labels&lt;/LI&gt;&lt;LI&gt;Card action toolbar: zoom, pan, expand, external link buttons with configurable position (bottom/right/kebab menu) and separate mobile position&lt;/LI&gt;&lt;LI&gt;Hover tooltips from any field&lt;/LI&gt;&lt;LI&gt;Expand button showing raw field:value pairs&lt;/LI&gt;&lt;LI&gt;Source attribution footer with optional link&lt;/LI&gt;&lt;LI&gt;Highlight animation on new/changed items after refresh&lt;/LI&gt;&lt;/UL&gt;&lt;P class=""&gt;&lt;STRONG&gt;Search, Sort and Pagination&lt;/STRONG&gt;&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;Real-time client-side text search with 200ms debounce and configurable search fields&lt;/LI&gt;&lt;LI&gt;Runtime sort controls with field dropdown and direction toggle&lt;/LI&gt;&lt;LI&gt;Reverse feed order option&lt;/LI&gt;&lt;LI&gt;Range label search and sort (virtual fields from color breaks)&lt;/LI&gt;&lt;LI&gt;Expand-style pagination with Show More / Show All and {n} remaining count token&lt;/LI&gt;&lt;LI&gt;Configurable item labels (singular/plural) for count display&lt;/LI&gt;&lt;/UL&gt;&lt;P class=""&gt;&lt;STRONG&gt;Feed Map Layer&lt;/STRONG&gt;&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;Auto-generated client-side FeatureLayer from feed coordinates: no feature service needed&lt;/LI&gt;&lt;LI&gt;ClassBreaksRenderer for range-based map symbology (independent map colors, sizes, marker styles per range)&lt;/LI&gt;&lt;LI&gt;Dynamic popup title with {{token}} substitution&lt;/LI&gt;&lt;LI&gt;Bidirectional card and map sync&lt;/LI&gt;&lt;LI&gt;GeoRSS georss:point auto-splitting&lt;/LI&gt;&lt;LI&gt;Efficient poll-cycle sync via applyEdits()&lt;/LI&gt;&lt;LI&gt;FeatureEffect dimming on joined layers during search/filter&lt;/LI&gt;&lt;/UL&gt;&lt;P class=""&gt;&lt;STRONG&gt;Spatial Join (Feature Service Integration)&lt;/STRONG&gt;&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;Join feed items to existing feature service by shared key&lt;/LI&gt;&lt;LI&gt;Batch WHERE IN queries with numeric/string detection&lt;/LI&gt;&lt;LI&gt;Card click: zoom/pan to matched feature + popup&lt;/LI&gt;&lt;LI&gt;Configurable zoom level (points) and zoom buffer (lines/polygons)&lt;/LI&gt;&lt;/UL&gt;&lt;P class=""&gt;&lt;STRONG&gt;Mobile and Responsive&lt;/STRONG&gt;&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;Mobile popup behavior: collapsed, dock position, hide dock button, hide action bar&lt;/LI&gt;&lt;LI&gt;Mobile card template and mobile toolbar position overrides&lt;/LI&gt;&lt;LI&gt;iOS auto-zoom prevention&lt;/LI&gt;&lt;/UL&gt;&lt;P class=""&gt;&lt;STRONG&gt;Developer&lt;/STRONG&gt;&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;Debug logger with tagged channels (FETCH, PARSE, RENDER, POLL, JOIN, TEMPLATE, SETTINGS, FEED-LAYER)&lt;/LI&gt;&lt;LI&gt;137 unit tests across 4 test files&lt;/LI&gt;&lt;/UL&gt;&lt;P class=""&gt;&lt;STRONG&gt;GitHub:&lt;/STRONG&gt; &lt;A href="https://github.com/MapSimple-Org/ExB-Simple-Public" target="_blank" rel="noopener"&gt;https://github.com/MapSimple-Org/ExB-Simple-Public&lt;/A&gt;&lt;BR /&gt;&lt;STRONG&gt;Docs:&lt;/STRONG&gt; &lt;A href="https://mapsimple.org/samples/" target="_blank" rel="noopener"&gt;https://mapsimple.org/samples/&lt;/A&gt;&lt;/P&gt;&lt;P class=""&gt;ExB Developer Edition 1.19.0+.&lt;/P&gt;</description>
    <pubDate>Wed, 18 Mar 2026 05:31:51 GMT</pubDate>
    <dc:creator>adamsimple</dc:creator>
    <dc:date>2026-03-18T05:31:51Z</dc:date>
    <item>
      <title>FeedSimple: Live XML and GeoRSS Feed Integration with Spatial Join and Dynamic Feature Layer</title>
      <link>https://community.esri.com/t5/experience-builder-custom-widgets/feedsimple-live-xml-and-georss-feed-integration/m-p/1691177#M681</link>
      <description>&lt;P class=""&gt;&lt;FONT size="6"&gt;&lt;STRONG&gt;FeedSimple: XML/GeoRSS Feed Widget&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P class=""&gt;The idea for this came to me Thursday evening at the 2026 Esri Dev/Tech Summit and this is what I have. I am in the process of developing a configuration guide. This widget has gone through a ton of changes in a few days, so that's made lots of my screen shots outdated. I should have that put together shortly. You can find the widget and documentation on my GitHub site (at the bottom). I was going to post the zip file, but this is widget rapidly changing and GitHub is the place to get the latest.&lt;/P&gt;&lt;P class=""&gt;Built a custom ExB widget that consumes live XML-based feeds and displays them as interactive cards alongside a web map. Compatible with RSS, Atom, GeoRSS, and custom XML schemas.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="fs usgs desktop.png" style="width: 999px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/149977iD2992196E074C6CC/image-size/large?v=v2&amp;amp;px=999" role="button" title="fs usgs desktop.png" alt="fs usgs desktop.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;STRONG&gt;King County Road Closures (spatial join mode)&lt;/STRONG&gt; &lt;A href="https://feed-test.mapsimple.org" target="_blank" rel="noopener"&gt;https://feed-test.mapsimple.org&lt;/A&gt;&lt;BR /&gt;&lt;STRONG&gt;USGS Earthquakes - Past 24 Hours (auto-generated map layer)&lt;/STRONG&gt; &lt;A href="https://feed-quakes.mapsimple.org" target="_blank" rel="noopener"&gt;https://feed-quakes.mapsimple.org&lt;/A&gt;&lt;/P&gt;&lt;HR /&gt;&lt;P class=""&gt;&lt;STRONG&gt;Core&lt;/STRONG&gt;&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;Universal XML parser: RSS, Atom, GeoRSS, custom XML with recursive nested field flattening, namespace stripping, attribute extraction, array handling&lt;/LI&gt;&lt;LI&gt;Configurable polling with Page Visibility API (pause when hidden, instant resume)&lt;/LI&gt;&lt;LI&gt;Non-blocking error handling: stale data stays visible on fetch failure&lt;/LI&gt;&lt;LI&gt;CORS proxy support via esriRequest with automatic portal token auth&lt;/LI&gt;&lt;LI&gt;Independent versioning and config migration system&lt;/LI&gt;&lt;/UL&gt;&lt;P class=""&gt;&lt;STRONG&gt;Card Rendering&lt;/STRONG&gt;&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;Markdown card templates with {{token}} substitution&lt;/LI&gt;&lt;LI&gt;Chainable pipe filters: date formatting (24h, timezone offset), math (/, *, +, -), round, abs, prefix, suffix, upper, lower, autolink, externalLink&lt;/LI&gt;&lt;LI&gt;Mobile card template (separate simplified template at 600px and below)&lt;/LI&gt;&lt;LI&gt;Status color coding: exact match mode (per-value colors) and range mode (numeric class breaks with labels)&lt;/LI&gt;&lt;LI&gt;Color legend: collapsible bar above cards, admin-togglable, shows swatches and labels&lt;/LI&gt;&lt;LI&gt;Card action toolbar: zoom, pan, expand, external link buttons with configurable position (bottom/right/kebab menu) and separate mobile position&lt;/LI&gt;&lt;LI&gt;Hover tooltips from any field&lt;/LI&gt;&lt;LI&gt;Expand button showing raw field:value pairs&lt;/LI&gt;&lt;LI&gt;Source attribution footer with optional link&lt;/LI&gt;&lt;LI&gt;Highlight animation on new/changed items after refresh&lt;/LI&gt;&lt;/UL&gt;&lt;P class=""&gt;&lt;STRONG&gt;Search, Sort and Pagination&lt;/STRONG&gt;&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;Real-time client-side text search with 200ms debounce and configurable search fields&lt;/LI&gt;&lt;LI&gt;Runtime sort controls with field dropdown and direction toggle&lt;/LI&gt;&lt;LI&gt;Reverse feed order option&lt;/LI&gt;&lt;LI&gt;Range label search and sort (virtual fields from color breaks)&lt;/LI&gt;&lt;LI&gt;Expand-style pagination with Show More / Show All and {n} remaining count token&lt;/LI&gt;&lt;LI&gt;Configurable item labels (singular/plural) for count display&lt;/LI&gt;&lt;/UL&gt;&lt;P class=""&gt;&lt;STRONG&gt;Feed Map Layer&lt;/STRONG&gt;&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;Auto-generated client-side FeatureLayer from feed coordinates: no feature service needed&lt;/LI&gt;&lt;LI&gt;ClassBreaksRenderer for range-based map symbology (independent map colors, sizes, marker styles per range)&lt;/LI&gt;&lt;LI&gt;Dynamic popup title with {{token}} substitution&lt;/LI&gt;&lt;LI&gt;Bidirectional card and map sync&lt;/LI&gt;&lt;LI&gt;GeoRSS georss:point auto-splitting&lt;/LI&gt;&lt;LI&gt;Efficient poll-cycle sync via applyEdits()&lt;/LI&gt;&lt;LI&gt;FeatureEffect dimming on joined layers during search/filter&lt;/LI&gt;&lt;/UL&gt;&lt;P class=""&gt;&lt;STRONG&gt;Spatial Join (Feature Service Integration)&lt;/STRONG&gt;&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;Join feed items to existing feature service by shared key&lt;/LI&gt;&lt;LI&gt;Batch WHERE IN queries with numeric/string detection&lt;/LI&gt;&lt;LI&gt;Card click: zoom/pan to matched feature + popup&lt;/LI&gt;&lt;LI&gt;Configurable zoom level (points) and zoom buffer (lines/polygons)&lt;/LI&gt;&lt;/UL&gt;&lt;P class=""&gt;&lt;STRONG&gt;Mobile and Responsive&lt;/STRONG&gt;&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;Mobile popup behavior: collapsed, dock position, hide dock button, hide action bar&lt;/LI&gt;&lt;LI&gt;Mobile card template and mobile toolbar position overrides&lt;/LI&gt;&lt;LI&gt;iOS auto-zoom prevention&lt;/LI&gt;&lt;/UL&gt;&lt;P class=""&gt;&lt;STRONG&gt;Developer&lt;/STRONG&gt;&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;Debug logger with tagged channels (FETCH, PARSE, RENDER, POLL, JOIN, TEMPLATE, SETTINGS, FEED-LAYER)&lt;/LI&gt;&lt;LI&gt;137 unit tests across 4 test files&lt;/LI&gt;&lt;/UL&gt;&lt;P class=""&gt;&lt;STRONG&gt;GitHub:&lt;/STRONG&gt; &lt;A href="https://github.com/MapSimple-Org/ExB-Simple-Public" target="_blank" rel="noopener"&gt;https://github.com/MapSimple-Org/ExB-Simple-Public&lt;/A&gt;&lt;BR /&gt;&lt;STRONG&gt;Docs:&lt;/STRONG&gt; &lt;A href="https://mapsimple.org/samples/" target="_blank" rel="noopener"&gt;https://mapsimple.org/samples/&lt;/A&gt;&lt;/P&gt;&lt;P class=""&gt;ExB Developer Edition 1.19.0+.&lt;/P&gt;</description>
      <pubDate>Wed, 18 Mar 2026 05:31:51 GMT</pubDate>
      <guid>https://community.esri.com/t5/experience-builder-custom-widgets/feedsimple-live-xml-and-georss-feed-integration/m-p/1691177#M681</guid>
      <dc:creator>adamsimple</dc:creator>
      <dc:date>2026-03-18T05:31:51Z</dc:date>
    </item>
    <item>
      <title>Re: FeedSimple: Live XML and GeoRSS Feed Integration with Spatial Join and Dynamic Feature Layer</title>
      <link>https://community.esri.com/t5/experience-builder-custom-widgets/feedsimple-live-xml-and-georss-feed-integration/m-p/1692612#M689</link>
      <description>&lt;P&gt;I am working on an updated release for ExB 1.20. I expect that to be done early next week if not later this weekend. I may be sneaking in a few enhancements as well&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;.&lt;/P&gt;</description>
      <pubDate>Wed, 25 Mar 2026 17:50:21 GMT</pubDate>
      <guid>https://community.esri.com/t5/experience-builder-custom-widgets/feedsimple-live-xml-and-georss-feed-integration/m-p/1692612#M689</guid>
      <dc:creator>adamsimple</dc:creator>
      <dc:date>2026-03-25T17:50:21Z</dc:date>
    </item>
  </channel>
</rss>

