<?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>idea ExB Widget share not mandatory in ArcGIS Experience Builder Ideas</title>
    <link>https://community.esri.com/t5/arcgis-experience-builder-ideas/exb-widget-share-not-mandatory/idi-p/1693054</link>
    <description>&lt;P&gt;In Experience Builder, all widgets add in the builder must be shared with the user to load the experience. If a widget is not shared, the experience is not loaded and the user will get a blank page with error. We can say that widget's share is mandatory. For ESRI, it's "as designed".&lt;/P&gt;&lt;P&gt;In WebAppBuilder, when a widget was'nt shared, the WebApp was loaded correctly without the unshared widget. It was perfect to manage user's rights.&lt;/P&gt;&lt;P&gt;My idea is to have the save behavior in Experience Builder : be able to load an Experience without a unshared widget.&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
    <pubDate>Fri, 27 Mar 2026 06:41:54 GMT</pubDate>
    <dc:creator>LouisViallet</dc:creator>
    <dc:date>2026-03-27T06:41:54Z</dc:date>
    <item>
      <title>ExB Widget share not mandatory</title>
      <link>https://community.esri.com/t5/arcgis-experience-builder-ideas/exb-widget-share-not-mandatory/idi-p/1693054</link>
      <description>&lt;P&gt;In Experience Builder, all widgets add in the builder must be shared with the user to load the experience. If a widget is not shared, the experience is not loaded and the user will get a blank page with error. We can say that widget's share is mandatory. For ESRI, it's "as designed".&lt;/P&gt;&lt;P&gt;In WebAppBuilder, when a widget was'nt shared, the WebApp was loaded correctly without the unshared widget. It was perfect to manage user's rights.&lt;/P&gt;&lt;P&gt;My idea is to have the save behavior in Experience Builder : be able to load an Experience without a unshared widget.&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Fri, 27 Mar 2026 06:41:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-experience-builder-ideas/exb-widget-share-not-mandatory/idi-p/1693054</guid>
      <dc:creator>LouisViallet</dc:creator>
      <dc:date>2026-03-27T06:41:54Z</dc:date>
    </item>
    <item>
      <title>Re: ExB Widget share not mandatory</title>
      <link>https://community.esri.com/t5/arcgis-experience-builder-ideas/exb-widget-share-not-mandatory/idc-p/1693375#M5208</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;P&gt;TLDR:&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;What you’re describing usually happens when there’s a mismatch between how the Experience and its dependent items are shared.&lt;/P&gt;&lt;P&gt;In Experience Builder, the app doesn’t just contain widgets—it references multiple items (widgets, maps, layers), and the user must have access to all of them.&lt;/P&gt;&lt;P&gt;For example:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;If the Experience is shared to a group&lt;/LI&gt;&lt;LI&gt;But a widget used in that Experience is not shared to that same group&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Then the app may fail to load or appear blank, because it cannot resolve that dependency.&lt;/P&gt;&lt;P&gt;This is different from Web AppBuilder, which could simply skip rendering an inaccessible widget.&lt;/P&gt;&lt;P&gt;Some key things to watch for:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Make sure all widgets are shared to the same audience as the Experience&lt;/LI&gt;&lt;LI&gt;Ensure maps and feature layers used by widgets are also shared appropriately&lt;/LI&gt;&lt;LI&gt;Avoid using sharing as a way to hide widgets—use visibility rules instead&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;In short: all referenced items must be accessible, or the Experience may not load correctly.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;When you say a widget must be shared I'm trying to see if I understand your scenario.&lt;BR /&gt;&lt;STRONG&gt;&lt;BR /&gt;&amp;nbsp;Scenario A (Most Common)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Experience is shared to a group&lt;BR /&gt;Widget is NOT shared to that same group&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;What happens:&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;User can open the Experience &lt;span class="lia-unicode-emoji" title=":heavy_check_mark:"&gt;✔️&lt;/span&gt;&lt;/LI&gt;&lt;LI&gt;Experience tries to load widget &lt;span class="lia-unicode-emoji" title=":cross_mark:"&gt;❌&lt;/span&gt;&lt;/LI&gt;&lt;LI&gt;User does NOT have access to widget&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&lt;STRONG&gt;App may fail / blank page / errors&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":heavy_check_mark:"&gt;✔️&lt;/span&gt; This is the classic EXB “gotcha”&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;Scenario B (Also valid, but just a variation)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Widget owned by admin, not shared&lt;BR /&gt;Experience shared to others&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;What happens:&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Same result as A&lt;/LI&gt;&lt;LI&gt;Ownership doesn’t matter—&lt;STRONG&gt;sharing does&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;If it’s not shared → it doesn’t exist to the user&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;The way I try to keep this straight is to think like this:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Instead of thinking:&lt;/P&gt;&lt;P&gt;“Experience contains widgets”&lt;/P&gt;&lt;P&gt;Think:&lt;/P&gt;&lt;P&gt;“Experience references multiple Portal items”&lt;/P&gt;&lt;P&gt;Each of these must be accessible:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Experience item&lt;/LI&gt;&lt;LI&gt;Widget items (especially custom widgets)&lt;/LI&gt;&lt;LI&gt;Web maps&lt;/LI&gt;&lt;LI&gt;Feature layers&lt;/LI&gt;&lt;LI&gt;Data sources&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;If &lt;STRONG&gt;any one of them is inaccessible&lt;/STRONG&gt;, things break.&lt;BR /&gt;&lt;BR /&gt;Now the entire experience may not break, but parts of it may.&lt;BR /&gt;&lt;BR /&gt;Also, btw if some layers are federated or loaded from other URLs CORS errors &lt;SPAN&gt;(Cross-Origin Resource Sharing)&amp;nbsp;&lt;/SPAN&gt;can be something that has to be resolved between you and wherever that feature /map was hosted also, and those settings are server wide not experience or shared item setup typically.&lt;/P&gt;&lt;P&gt;Things to watch out for:&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Gotcha #1 — Widgets are Items (not just code)&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Custom widgets are &lt;STRONG&gt;Portal/AGOL items&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;They must be shared like:&lt;/LI&gt;&lt;UL&gt;&lt;LI&gt;Web maps&lt;/LI&gt;&lt;LI&gt;Feature layers&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;People forget this ALL the time&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;Gotcha #2 — Group mismatch&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Experience shared to &lt;STRONG&gt;Group A&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;Widget shared to &lt;STRONG&gt;Group B&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;User in Group A only = :collision:&lt;/img&gt; failure&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;Gotcha #3 — Indirect dependencies&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Even if widget is shared:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Widget → references a map&lt;/LI&gt;&lt;LI&gt;Map → references a layer&lt;/LI&gt;&lt;LI&gt;Layer → not shared&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;Widget fails (sometimes silently)&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;Gotcha #4 — Dev vs Prod environments&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Widget shared in DEV&lt;/LI&gt;&lt;LI&gt;Experience moved to PROD&lt;/LI&gt;&lt;LI&gt;Widget not shared in PROD&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;Works for you, breaks for users&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;1.&amp;nbsp;Ensure widget is available to everyone who can access the experience&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;So the Safest approach:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Share EVERYTHING consistently:&lt;/LI&gt;&lt;UL&gt;&lt;LI&gt;Experience&lt;/LI&gt;&lt;LI&gt;Widgets&lt;/LI&gt;&lt;LI&gt;Maps&lt;/LI&gt;&lt;LI&gt;Layers&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;Same audience, same sharing level:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Rule of thumb:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;“If a user can open the app, they should have access to every dependency.”&lt;BR /&gt;&lt;BR /&gt;If there are exceptions, then you need to know clearly how that would work.&lt;BR /&gt;&lt;BR /&gt;Note, because of how experiences work, I think you can clone and make slight variations of them if different groups have different needs to some degree.&amp;nbsp; One example might be, public vs internal users.&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;2.&amp;nbsp;&lt;/STRONG&gt;&lt;STRONG&gt;Can you make a widget unavailable to certain users?&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;:prohibited:&lt;/img&gt; &lt;STRONG&gt;Not via sharing (in EXB)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Because:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;If it’s not shared → app may break&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":heavy_check_mark:"&gt;✔️&lt;/span&gt; Instead use:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;Visibility rules&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Separate experiences&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;This is a &lt;EM&gt;big conceptual shift from Web AppBuilder&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;STRONG&gt;3&amp;nbsp;&lt;/STRONG&gt;&lt;STRONG&gt;What about feature layers and data permissions?&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;This is where things get subtle.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Case A: Layer NOT shared&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Widget loads&lt;/LI&gt;&lt;LI&gt;Data fails&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;User sees:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Empty results&lt;/LI&gt;&lt;LI&gt;Errors&lt;/LI&gt;&lt;LI&gt;Partial UI&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;Case B: Layer secured (token/auth)&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Widget loads&lt;/LI&gt;&lt;LI&gt;Prompts login or fails depending on config&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;Case C: Layer shared properly&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":heavy_check_mark:"&gt;✔️&lt;/span&gt; Everything works as expected&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;Key takeaway for data:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Data permissions affect &lt;STRONG&gt;behavior&lt;/STRONG&gt;&lt;BR /&gt;Widget permissions affect &lt;STRONG&gt;app loading&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope this is helpful&lt;/P&gt;</description>
      <pubDate>Mon, 30 Mar 2026 13:58:13 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-experience-builder-ideas/exb-widget-share-not-mandatory/idc-p/1693375#M5208</guid>
      <dc:creator>TimWestern</dc:creator>
      <dc:date>2026-03-30T13:58:13Z</dc:date>
    </item>
    <item>
      <title>Re: ExB Widget share not mandatory</title>
      <link>https://community.esri.com/t5/arcgis-experience-builder-ideas/exb-widget-share-not-mandatory/idc-p/1693376#M5209</link>
      <description>&lt;P&gt;Programmers Hat on for a second:&lt;BR /&gt;&lt;BR /&gt;I get this seems like an 'Idea', it feels like a place where EXB doesn't fully match or replace functionality in WAB.&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;However the way React handles dependencies, (which is the tool that Experience Builder is built on top of), if a dependency or import cannot be loaded or found it can and will cause issues, often preventing the app or a part of it from loading at all.&amp;nbsp; This is by design I think, and I am not aware of anyway that could be changed with how React works currently.&amp;nbsp; (If I'm wrong I'd love to hear how though).&lt;BR /&gt;&lt;BR /&gt;What I hope my previous post can help with, is consider how and why you might have one-off or group deviations in how they use the app, and be able to instead leverage that knowledge to provide those experiences without having the fail through problem.&amp;nbsp; &amp;nbsp;If there is more to this than what I understand, I'd be glad to hear it though.&lt;/P&gt;</description>
      <pubDate>Mon, 30 Mar 2026 14:02:05 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-experience-builder-ideas/exb-widget-share-not-mandatory/idc-p/1693376#M5209</guid>
      <dc:creator>TimWestern</dc:creator>
      <dc:date>2026-03-30T14:02:05Z</dc:date>
    </item>
    <item>
      <title>Re: ExB Widget share not mandatory</title>
      <link>https://community.esri.com/t5/arcgis-experience-builder-ideas/exb-widget-share-not-mandatory/idc-p/1693378#M5210</link>
      <description>&lt;P&gt;I understand the current behavior, it’s just that in experience it’s now a blocking load system and in WebAppBuilder it was a functionality to load without blocking app.&lt;/P&gt;&lt;P&gt;For me, it’s a functionality regression.&lt;/P&gt;&lt;P&gt;We want to manage the accessibility/right on a widget with share option and now it's not possible with ExperienceBuilder. I think it's possible to manage that with React with a test depending of share option.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Mar 2026 14:09:58 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-experience-builder-ideas/exb-widget-share-not-mandatory/idc-p/1693378#M5210</guid>
      <dc:creator>LouisViallet</dc:creator>
      <dc:date>2026-03-30T14:09:58Z</dc:date>
    </item>
    <item>
      <title>Re: ExB Widget share not mandatory</title>
      <link>https://community.esri.com/t5/arcgis-experience-builder-ideas/exb-widget-share-not-mandatory/idc-p/1693380#M5211</link>
      <description>I understand the current behavior, it's just that in experience it's now a blocking load system and in WebAppBuilder it was a functionality to load without blocking app.&lt;BR /&gt;For me, it's a functionality regression.&lt;BR /&gt;</description>
      <pubDate>Mon, 30 Mar 2026 14:18:40 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-experience-builder-ideas/exb-widget-share-not-mandatory/idc-p/1693380#M5211</guid>
      <dc:creator>LouisViallet</dc:creator>
      <dc:date>2026-03-30T14:18:40Z</dc:date>
    </item>
    <item>
      <title>Re: ExB Widget share not mandatory</title>
      <link>https://community.esri.com/t5/arcgis-experience-builder-ideas/exb-widget-share-not-mandatory/idc-p/1693387#M5212</link>
      <description>&lt;P&gt;Yeah, I get why that feels like a regression. Web AppBuilder was more forgiving here, while Experience Builder seems to treat widgets as required parts of the experience rather than optional pieces it can just skip.&lt;BR /&gt;&lt;BR /&gt;My guess is that this is more about Experience Builder’s architecture than React by itself. In other words, it’s probably not that this is impossible in theory, but that EXB was designed around resolving all referenced items up front, which makes an unshared widget a blocking problem.&lt;BR /&gt;&lt;BR /&gt;I do think that means sharing is no longer a good way to control widget-level access in EXB, even though it worked that way in WAB. So the use case makes sense — it’s just not a pattern EXB currently seems designed to support.&lt;BR /&gt;&lt;BR /&gt;However, ESRI can always consider that in future roll outs potentially, whenever it could be addressed.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 30 Mar 2026 14:31:57 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-experience-builder-ideas/exb-widget-share-not-mandatory/idc-p/1693387#M5212</guid>
      <dc:creator>TimWestern</dc:creator>
      <dc:date>2026-03-30T14:31:57Z</dc:date>
    </item>
  </channel>
</rss>

