Offline Queries on standalone tables possible?
Hi,
I have created a Geocortex Mobile Application with several Workflow5 workflows that reference a webmap. The webmap contains 5 spatial layers and 5 standalone tables - I am able to use the 'Get Layer' Activity for the spatial layers, but this does not seem to work for the standalone tables. Any ideas on how I can query the tables in offline mode?
Additionally - when I switch the map to offline mode/a map area I get a notification that states: "Enountered Error When Changing Map, ArgumentException: Invalid type of table for this type of table extension"
Wondering if someone could help out with this - We are building a production-ready app for our Annual Employment Survey (go live is May 2020). I would really appreciate any input from Latitude Staff or other users.
Thanks,
Arjun
-
Anyone? Is there an alternative place I go to get a more timely response? Not sure if support is through ESRI or can I contact Geocortex support directly? From what I am seeing on other topics, these forums don't seem to be monitored too often. We are really hoping to adopt 5-series products through this 'Proof of Concept' project. @Geocortex Support (Latitude Geographics)? @Geocortex Workflow (Customer)? @Amanda Frech? @Amanda Frech? @Stefan Schweigert? @Cam Barnard? @Jeff Siemens?
0 -
Hi Arjun,
In order to access a standalone table, it must be a part of your web map and use the matching name in the web map as configured in ArcGIS Online or Portal. The table must also be configured to be capable to be taken offline. Based on that error message, that seems to indicate it might not be setup correctly.
Thanks, Stefan
0 -
Hi Arjun, I'm looking into it. I will get back to you shortly.
Jeff
0 -
@Stefan Schweigert? @Jeff Siemens? thanks for looking into this. As far as I can tell, I have configured the 'Employment Survey' hosted feature layer (1 spatial layer, 5 tables) for offline editing. I followed these instructions from ESRI: https://doc.arcgis.com/en/arcgis-online/manage-data/take-maps-offline.htm
For the above 'Employment Survey' hosted feature layer, I am able to do offline query/editing through a workflow for the 1 spatial layer using the 'Get Layer' activity. However, the 'Get Layer' activity does not seem to work on the standalone tables. I also note in ArcGIS Online, layers and tables are listed separately so perhaps the 'Get Layer' activity is only meant for spatial layers?
I have attached screenshots of the hosted feature layer along with the settings.
0 -
In answer, to your first question, we do have the issue logged:
#29022 - [Bug.Workflow] GetLayer activity does not return tables
As a workaround, you should be able to get access to all the tables using this expression:
=$map1.map.mapView.map.Tables
Assuming that "map1" is the ID of a Get Map activity.
You can then loop through the tables to find the one you want, eg,
=$table.Table == "Backflow Inspections"
Regarding the problem when activating a map area, I am not sure what the problem is. I can tell you that we have tested taking tables offline with map areas, and it works. I just tried it now, and it was fine. It's most likely something to do with your data.
Jeff
0 -
@Jeff Siemens? I tried the above workaround, but it doesn't seem to work. See the attached image of a simple workflow I created to loop through the tables returned via the Get Map activity. Alternatively, can you attach a simple workflow that would enable me to query a table in offline mode?
In the 'For Each' activity I used the following items: =$ES2020Map.map.mapView.map.Tables
I want the alert to display the Table Names (Layer IDs) as it appears on the Webmap. If I set the alert to =$ES2020Map.map.mapView.map.Tables.Table
I should see 5 alerts with the 5 table IDs, correct?
However, when I tested this workflow the 'For Each' is only going through the loop once. Also, the above syntax to display the Table names does not work - is there any developer reference to see the properties for the 'MapInfo' data type? They autocomplete in workflow5 does not seem to pick up the properties you described in the workaround expression.
0 -
Hi @Arjun Rattan?,
Based on the way it is configured in the screenshot, I would expect to see a single alert with only one table listed since it happens when the loop is complete. In order to have the Alert run for each table, open the For Each activity, and place the Alert in there. Is there any change?
0 -
@Jennifer Di Cesare? Rookie mistake on my end. Yup, it is going through the For Each loop 5 times as expected for the 5 tables (5 Alerts). Any idea how I can access each table object within the list of tables contained in $ES2020Map.map.mapView.map.Tables? Also, I want to access the properties such as the Table ID (table name in webmap) for those tables. I can't seem to find any developer reference for these.
0 -
Hi Arjun,
The foreach loop input should look like this:
=$map1.map.mapView.map.Tables
And the alert inside the foreach should look like this:
=$forEach1.item.TableName
The map is this type of object:
https://developers.arcgis.com/net/latest/wpf/api-reference/html/T_Esri_ArcGISRuntime_Mapping_Map.htm
Here is the Tables property that you're accessing:
Which is a collection of Tables:
Which you can see has the TableName property I referenced above, and many other properties that you can access.
0 -
@Jeff Siemens? This worked. Thanks so much for helping me figure out this workaround and sending those references.
0 -
You're welcome! Glad it's working for you! :)
0 -
@Jeff Siemens? , @Arjun Rattan? I have the same problem, I'm able to get the correct Esri.ArcGISRuntime.Data.FeatureTable from a webmap but how can I perform an SQL query on that FeatureTable by using a workflow activity? I used the 'Query Layer' activity but the FeatureTable is not accepted as Layer.
Thanks,
Wouter
0 -
@Jeff Siemens (Latitude Geographics Group Ltd.)? @Wouter D'hollander (SIGGIS)? Turns out I wasn't able to query tables offline either - I'm wondering if this is by 'design' i.e. when activating a Map Area, there is no way for the extent of the Map Area to know whether the table(s) 'fall within' it? Either ways - I am not able to perform queries offline, even after Jeff's suggestions in this thread. I just assigned all the tables generic 'Fake Geometries' that cover the entire extent, so they will be picked up by all map areas. Not the most efficient solution, but I am on a timeline and need to get this to work.
Would greatly appreciate if Latitude Staff could post a simple workflow to illustrate if this is possible? In the future it would be helpful if the 'Get Layer' activity also worked for tables, or alternatively make a 'Get Table' activity.
0
Du måste logga in om du vill lämna en kommentar.
Kommentarer
13 kommentarer