|
POST
|
This post helped me a lot and so I wanted to add to it, with a link to specific Esri documentation. It basically says the same thing in the GeoJobe link, but also provides other information that might be useful for other user properties: userType determines if new members will have Esri access (both) or if Esri access will be disabled (arcgisonly). The default value is arcgisonly. ArcGIS REST API https://developers.arcgis.com/rest/users-groups-and-items/set-user-default-settings/ ArcGIS API for Python (arcgis.gis.User.user_types) https://developers.arcgis.com/python/latest/api-reference/arcgis.gis.toc.html#arcgis.gis.User.user_types For me, what I really needed was the userLicenseType value from the REST API, which is what you get with the User.user_types()["id"] call mentioned by @RHmapping
... View more
a week ago
|
0
|
0
|
30
|
|
POST
|
Do you own the layers and/or the web map? What user type do you have?
... View more
10-15-2025
08:41 AM
|
0
|
3
|
510
|
|
POST
|
From what I can tell, closing the "session" here is referring to closing the Python-side http session, so it would be useful for ending a script's authenticated connection to the GIS account. If you are able to have remote control over someone's machine, you could maybe utilize psutil and kill the session on that machine?
... View more
10-15-2025
07:21 AM
|
1
|
0
|
619
|
|
POST
|
Hi @SusieMcGovern , The popup configurations are handled through the popup section in the right-hand menu in Map Viewer. When you click on that, expand "Field List" and click the x to remove any fields you don't want displayed.
... View more
10-15-2025
07:08 AM
|
1
|
5
|
555
|
|
POST
|
This is brilliant, thank you so much! In case it helps others who come across this post, I'll share what I added - this prints out a formatted report and sorts by usage date, with the oldest usage dates on top. from arcgis.gis import GIS
from datetime import datetime
agol = GIS("home")
# Generate a report for applications
report = agol.admin.usage_reports.applications(time_frame = "90days")
# We are only interested in ArcGIS Pro usage
arcgispro_report = [entry for entry in report["data"] if entry["appId"] == "arcgisprodesktop"]
user_data = []
# Collect all user data with their last usage dates
for user in arcgispro_report:
username = user["username"]
last_usage = None
# search through user data in reverse chronological order
for epoch, usage in reversed(user["num"]):
if int(usage) > 0:
last_usage = int(epoch)
break
if last_usage:
last_usage_date = datetime.utcfromtimestamp(last_usage / 1000).strftime("%m/%d/%Y")
sort_timestamp = last_usage
has_usage = True
else:
last_usage_date = "More than 90 days"
sort_timestamp = 0
has_usage = False
user_data.append({
'username': username,
'last_usage_date': last_usage_date,
'sort_timestamp': sort_timestamp,
'has_usage': has_usage
})
# Sort: first by has_usage (False first), then by sort_timestamp (ascending)
user_data.sort(key=lambda x: (x['has_usage'], x['sort_timestamp']))
# Print formatted table
print("\n" + "=" * 100)
print(" " * 30 + "ARCGIS PRO USAGE REPORT - LAST 90 DAYS")
print("=" * 100)
print(f"{'#':<3} {'Username':<55} {'Last Usage':<15} {'Days Ago':<10} {'Status':<12}")
print("-" * 100)
for i, user_info in enumerate(user_data, 1):
username = user_info['username']
last_usage_date = user_info['last_usage_date']
if not user_info['has_usage']:
status = "INACTIVE"
days_ago = "90+"
else:
days_since = (datetime.now() - datetime.utcfromtimestamp(user_info['sort_timestamp'] / 1000)).days
days_ago = str(days_since)
if days_since <= 7:
status = "ACTIVE"
elif days_since <= 30:
status = "RECENT"
else:
status = "STALE"
print(f"{i:<3} {username:<55} {last_usage_date:<15} {days_ago:<10} {status:<12}")
print("-" * 100)
print(f"Total Users: {len(user_data)}")
print(f"Active Users (≤7 days): {len([u for u in user_data if u['has_usage'] and (datetime.now() - datetime.utcfromtimestamp(u['sort_timestamp'] / 1000)).days <= 7])}")
print(f"Recent Users (8-30 days): {len([u for u in user_data if u['has_usage'] and 8 <= (datetime.now() - datetime.utcfromtimestamp(u['sort_timestamp'] / 1000)).days <= 30])}")
print(f"Stale Users (31-90 days): {len([u for u in user_data if u['has_usage'] and 31 <= (datetime.now() - datetime.utcfromtimestamp(u['sort_timestamp'] / 1000)).days <= 90])}")
print(f"Inactive Users (>90 days): {len([u for u in user_data if not u['has_usage']])}")
print("=" * 100)
... View more
10-14-2025
07:44 AM
|
2
|
0
|
645
|
|
POST
|
I hadn't given it much thought for a while since I had moved on to other projects, but I just checked again and it seems to be the same behavior as described before, unfortunately. 😞
... View more
10-13-2025
03:10 PM
|
1
|
0
|
289
|
|
POST
|
This trick is so helpful, thank you for posting this! I've actually referenced this page a couple times and had to rewatch the video each time to remember what to do. So.....for those who might benefit from a bulleted list, here you go! 😁 1. Sign in to your ArcGIS Online account and navigate to the dashboard that you want to make a copy of 2. Go to the URL and find the forward slash (/) that's located after the word "dashboards" 3. Add new#id= after the forward slash in the URL 4. Hit "enter", and then proceed to fill out the Item Details for the copy of the dashboard you're creating in your ArcGIS Online content. That's it! Thank you again, @BrittneyWhite1
... View more
10-13-2025
11:11 AM
|
4
|
0
|
1342
|
|
POST
|
Interesting.... do you know if there's another method of getting this information, then?
... View more
10-13-2025
08:40 AM
|
0
|
3
|
661
|
|
POST
|
Hmmm yeah it's certainly cumbersome. I found this ArcGIS idea from way back in 2017, guess it's been a pain point for a while! https://community.esri.com/t5/arcgis-online-ideas/web-map-legend-only-show-filtered-items-or-items/idi-p/945641
... View more
10-09-2025
11:36 AM
|
1
|
0
|
380
|
|
POST
|
In the Map Viewer configuration, could you simply go to the symbology options for the layer and drag the values you don't want to display below into the group that is hidden from legend? See screenshot, using a layer from the Living Atlas:
... View more
10-09-2025
11:22 AM
|
0
|
2
|
396
|
|
POST
|
Hello, I found this related post but no answer from it, wondering if there are any other insights. I was hoping to be able to write a Notebook that would use the ArcGIS API for Python and query the license activity for ArcGIS Pro licenses in my organization. I am specifically interested in the "Last Used" property, which indicates when someone last opened a session within ArcGIS Pro. This information is different from their last login to ArcGIS Online. I have not been able to find a way to access this info through the API - is it accessible anywhere programmatically?
... View more
10-09-2025
11:10 AM
|
1
|
10
|
872
|
|
POST
|
I'm also looking to do something similar to help with our license management. Did you ever find a solution?
... View more
10-09-2025
10:50 AM
|
0
|
0
|
302
|
|
POST
|
I was able to accomplish this by explicitly setting the valueOptions > displayUnits property for the Sketch class. Here's an example of how I'm using it: const sketchWidget = new Sketch({
layer: sketchLayer,
view: view,
viewModel: sketchViewModel,
valueOptions: {
displayUnits: {
length: "feet",
area: "acres"
}
},
visibleElements: {
duplicateButton: false,
createTools: {
point: geometryTypes.includes("point"),
polyline: geometryTypes.includes("polyline"),
polygon: geometryTypes.includes("polygon"),
rectangle: false,
circle: false
}
},
defaultUpdateOptions: {
reshapeOptions: {
shapeOperation: "none"
},
enableRotation: false,
enableScaling: false,
enableZ: false,
highlightOptions: {
enabled: false
},
tool: "reshape"
},
creationMode: "update"
}); Here's a link to the documentation - it says it's in beta so perhaps this feature wasn't available when this post was originally made. It's supported since ArcGIS Maps SDK for JavaScript 4.29. Hope this helps if someone comes across this post in the future!
... View more
06-20-2025
03:03 PM
|
0
|
0
|
277
|
|
POST
|
Chiming in here, I was working on this issue yesterday. Check out my response to this post here, I shared a snippet of my code in which I update the Item Details to reflect the layer change. Hope it helps.
... View more
05-06-2025
07:11 AM
|
1
|
0
|
1759
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 10-24-2022 05:01 PM | |
| 1 | 10-15-2025 07:21 AM | |
| 1 | 10-15-2025 07:08 AM | |
| 1 | 10-13-2025 03:10 PM | |
| 2 | 10-14-2025 07:44 AM |
| Online Status |
Offline
|
| Date Last Visited |
a week ago
|