POST
|
Hi Kai, There are a few ways to do this - I prefer using webhooks (with either Make or Power Automate) because they are event-driven (the event being submission of a survey record). The Survey123 webhook documentation would be a good place to start: Webhooks—ArcGIS Survey123 | Documentation How difficult this would be depends on what your requirements are for the source of the email. If it's acceptable to set up a free gmail account to send the emails, that makes the whole process super easy. If you need to send the emails from your organization's domain, authentication to your email server often makes things a bit trickier. I've done this a bunch, so I'm happy to answer questions.
... View more
02-11-2025
08:13 AM
|
0
|
0
|
519
|
POST
|
For anyone else who comes across this, the specific problem of the never-ending unpacking loop here is caused by two question marks in the URL. The only question mark should be the one before itemID (or whatever the first parameter is); all other parameters should be preceded by an ampersand (&). (The other responses address the question of the correct parameters to use, I'm only commenting on the never-ending unpacking loop issue.)
... View more
02-10-2025
01:04 PM
|
0
|
0
|
466
|
POST
|
Hi Shelby, if you're using ArcGIS Online hosted feature layers as your primary data source (in other words, you're not keeping any copies of the data on your local computer or network), your edits will always be in sync. When you say "desktop app", do you mean you're using ArcGIS Pro? If so, be sure to click the refresh button after making any edits in ArcGIS Online to force the layer to reload. There is also a setting in the layer properties to automatically refresh the layer:
... View more
02-04-2025
05:07 PM
|
0
|
0
|
264
|
POST
|
I don't think so. You're limited to the filters available on the service's Visualization tab, which would be "within the last 1 weeks", not "since Monday", so that doesn't solve your problem. An alternative could be to create a hosted table to hold this value then use a scheduled Python script to write the appropriate count to the table, pulling that into your indicator. Wouldn't be too difficult but a lot of moving parts for a simple indicator. ArcGIS Dashboards is the easiest way.
... View more
01-10-2025
11:45 AM
|
0
|
0
|
383
|
POST
|
I don't know of a way to use Arcade in the WAB infographic widget at all. I don't think it's possible. To my knowledge, this isn't even currently possible in ExB. It could be done in Dashboards, though.
... View more
01-02-2025
05:13 PM
|
0
|
0
|
467
|
POST
|
Your attempt is not working because: $feature.yourDateField returns a single value from a feature. There's nothing to count. Then you compare that single value to ISOWeek(Now()), which only tells you if that single date value matches the current ISOWeek value (1-53). If it does match, you're simply returning the text string 'Count'. You should use the Count() function with a filter for the current week, but the way to do that depends on where you're trying to display this information. Is this for a dashboard indicator, or?
... View more
01-01-2025
11:15 AM
|
0
|
0
|
496
|
POST
|
Hi Dave, yes you would have to specify the layers in an Arcade expression and configure the popup according to your layers/expression(s). Possibly a better user experience but you'd have to decide if maintaining is worth it if your map layers change frequently. If you decide that the Select widget is the way to go, this seems to work for me: 1. Enable "spatial selection" on the Select widget configuration, with your parishes as the selecting data. 2. Open your Experience and open the Select widget (unless it's configured to open automatically on load). 3. Click a parish to select it. 4. In the Select widget, activate the tool by clicking the button in the upper right so it turns blue**, then click the dropdown and choose Select by Data: 5. Click Apply: Now your features from the other layer are selected: ** I wonder if this is where you're running into trouble, since it doesn't really make sense to me that you would have to activate the interactive selection tool to use Select by Data, but you do.
... View more
12-24-2024
11:19 AM
|
1
|
2
|
561
|
POST
|
Hi Dave, if returning data in the popup is your only requirement, would an Arcade intersect not work, skipping the Select widget entirely and just showing the data on click?
... View more
12-23-2024
09:59 AM
|
0
|
0
|
592
|
POST
|
Acquiring an access token does not incur credits. There are lots of ways to acquire one, depending on how you're developing, with /generateToken: Generate Token | ArcGIS REST APIs | ArcGIS Developers being one. The Python API has a method as well: gis._con.token
... View more
12-19-2024
01:19 PM
|
0
|
0
|
415
|
POST
|
HI Jasper, I believe the information you're looking for is in the service/layer definitions, which are not viewable through ArcGIS Assistant. Go to the item page, and in the lower right, copy the URL: Paste it into your browser, appending ?f=json to the end, and if the service is secure, adding &token=<your access token>, like this: https://services6.arcgis.com/RTYCWyATq5TpQEkX/arcgis/rest/services/service_f2262bfc9e9a47d0abde66b369ac2579/FeatureServer?f=json&token=<your access token> This will give you the service (aka Feature Layer Collection) definition, including layer/table names and IDs. From there, you can access the layer definitions by adding the layer IDs to the URL, e.g.: https://services6.arcgis.com/RTYCWyATq5TpQEkX/arcgis/rest/services/service_f2262bfc9e9a47d0abde66b369ac2579/FeatureServer/1?f=json&token=<your access token> For the target layers, Update Definition (Feature Layer)—ArcGIS REST APIs | ArcGIS Developers is likely your ticket. You can also use the ArcGIS API for Python: https://developers.arcgis.com/python/latest/guide/updating-feature-layer-properties
... View more
12-19-2024
11:58 AM
|
0
|
0
|
435
|
IDEA
|
Try this. It will create a CSV item in your portal with the additional information. Yes, running in a Notebook is probably easiest if you're not familiar with Python. Please note that it's not guaranteed that this will get all 3x items, and it may get some that are not relevant. Esri doesn't have documentation on how these are defined by keyword, so this is my attempt based on what I see in the portals I use. import pandas as pd
from arcgis.gis import GIS
import time
gis = GIS("home")
classic_webmaps = []
classic_storymaps = []
web_appbuilder_apps = []
classic_configurable_apps = []
all_items = gis.content.search(query='', item_type='Map', max_items=10000) # item_type = 'Map' gets both Web Map and Web Mapping Application items
for item in all_items:
if item.type == "Web Map":
if not "ArcGIS API for JavaScript" in item.typeKeywords: # this keyword may indicate 4x map
classic_webmaps.append(item)
if item.type == "Web Mapping Application":
if "Story Map" in item.typeKeywords and not "StoryMap" in item.typeKeywords: # keyword 'Story Map' (with a space) may indicate classic Story Map
classic_storymaps.append(item)
if any(keyword in item.typeKeywords for keyword in ["Web AppBuilder", "WAB2D"]):
web_appbuilder_apps.append(item)
if not any(keyword in item.typeKeywords for keyword in ["Web AppBuilder", "WAB2D", "configurableApp", "Ready To Use"]): # 'configurableApp' and 'Ready to Use' may indicate 4x instant app, so we are excluding these
classic_configurable_apps.append(item)
export_data = []
def add_items_to_export(items):
for item in items:
export_data.append({
"Title": item.title,
"ID": item.id,
"Owner": item.owner,
"URL": item.url or "N/A",
"Modified": item.modified,
"Type": item.type,
"Shared With": item.sharing.shared_with
})
add_items_to_export(classic_webmaps)
add_items_to_export(classic_storymaps)
add_items_to_export(web_appbuilder_apps)
add_items_to_export(classic_configurable_apps)
df = pd.DataFrame(export_data)
csv_path = f"arcgis\\home\\categorized_items_{int(time.time())}.csv"
df.to_csv(csv_path, index=False)
csv_properties = {
"title": f"Potential_Retiring_Items_{int(time.time())}",
"type": "CSV",
}
csv_item = gis.content.add(item_properties=csv_properties, data=csv_path)
print(f"CSV item created: {csv_item.title} (ID: {csv_item.id})")
... View more
11-22-2024
10:29 AM
|
0
|
0
|
473
|
IDEA
|
This script might help: from arcgis.gis import GIS
gis = GIS("home")
classic_webmaps = []
classic_storymaps = []
web_appbuilder_apps = []
classic_configurable_apps = []
all_items = gis.content.search(query='', item_type='Map', max_items=10000) # item_type = 'Map' gets both Web Map and Web Mapping Application items
for item in all_items:
if item.type == "Web Map":
if not "ArcGIS API for JavaScript" in item.typeKeywords: # this keyword may indicate 4x map
classic_webmaps.append(item)
if item.type == "Web Mapping Application":
if "Story Map" in item.typeKeywords and not "StoryMap" in item.typeKeywords: # keyword 'Story Map' (with a space) indicates classic Story Map
classic_storymaps.append(item)
if any(keyword in item.typeKeywords for keyword in ["Web AppBuilder", "WAB2D"]):
web_appbuilder_apps.append(item)
if not any(keyword in item.typeKeywords for keyword in ["Web AppBuilder", "WAB2D", "configurableApp", "Ready To Use"]):
classic_configurable_apps.append(item)
print(f"--------\nThe following {len(classic_webmaps)} web maps may not have been saved in the new Map Viewer:\n")
for map in classic_webmaps:
print(f"{map.title} ({map.id})")
print(f"\n--------\nThe following {len(classic_storymaps)} apps may be classic/3x Story Maps:\n")
for app in classic_storymaps:
print(f"{app.title} ({app.id})")
print(f"\n--------\nThe following {len(web_appbuilder_apps)} apps are Web AppBuilder apps:\n")
for app in web_appbuilder_apps:
print(f"{app.title} ({app.id})")
print(f"\n--------\nThe following {len(classic_configurable_apps)} apps may be classic/3x configurable apps:\n")
for app in classic_configurable_apps:
print(f"{app.title} ({app.id})")
... View more
11-21-2024
05:41 PM
|
0
|
0
|
504
|
Title | Kudos | Posted |
---|---|---|
1 | 07-24-2024 12:44 PM | |
1 | 08-13-2024 11:31 AM | |
1 | 02-06-2023 05:52 PM | |
1 | 09-05-2020 01:13 PM | |
1 | 12-24-2024 11:19 AM |
Online Status |
Offline
|
Date Last Visited |
04-04-2025
11:38 AM
|