|
POST
|
@TonghuiMing Thanks for the response and the suggestion. I did find a URL for the World Topographic Map (US Edition), but when I copy and paste the URL from the item details into the URL input, it ends up being the wrong map (see map below). This layer contains the 'Gulf of Mexico' label and according to the item description should contain the 'Gulf of America' label. I was able to find the URLs for the US Edition basemaps, but it was no small task and have copied them to a spreadsheet for future reference. lol The only way I was able to find URLs to the US Edition maps was to load them one at a time into the map viewer and follow the link in the Information property which leads to the root.json of the basemap. Be nice if there was an Esri docs page that listed the URLs for these basemaps, I always find them to be challenging to work with. However, what I said above about the Topo URL is still perplexing to me.
... View more
06-23-2025
05:17 AM
|
0
|
0
|
417
|
|
POST
|
Not sure if this is the best forum for this question since it involves EB Developer, but I'll just post in multiple spaces. We are migrating all of our web applications (mostly built with WAB or EB developer) from on premise servers to Azure Cloud (ArcGIS Enterprise) servers. This also means that all of the associated data, web maps, etc. will also be migrated which requires re-sourcing the applications and all associated widgets to the newly migrated maps and data. This cannot be done from within the developer environment (gui) which leaves us with 2 options. Rebuild the applications in the EB Dev version registered to the portal to where the associated maps and data have been migrated, or use a code editor to modify the app config files with the new map ids, and layer urls. Since we have over 20 apps to migrate, the first option is not viable and I have been successful modifying the config files without breaking the apps. The side effect to this strategy is that that I am now editing an application in a version of EB developer registered in a portal that doesn't match the portal where the map and data are located. Because of this, even though I created a custom BM Gallery containing US Edition basemaps in the target portal, I have no way of importing them into the Basemap Widget. Also, unlike the success I had with the web map and other data sources, modifying the BM Gallery json in the config file doesn't work for some reason. I also tried adding the basemaps by URL, but I don't know exactly how to configure the URL correctly. I can tell you that if I paste the URL into a browser window it take me to the ArcGIS Portal Directory page for the item and the BM Gallery is also shared with the public. Appreciate any ideas on how to proceed, or does this require a custom Basemap Gallery widget? Not sure what's going on under the hood with the Basemap Gallery and I really don't have the time to try and modify the widget code.
... View more
06-18-2025
05:47 AM
|
0
|
0
|
779
|
|
POST
|
We are migrating all of our web applications (mostly built with WAB or EB developer) from on premise servers to Azure Cloud (ArcGIS Enterprise) servers. This also means that all of the associated data, web maps, etc. will also be migrated which requires re-sourcing the applications and all associated widgets to the newly migrated maps and data. This cannot be done from within the developer environment (gui) which leaves us with 2 options. Rebuild the applications in the EB Dev version registered to the portal to where the associated maps and data have been migrated, or use a code editor to modify the app config files with the new map ids, and layer urls. Since we have over 20 apps to migrate, the first option is not viable and I have been successful modifying the config files without breaking the apps. The side effect to this strategy is that that I am now editing an application in a version of EB developer registered in a portal that doesn't match the portal where the map and data are located. Because of this, even though I created a custom BM Gallery containing US Edition basemaps in the target portal, I have no way of importing them into the Basemap Widget. Also, unlike the success I had with the web map and other data sources, modifying the BM Gallery json in the config file doesn't work for some reason. I also tried adding the basemaps by URL, but I don't know exactly how to configure the URL correctly. I can tell you that if I paste the URL into a browser window it take me to the ArcGIS Portal Directory page for the item and the BM Gallery is also shared with the public. Appreciate any ideas on how to proceed, or does this require a custom Basemap Gallery widget? Not sure what's going on under the hood with the Basemap Gallery and I really don't have the time to try and modify the widget code.
... View more
06-18-2025
05:44 AM
|
0
|
2
|
500
|
|
POST
|
I need to migrate many Experience Builder Developer applications to our new Enterprise Portal and thought I found a somewhat automated approach using ArcGIS API for Python. https://developers.arcgis.com/python/latest/guide/experience-builder-workflows/ The upload function, however, is throwing an error and I can't make any sense of it. Here is the code: from arcgis.apps.expbuilder import WebExperience
from arcgis.gis import GIS
#Establish a GIS connection to the target portal.
target_portal = GIS("https://gistest.name.com/portal", "myuser.name")
print(target_portal)
Enter password: ········
GIS @ https://gistest.name.com/portal version:2024.1
# pass in a path to a local config.json when instantiating experience
local_path = r"C:\WebDev\EBv1.16\downloaded-apps\myexbapp\cdn\3\config.json"
local_exp = WebExperience(gis=target_portal, path=local_path)
local_exp.datasources
Output {'dataSource_2': {'id': 'dataSource_2', 'type': 'WEB_MAP', 'sourceLabel': 'Fish Range Search Map', 'itemId': '0f727a3fa60c42bea404xxxxxx', 'portalUrl': ......}
new_item = local_exp.upload(
gis=target_portal,
publish=False,
title="Fish Range Finder Test",
auto_remap=True)
new_item
throws error:
NameError Traceback (most recent call last)
In [49]:
Line 1: new_item = local_exp.upload(
File C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Lib\site-packages\arcgis\apps\expbuilder\expbuilder.py, in upload:
Line 783: test_gis = GIS(url=url)
NameError: name 'GIS' is not defined
---------------------------------------------------------------------------
Can anyone tell me what I am doing wrong here? I don't know what 'GIS' name the error is referring to. The GIS module is defined and if it wasn't I would be getting an error in the first code block.
... View more
06-13-2025
09:35 AM
|
0
|
0
|
294
|
|
POST
|
We are being asked to replace all of our basemaps with US Edition (Gulf of America) and I am having trouble doing this with my older WAB Developer applications. Esri docs say that the 3x api considers basemaps to be operational layers and this is not the case with the 4x api. I tried replacing the basemap id in the main config file with an id from a US Edition basemap, but the app fails to load. Probably just missing something, but I have been working with EB for the last year and a half and forgotten a lot when it comes to WAB.
... View more
05-05-2025
09:02 AM
|
0
|
0
|
1282
|
|
POST
|
I have a couple of older Web AppBuilder Developer applications that I am unable to migrate to Experience Builder in the near future, but the basemaps are showing 'Gulf of Mexico'. I need to update them to the US Edition basemaps that show 'Gulf of America', but just changing out the itemid in the config file doesn't work. Since these are developer apps, I cannot use a Web Map as the data source, the basemaps are brought in from the map property in the main app config: "map": {
"3D": false,
"2D": true,
"position": {
"left": 0,
"top": 40,
"right": 0,
"bottom": 0
},
"itemId": "3dbbb8f6d83c481381decdb150963858",
"mapOptions": {
"xmin": -9709952.034114238,
"ymin": 2694438.048228905,
"xmax": -8633718.675859243,
"ymax": 3653264.1310379007,
"spatialReference": {
"wkid": 102100
}
},
"id": "map",
"portalUrl": "https://myfwc.maps.arcgis.com",
"mapRefreshInterval": {
"useWebMapRefreshInterval": true
} Changing the itemid to a US Edition basemap id causes this to happen: I don't know if this is a compatibility issue with the newer basemaps and JS 3x, or if there is something I am not doing. I just need to know if this is possible or am I going to have to rebuild the apps in EB in order to use the newer basemaps.
... View more
04-17-2025
11:17 AM
|
0
|
0
|
328
|
|
POST
|
My agency is in the process of changing our servers to ArcGIS Enterprise and I have a lot of web applications that were created with Experience Builder Developer registered in ArcGIS Online that use ArcGIS Online web maps as the source data. Many of these applications have been published to our new Azure Enterprise server without issue and I have been able to start migrating our ArcGIS Online web maps to ArcGIS Portal using a Python script. The challenge I am faced with is how do to change the current ArcGIS Online web maps these applications use as their data source, to identical web maps copied to our Enterprise Portal? I already registered EB Developer to our Portal, but when I log in to the portal version and try to import one of our existing EB applications (sourced using the ArcGIS Online web map), I get this error: I am interpreting this to mean that I must be logged in to EB registered at ArcGIS Online since that is the version used to create the application, however I don't have access to any of the content copied to our portal from the ArcGIS Online version of EB Developer. Is there another way to switch out the web maps, or am I forced to rebuild every application using the Portal registered version of EB developer? Still learning Enterprise, so any suggestions would help. Just to follow up, I was able to do this using the following workflow: 1. copied itemid for the Enterprise version of the web map. 2. Opened the config file in VS Code for the EB developer application with the ArcGIS Online web map. 3. Found the Web Map JSON and replaced the itemid with the id of the Web Map created in our Enterprise Portal. 4. Replaced the portalUrl with our Enterprise Portal Url. 5. Saved the config file and re-loaded the application. 6. Got a popup asking me to change the client id to the one associated with version of EB registered in the portal, so I did that. This seems to have resolved the issue, but it's still a little confusing to me that the application still shows up in my experience for the ArcGIS Online version of EB and not the ArcGIS Enterprise version so I am still not completely sold in the idea that this is the best solution. Would still be nice to get some other thoughts on this.
... View more
04-03-2025
05:08 AM
|
0
|
0
|
314
|
|
POST
|
I am trying to create a Tooltip that combines static text with dynamic (an attribute), but not finding a way to do it. This is for a label that contains both static and dynamic content and I want the hover text to include the entire label and not have to make a choice between the two. You can see from the image below, when a selection is made in the List widget, the selected county name appears in the label: I've tried to use an Expression for the Tooltip, but when I try to combine the static text and an attribute in the Expression box I get an invalid expression message. Seems weird that you can't do this, is there a trick to this that I am missing?
... View more
03-07-2025
06:33 AM
|
0
|
2
|
565
|
|
POST
|
Allen, thanks for the reply. We have 3 ArcGIS servers that we use to host all of our Esri app builder applications and the issue is occurring in all of the apps on 1 one of the servers. After some troubleshooting I suspect the issue has to do with the server, not Experience Builder. The server administrator is in the process of migrating our server to the Azure Cloud and it could be related to the migration, or something changed in the server settings. The Image Widgets use the full URL to access the images, meaning the URL to the application, plus to local path to the image and I believe the issue is with the second part of the image URL. My guess it that a server setting has been changed, or maybe an update is causing the URL to get blocked, maybe for security reasons? At any rate it is something the server administrator will need to look into or it may be necessary to create a ticket with Esri so assist with further troubleshooting.
... View more
03-03-2025
04:13 AM
|
0
|
0
|
935
|
|
POST
|
The images have stopped displaying in all of my Experience Builder Developer applications that have been deployed on the agency server. Instead of the image, 'Fail to load' displays. All versions of EB have been affected, so this has to be an issue that stems from an Esri update. Curious if anyone else has noticed the same issue or has information regarding this. I have already reported this as a bug, so hopefully I will hear back soon. Please disregard this post, the issue appears to be with our server and not with EB!
... View more
02-28-2025
07:56 AM
|
0
|
0
|
345
|
|
POST
|
The images have stopped displaying in all of my Experience Builder Developer applications that have been deployed on the agency server. Instead of the image, 'Fail to load' displays. All versions of EB have been affected, so this has to be an issue that stems from an Esri update. Curious if anyone else has noticed the same issue or has information regarding this. I have already reported this as a bug, so hopefully I will hear back soon.
... View more
02-28-2025
07:53 AM
|
0
|
2
|
1048
|
|
POST
|
Just wanted to pass this along in case anyone found it useful, but my solution to this was to create a new widget for the sole purpose of adding html to a fixed panel. This way I can do whatever I want and it actually took less time than fighting with the Text widget to get it to do something it wasn't designed to do. I did this in about a day and a half: I have two scroll bars (vertical and horizontal) that act independently of each other, the vertical scroll is hidden when the mouse is over the image so you can scroll horizontally without the parent div moving. Here is the code: import { React, type AllWidgetProps } from 'jimu-core'
import { type IMConfig } from '../config'
let isMouseover = false
let headerLinks, aboutText
export default class Widget extends React.PureComponent<AllWidgetProps<{}>, any> {
handleWheelScroll(evt) {
//headerLinks = document.querySelector(".about-headerLinks")
headerLinks.scrollLeft+=evt.deltaY>0?100:-100
}
addHoverEvents(evt) {
aboutText = document.querySelector(".About-text")
aboutText.style.overflowY = "auto"
console.log("About text ", aboutText)
headerLinks = document.querySelector(".about-headerLinks")
headerLinks.addEventListener("mouseover", function(evt) {
isMouseover = true
console.log("Mouseover = ", isMouseover)
aboutText.style.overflowY = "hidden"
})
headerLinks.addEventListener("mouseleave", function(evt) {
isMouseover = false
console.log("Mouseover = ", isMouseover)
aboutText.style.overflowY = "auto"
})
}
render() {
const content = (
<div className="About-text jimu-widget" onLoad={this.addHoverEvents} style={{color:"#000000", fontSize:"14px", padding: "10px"}}>
<div className="about-overview" style={{}}>
<p style={{fontSize:"18px", borderBottom:"2px solid rgba(200,200,200,0.5)"}}><b>Overview</b></p>
<p>The application header contains three links as indicated in the graphic below</p>
<p className="about-headerLinks" onWheel={this.handleWheelScroll} ><img className="about-image header-links-img" src="/resources/about-images/HeaderLinks.png"></img></p>
<p>Refer to the <b>Helpful hints</b> panel for an overview of the application widgets and navigation. </p>
<p>Select the <b>Boat ramp search</b> link to interact with the Florida open boat ramp database by
filtering the boat ramps by criteria, searching boat ramps by attributes, and finding ramps by location.</p>
<p>Select the <b>Boat ramp info</b> link to obtain detailed information about a selected boat ramp.</p>
</div>
<div className="about-details">
<p style={{fontSize:"18px", borderBottom:"2px solid rgba(200,200,200,0.5)"}}><b>More Details</b></p>
<p><img className="about-image viewsNav-img" src="/resources/about-images/ViewsNavWidget.png"></img></p>
<p>The <b>Boat ramp search</b> panel contains widgets for interacting with the boat ramp database. </p>
<ul>
<li>From the <b>Filters</b> tab, the database can be filtered by 6 criteria.
Filtered ramps are listed in the bottom panel and can be selected for more info and to zoom in to the ramp on the map.</li>
<li>From the <b>Attributes</b> tab, the database can be searched by Ramp name, Waterbody name, and Primary management entity.
The widget will not filter the data. If a filter as been applied in the Filters tab,
only the filtered records will be available for search.</li>
<li>From the <b>Location</b> tab, ramps can be located by a given distance from a map location or area,
a provided address, or your location.
For the latter option, the browser location service must be enabled.</li>
</ul>
<p>The <b>Attribute Table</b> <img className="about-image tableIcon-img" src="/resources/about-images/TableIcon_clean.png"></img>
can be opened from the bottom of the screen to provide a view to the database and scroll through the records.
Selecting a record zooms in to the boat ramp on the map and opens the <b>Boat ramp info</b> panel.
The table data can be searched by ramp name and waterbody name.</p>
<p>Lastly, clicking on any feature in the map will open the <b>Boat ramp info</b> panel for that feature.</p>
</div>
</div>
)
return (content)
}
}
... View more
08-30-2024
12:04 PM
|
2
|
0
|
1131
|
|
POST
|
I am having a lot of problems with the Text widget when trying to using numbering and bullets: 1. It is impossible to resume numbering for an ordered list if any of the numbered items have bullets. The number ALWAYS restarts at 1 on the next item and I can't find any way to fix this. 2. There doesn't seem to be any way to change the font color of the numbering so it matches the text. If I highlight all of the text (including the numbering) only the text will change to the selected font color, the numbers remain white and are invisible on a white background. I was able to use custom styling to get the numbers the desired color, but shouldn't have to do that. 3. A couple of things that are of lesser importance, but can be a little annoying: a. It would be nice to be able to embed an Image widget inside of a Text widget b. It would be nice to have some control over the numbering/bullet indents. I know the obvious solution to most of the issues above would be to use a Text widget for every paragraph or bulleted item. As a practice, I normally embed my Text widgets into a Fixed panel because it adds some flexibility such as padding for the text and the ability to add images. In summation, I end up using a LOT of widgets which can make positioning and styling complicated, instead of being able to create the desired content using a single Text widget. The other issue with this solution is that you loose any ability for text overflow so not good if you need to display a lot of information and scrolling is required.
... View more
08-29-2024
06:29 AM
|
0
|
1
|
1197
|
|
POST
|
I am using merged symbols for a feature layer for displaying the data in my data source (Web map), but this is causing an issue when using the same field in my Filter expression. I want to use Unique values for my source type, but it seems like the merged fields are preventing all of the unique values from showing up in the menu: I have two values merged for the Hand Launch and Airboat symbols in the web map. This causes unwanted behavior in my Filter widget. I seems as though the widget is coded to take the field values from the symbology rather than the layer which is kind of weird. Is there a checkbox some place I am missing, or has any one else had the same issue and knows of a work-around. I know I could probably added another layer just for Filtering and maybe try and add an action to Filter the displayed layer, but that is a lot of extra data and processing and adds an extra level of complexity that seems a little over the top. Looking for better suggestions. I also tried using predefined values with 'contains' and only the last values shows up in the menu:
... View more
07-12-2024
06:02 AM
|
0
|
3
|
852
|
| Title | Kudos | Posted |
|---|---|---|
| 8 | 10-28-2025 10:15 AM | |
| 2 | 10-14-2025 06:36 AM | |
| 1 | 09-16-2022 09:31 AM | |
| 1 | 06-13-2024 05:45 AM | |
| 1 | 06-26-2025 06:28 AM |
| Online Status |
Offline
|
| Date Last Visited |
11-06-2025
04:20 AM
|