<?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 Separate the config modification from app download into a independently used function/capability in ArcGIS Experience Builder Ideas</title>
    <link>https://community.esri.com/t5/arcgis-experience-builder-ideas/separate-the-config-modification-from-app-download/idi-p/1593601</link>
    <description>&lt;P&gt;Per &lt;A href="https://developers.arcgis.com/experience-builder/guide/deployment-topics/#automated-deployments" target="_blank"&gt;Esri documentation&lt;/A&gt; you can provide a JavaScript object as the 4th parameter to the zipApp function to modify the config.json included with the downloaded zip.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RyanTaylor_0-1741382345304.jpeg" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/127441i22D404E6E00CF104/image-size/medium?v=v2&amp;amp;px=400" role="button" title="RyanTaylor_0-1741382345304.jpeg" alt="RyanTaylor_0-1741382345304.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;However, in our case we need to create multiple configurations for the same application as it is promoted through different environments via our DevOps workflow. That is, upon release, we need to create configuration for our acceptance **and** production environments **without** rebuilding the application code.&lt;/P&gt;&lt;P&gt;It would be helpful if the app-download.js exported a `createConfig` function that when passed a filename, and a configModifier would write the modified configuration to a new file in a similar to the zipApp function. However, this would allow us to skip building the app and downloading a new bundle.&lt;/P&gt;&lt;P&gt;Example:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;createConfig({ filename: "config.acceptance.json", configModifier: { 'attributes.portalUrl': 'new-portal-url' }})&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This would provide more flexibility for DevOps flows. Upon our releases we could rebuild the application once and create as many configs as necessary for our various environments without duplicating the rather large application zip.&lt;/P&gt;</description>
    <pubDate>Sat, 08 Mar 2025 02:34:10 GMT</pubDate>
    <dc:creator>RyanTaylor</dc:creator>
    <dc:date>2025-03-08T02:34:10Z</dc:date>
    <item>
      <title>Separate the config modification from app download into a independently used function/capability</title>
      <link>https://community.esri.com/t5/arcgis-experience-builder-ideas/separate-the-config-modification-from-app-download/idi-p/1593601</link>
      <description>&lt;P&gt;Per &lt;A href="https://developers.arcgis.com/experience-builder/guide/deployment-topics/#automated-deployments" target="_blank"&gt;Esri documentation&lt;/A&gt; you can provide a JavaScript object as the 4th parameter to the zipApp function to modify the config.json included with the downloaded zip.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RyanTaylor_0-1741382345304.jpeg" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/127441i22D404E6E00CF104/image-size/medium?v=v2&amp;amp;px=400" role="button" title="RyanTaylor_0-1741382345304.jpeg" alt="RyanTaylor_0-1741382345304.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;However, in our case we need to create multiple configurations for the same application as it is promoted through different environments via our DevOps workflow. That is, upon release, we need to create configuration for our acceptance **and** production environments **without** rebuilding the application code.&lt;/P&gt;&lt;P&gt;It would be helpful if the app-download.js exported a `createConfig` function that when passed a filename, and a configModifier would write the modified configuration to a new file in a similar to the zipApp function. However, this would allow us to skip building the app and downloading a new bundle.&lt;/P&gt;&lt;P&gt;Example:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;createConfig({ filename: "config.acceptance.json", configModifier: { 'attributes.portalUrl': 'new-portal-url' }})&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This would provide more flexibility for DevOps flows. Upon our releases we could rebuild the application once and create as many configs as necessary for our various environments without duplicating the rather large application zip.&lt;/P&gt;</description>
      <pubDate>Sat, 08 Mar 2025 02:34:10 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-experience-builder-ideas/separate-the-config-modification-from-app-download/idi-p/1593601</guid>
      <dc:creator>RyanTaylor</dc:creator>
      <dc:date>2025-03-08T02:34:10Z</dc:date>
    </item>
  </channel>
</rss>

