I have an Experience in which I have a text and sidebar widget. The text widget is just for the title. The sidebar widget has the map in the main screen and a collapsible table that is at the bottom. I have recreated my app using ExB from a Web AppBuilder app. It had been working correctly.
The web map contains many layers with pop-ups enabled. It works correctly in the web map. However, when I open my ExB, my hosted image services pop-ups do not display.
These image services are stored on our Microsoft Azure Storage Explorer (as a COG) then shared as a web layer to our Portal. In Portal, the image service is shared with Everyone. Then, this service URL is copied and added to ArcGIS Online by "adding a new item by URL."
In my ExB app, I can turn on the image service layers and they appear in the map. If I click on the map, if there are any other layers visible, a pop-up appears. If no other layers lay on top of the image service layer, no pop-up appears. For example, I have a hosted vector layer lying on top of a hosted image layer. The pop-up appears and it shows the data for the vector layer and it states that there are two pop-ups to see. But when I click the arrow to move to the second pop-up, the whole pop-up window disappears. If I turn off the vector layer so only the image layer is displayed, no pop-up appears at all.
I can't share the map/app publicly as it has sensitive information.
@AnninaRupe1 @DavidColey The next release might be coming before Nov, sometime around late October (which could be subject to changes). As for the COG, I will ask my colleagues and see if we have some more information for that - I personally am not that familiar with this specific format, unfortunately.
Appreciate any help you can give--my colleagues really need this capability now.
For COG data, you can use the GP tool 'Create Cloud Storage Connection' to create a connection file.
After that, create a mosaic dataset and add rasters to it, selecting the connection file as the input data source. Ensure you select 'All files' when browsing for the connection file.
Fields and attributes will be generated automatically. Finally, publish the mosaic as a service. Hope it helps!
Unfortunately this solution defeats one of the purposes of employing COGs: minimizing storage requirements.
I have them stored on our Azure server and want to reference them, not copy to another server. I can't create a mosaic dataset on the Azure server so I have to do that locally, and then when I share to Portal I have to copy data to the server. This essentially doubles the space requirements ($$).
HI @AnninaRupe1 - can you describe your deployment for me? We have a distributed deployment, with portal, a 2-machine hosting site cluster, a relational datastore, a tile cache datastore and a 2-machine federated site cluster that holds our Image Server role.
We then use a separate configuration server to hold the hosting sites' ArcGIS server directories and the federated sites' ArcGIS server directories.
For image storage, we have an on-prem storage NAS that holds all of our source tiffs for all of our imagery (14Tb currently)
Everything communicates by directory share via a server-registered datastore folder connection (datastore) that holds a file gdb containing Image Mosaic datasets. Currently the Image Mosaic file gdb is up to 15Gb, but it contains 35 mosaic datasets.
l guess my point is, you shouldn't have to copy any source images or data to the server if you share a folder with the arcgis server service account, and then register that folder to either portal or directly to server. That is how I am able to publish my mosaic datasets as Image Services without having to copy any data.
Even if you don't have a distributed deployment like us, you could share a local folder with the arcgis server service account, and then register that local folder as a datastore folder.
The Image Mosaic datasets will just contain the path reference to your cloud storage for the source COGs - and you can even write out the Image Mosaic Overview tiffs to your drive, since they don't take much space.
But it is a lot of work, and fortunately I only have to do it once a year, when we receive our annual Pictometry flights.
@DavidColey : some of those questions are way above my head and can try to answer, and they probably will fall short, but here's what I know: We have ArcGIS Enterprise. All of our data are stored on a cloud-based Azure SQL database and all of our servers are deployed on Azure Virtual Machines.
I'll try asking about write capabilities to our cloud SQL database so that the mosaic dataset can be on a registered folder and thus not have to copy anything.
Thanks for the comments that get my brain thinking differently!
Sure thing @AnninaRupe1 it sounds like you guys are distributed, in that server and portal are on separate VMs, same as us. Only difference is currently we're on Windows VMs on a VMWare host, basically like an on-prem cloud.
The thing to keep in mind is that the Mosaic Datasets just contain a reference path to wherever your source imagery is stored, while storing image info (like pixel size, etc), in an an attribute table along with an image footprint shape and a dataset boundary shape, but as part of the mosaic dataset object. I'd say building mosaic datasets from your COGs would be more of longer term service management strategy.
But in the short term, until ExB team gets this fixed, you might want to consider doing what I am doing and create an Instant App (like just a Basic Viewer or a Media Map) and have a link to it from your ExB. You can look at my ExB link in this post to see how I did that . . .
I feel like I'm always saying "unfortunately" BUT...
Unfortunately creating an Instant App isn't going to work in my situation. I have created an app that has a lot of different layers with bookmarks configured to show the specific layers needed for site review and update. My users are already used to this app and asking them to learn something new for an interim solution isn't something I can do. Still am looking into whether I can have a folder on the registered server that can hold a mosaic dataset. If that doesn't work, I'll probably have to double-store things for a while.
Ok thanks again for the update @TonghuiMing