<?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 Re: Problem with &amp;quot;Identify deprecated Configurable Apps in ArcGIS Online using a Python script&amp;quot; in ArcGIS Online Questions</title>
    <link>https://community.esri.com/t5/arcgis-online-questions/problem-with-quot-identify-deprecated-configurable/m-p/1668877#M67213</link>
    <description>&lt;P&gt;I am running this script and only getting returns of class webmaps, I know our organization and more old stuff that needs to be found and either upgraded or deleted&lt;/P&gt;</description>
    <pubDate>Wed, 26 Nov 2025 18:41:15 GMT</pubDate>
    <dc:creator>RyanBohan</dc:creator>
    <dc:date>2025-11-26T18:41:15Z</dc:date>
    <item>
      <title>Problem with "Identify deprecated Configurable Apps in ArcGIS Online using a Python script"</title>
      <link>https://community.esri.com/t5/arcgis-online-questions/problem-with-quot-identify-deprecated-configurable/m-p/1564082#M62632</link>
      <description>&lt;P&gt;I'm trying to run the scrip mentioned in this help article to see if my org has any deprecated configurable apps in use. However, I get an error "NameError: name 'display' is not defined".&lt;/P&gt;&lt;P&gt;Any suggestions on how to fix this script?&lt;/P&gt;&lt;P&gt;&lt;A href="https://support.esri.com/en-us/knowledge-base/identify-deprecated-configurable-apps-in-arcgis-online--000030774" target="_blank"&gt;How To: Identify Deprecated Configurable Apps in ArcGIS Online Using a Python Script&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RobertBlashadmin_0-1733237742485.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/120732i8C694660A2524DC2/image-size/medium?v=v2&amp;amp;px=400" role="button" title="RobertBlashadmin_0-1733237742485.png" alt="RobertBlashadmin_0-1733237742485.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;from arcgis.gis import GIS
from getpass import getpass
org_url = "https://&amp;lt;org_short_url&amp;gt;.maps.arcgis.com" #e.g. "https://myorg.maps.arcgis.com" or "https://myportal.domain.com.portal"


#For a built-in user:
username = "&amp;lt;username&amp;gt;" #Provide an Admin user (built-in)
pw = getpass()
gis = GIS(org_url, username, pw)

#for a SAML-based or OIDC-based user (you will need to register a client ID to use to authenticate
#gis = GIS(org_url, client_id=&amp;lt;client_id&amp;gt;)




#Search for all Web Mapping Applications in an organization
apps = gis.content.search(query="",item_type="Web Mapping Application", max_items=10000)

#Define the list of deprecated Configurable Web Apps and other templates
deprecated_portal_apps = [
    'apps/3DViz/index.html',
    'apps/AttachmentViewer/index.html',
    'apps/FilterGallery/index.html ',
    'apps/CompareAnalysis/index.html',
    'apps/Compare3d/index.html',
    'apps/Directions/index.html',
    'apps/Editor/index.html ',
    'apps/Profile/index.html',
    'apps/InteractiveFilter/index.html',
    'apps/ImageInterpretation/index.html ',
    'apps/ImageryViewer/index.html ',
    'apps/ImpactSummary/index.html ',
    'apps/InformationLookup/index.html ',
    'apps/InteractiveLegend/index.html',
    'apps/LayerShowcase/index.html',
    'apps/LocalPerspective/index.html ',
    'apps/MapCarousel/index.html ',
    'apps/Styler/index.html',
    'apps/MapTools/index.html ',
    'apps/MapAndAppGallery/index.html ',
    'apps/Media/index.html',
    'apps/MinimalGallery/index.html',
    'apps/Minimalist/index.html',
    'apps/LocalPerspective/index.html ',
    'apps/PublicGallery/index.html ',
    'apps/PublicInformation/index.html ',
    'apps/Styler/index.html',
    'apps/3DInsetMap/index.html ',
    'apps/SimpleViewer/index.html',
    'apps/3DScene/index.html ',
    'apps/StoryMapBasic/index.html',
    'apps/Cascade/index.html',
    'apps/MapJournal/index.html',
    'apps/MapSeries/index.html',
    'apps/MapShortlist/index.html',
    'apps/StorytellingSwipe/index.html',
    'apps/MapTour/index.html',
    'apps/SummaryViewer/index.html ',
    'apps/TimeAware/index.html',
    'apps/ZoneLookup/index.html',
    'apps/Viewer/index.html',
    'apps/Solutions/s2.html?appid=',
    'apps/GeoList/index.html',
    'apps/Elevations/index.html',
    'apps/View/index.html',
    'apps/Compare/index.html',
    'apps/CrowdsourceManager/index.html',
    'apps/CrowdsourcePolling/index.html',
    'apps/CrowdsourceReporter/index.html',
    'apps/GeoForm/index.html',
    'apps/ImageMask/index.html',
    'apps/ImageVisit/index.html',
    'apps/Viewer/index.html'
]

# Page through app items to check against list
problem_apps = []
for app in apps:
    if app.url is None: continue
    try:
        if "/apps" in app.url and org_url in app.url:
             if any(a in app.url for a in deprecated_portal_apps):
                app_data = app.get_data()
                if "values" not in app_data:
                    continue
                for key, value in app_data["values"].items():
                    if key in ["webmap", "group"]:
                        problem_apps.append([app.title, app.url, app.numViews, app.id, app.owner, key, value])
    except Exception as error:
        print(f"Issue checking app: {app.title}\nError: {error}")
        continue
        
        
    
#Sort apps by URL and Print List
problem_apps_sorted = sorted(problem_apps, key = lambda x: x[2], reverse=True)  #To sort by Views descending, change x[1] to x[2]

import pandas as pd
df = pd.DataFrame(problem_apps_sorted, columns=["Title","URL","Views","App ID", "Owner", "App Source", "Source ID "])
left_aligned_df = df.style.set_properties(**{'text-align': 'left'})
with pd.option_context('display.max_rows', None,
                       'display.max_columns', None,
                       'display.max_colwidth', 0
                       ):
    display(left_aligned_df)&lt;/LI-CODE&gt;</description>
      <pubDate>Tue, 03 Dec 2024 14:58:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-online-questions/problem-with-quot-identify-deprecated-configurable/m-p/1564082#M62632</guid>
      <dc:creator>RobertBlashadmin</dc:creator>
      <dc:date>2024-12-03T14:58:04Z</dc:date>
    </item>
    <item>
      <title>Re: Problem with "Identify deprecated Configurable Apps in ArcGIS Online using a Python script"</title>
      <link>https://community.esri.com/t5/arcgis-online-questions/problem-with-quot-identify-deprecated-configurable/m-p/1650725#M66342</link>
      <description>&lt;P&gt;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/470118"&gt;@RobertBlashadmin&lt;/a&gt;&amp;nbsp;, the code needs the line "&lt;SPAN&gt;from&lt;/SPAN&gt; &lt;SPAN&gt;IPython&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;display&lt;/SPAN&gt; &lt;SPAN&gt;import&lt;/SPAN&gt; &lt;SPAN&gt;display". &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;T&lt;/SPAN&gt;he pandas section is formatting the results for improved readability and so it could be copy/pasted into a spreadsheet. Alternatively, you could simply print the problem_apps_sorted list.&amp;nbsp; &amp;nbsp;-- Realize this is an old post, but in case others stumble with this as we near the end of the deprecation period.--&lt;/P&gt;</description>
      <pubDate>Tue, 16 Sep 2025 16:23:29 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-online-questions/problem-with-quot-identify-deprecated-configurable/m-p/1650725#M66342</guid>
      <dc:creator>AdamMesser1</dc:creator>
      <dc:date>2025-09-16T16:23:29Z</dc:date>
    </item>
    <item>
      <title>Re: Problem with "Identify deprecated Configurable Apps in ArcGIS Online using a Python script"</title>
      <link>https://community.esri.com/t5/arcgis-online-questions/problem-with-quot-identify-deprecated-configurable/m-p/1668877#M67213</link>
      <description>&lt;P&gt;I am running this script and only getting returns of class webmaps, I know our organization and more old stuff that needs to be found and either upgraded or deleted&lt;/P&gt;</description>
      <pubDate>Wed, 26 Nov 2025 18:41:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-online-questions/problem-with-quot-identify-deprecated-configurable/m-p/1668877#M67213</guid>
      <dc:creator>RyanBohan</dc:creator>
      <dc:date>2025-11-26T18:41:15Z</dc:date>
    </item>
    <item>
      <title>Re: Problem with "Identify deprecated Configurable Apps in ArcGIS Online using a Python script"</title>
      <link>https://community.esri.com/t5/arcgis-online-questions/problem-with-quot-identify-deprecated-configurable/m-p/1669225#M67227</link>
      <description>&lt;P&gt;Nevermind, I got it&lt;/P&gt;</description>
      <pubDate>Sat, 29 Nov 2025 01:06:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-online-questions/problem-with-quot-identify-deprecated-configurable/m-p/1669225#M67227</guid>
      <dc:creator>RyanBohan</dc:creator>
      <dc:date>2025-11-29T01:06:08Z</dc:date>
    </item>
    <item>
      <title>Re: Problem with "Identify deprecated Configurable Apps in ArcGIS Online using a Python script"</title>
      <link>https://community.esri.com/t5/arcgis-online-questions/problem-with-quot-identify-deprecated-configurable/m-p/1672656#M67384</link>
      <description>&lt;P&gt;The pandas section at the end was causing problems when I ran this script so I removed that section and added an additional line at the end: print(problem_apps_sorted). This worked for me.&lt;/P&gt;</description>
      <pubDate>Fri, 12 Dec 2025 15:34:38 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-online-questions/problem-with-quot-identify-deprecated-configurable/m-p/1672656#M67384</guid>
      <dc:creator>WorcesterGTSS</dc:creator>
      <dc:date>2025-12-12T15:34:38Z</dc:date>
    </item>
  </channel>
</rss>

