BLOG
|
Hello @SeanKMcGinnis I am trying to understand the rules regarding tokens for our current connection. Unfortunately, we are still at 10.9.1 for our ArcGIS Enterprise and will likely need to be at that version for some time. However, I did create a custom connecter using the Esri technical article that works well with Survey123 and ArcGIS Enterprise Portal (I know it's not supported exactly). I am just now getting back to testing/working with this connection, and if memory serves correctly, I have had flows where the token expired on my trigger (no longer showing dynamic content and listing the item ID instead of the survey name), but it still functioned when surveys were submitted. So my question is a multi-fold one: will a custom ArcGIS Enterprise connector connection expire (if so, how long before that happens), and within my flow, can the trigger expire and continue to function? Also, you mentioned a workaround to keep connections alive. You stated: "If the flow has not run within the duration of your refresh token timeout, it will fail. The way I have been getting around this is I have a scheduled flow for each of my connections that runs daily to query against a specific feature layer. This forces the refresh token to be refreshed before it times out, preventing me from getting unexpected connection issues." I built two scheduled flows in an attempt to follow what you were laying out above. I have a scheduled flow with my custom connector connection, which queries all my published surveys. The other scheduled flow makes an HTTP POST request to generate a token, parses the JSON to retrieve the token as dynamic content, and makes an HTTP GET request to query all of my published surveys. That one doesn't work because the token I get doesn't seem to work with the header's Authorization: Bearer <access token> scheme. Assuming both are working, would either of these scheduled flows have the effect of keeping the custom connector alive? And where does one get a Bearer access token if it differs from a portal-generated token? I am just seeking as much clarification as possible since there seem to be different types of tokens and connectors/connections at play. Thank you for any guidance you can provide with this.
... View more
|
0
|
0
|
23
|
BLOG
|
@NateHollenbeck I am not aware of a way to do that, but the most straightforward fix is to make your coded domain values the same as your labels. I believe using codes as opposed to the full value was primarily for saving space on disk when that was a more significant concern than it is today. You could then use field calculate to update your existing values to the new ones.
... View more
a month ago
|
1
|
0
|
112
|
POST
|
Not only the solution I was after but served on a silver platter!!! Thank you @JohannesLindner
... View more
11-30-2022
09:55 AM
|
0
|
0
|
1352
|
POST
|
It doesn’t appear to be possible on mobile. I will update/correct tomorrow. Thank you for the tip.
... View more
11-29-2022
06:22 PM
|
0
|
0
|
1540
|
POST
|
Hi Community, I am attempting to use the arcpy.Geometry() objects .union() method to update records in a feature class that were appended but now need to be merged with an existing feature where appropriate (governed by a SQL expression). I am using the arcpy.da.UpdateCursor() to perform the updates. I am attempting to do something like the following, but I am getting an "AttributeError: 'Array' object has no attribute 'union'" error. arcpy.MakeFeatureLayer_management(zoning, 'zoning_lyr')
arcpy.management.SelectLayerByAttribute('zoning_lyr', "NEW_SELECTION", "Zoning = 'A'")
selectCount = int(arcpy.GetCount_management('zoning_lyr')[0])
if selectCount >= 2:
zoningGeom = arcpy.CopyFeatures_management('zoning_lyr',arcpy.Geometry())
edit.startEditing(False, False)
edit.startOperation()
N = 1
with arcpy.da.UpdateCursor(zoning, "Shape@", "Zoning = 'A'") as cursor:
for row in cursor:
if N == selectCount:break
while N < selectCount:
row = row[0].union(zoningGeom[N]) # Fails here
cursor.updateRow([row])
N += 1
del row, cursor
edit.stopOperation()
edit.stopEditing(True)
arcpy.Delete_management('zoning_lyr') The code below works without error, except it doesn't run through the whole list of zoningGeom features before moving to the next zoning record in the for loop. Ideally I would have it run through the records in the zoningGeom geometry object, unioning each one to the zoning layer before running out of features to union and exiting both loops. N = 1
with arcpy.da.UpdateCursor(zoning, "Shape@", "Zoning = 'A'") as cursor:
for row in cursor:
if N == selectCount:break
row = row[0].union(zoningGeom[N])
cursor.updateRow([row])
N += 1 I think I am just missing something fundamental here. Hopefully, someone can swoop in and point me in the right direction or, better yet, offer a solution. Thank you in advance,
... View more
11-29-2022
04:41 PM
|
0
|
4
|
1603
|
BLOG
|
Hi @IsmaelChivite, I am having an issue when attribute values contain a single quote, such as a person's last name (e.g., O'Brien, O'Malley, or O'Hara), which is then interpreted as the end of the string, and all remaining values being passed are truncated (BUG-000118152). The lost attributes can result in orphaned records in my case since the Survey123 forms add records to a related table. That table depends on the feature's GlobalID being passed to ensure relationship integrity. I could move the GlobalID to the first position of the URL scheme, but then I wouldn't be able to tell that data was incorrectly passed into the related table. So, the lack of a GlobalID foreign key in the related table allows me to search for and manually correct these issues. The URL scheme I am using looks like this: Collector popup URL scheme link: arcgis-survey123://?itemID=<SurveyItemID>&field:permitnumber={permitnumber}&field:name={name}&field:address={address}&field:email={email}&field:permitguid={GlobalID} To mitigate the behavior, I have replaced the handwritten link in the popup with an arcade expression that uses URL encoding functions to ensure my URL scheme is formatted correctly. Fortunately, this also appears to have resolved the issue with single quotes in the attribute values. Unfortunately, however, this now introduces a far worse problem. All of my attributes get passed except the GlobalID field needed to cement the relationship. As a result, every record created with Survey123 becomes an orphaned record, obviously not the workaround I had hoped to develop. The Arcade expression I am using looks like this: Arcade expression replacing previous manual URL scheme: var urlsource = 'arcgis-survey123://?' var param1 = { itemID : '<Survey ItemID>' }; var param2 = { permitnumber : $feature.permitnumber }; var param3 = { name : $feature.name }; var param4 = { address : $feature.address }; var param5 = { email : $feature.email }; return urlsource + UrlEncode(param1) + '&field:' + UrlEncode(param2)+ '&field:' + UrlEncode(param3)+ '&field:' + UrlEncode(param4)+ '&field:' + UrlEncode(param5)+ '&field:permitguid=' + $feature.GlobalID; Which returns this: arcgis-survey123://?itemID=<SurveyItemID>&field:permitnumber=21-F006&field:name=Ariel%20and%20Nancy%20Smith&field:address=555%20South%20SomeRoad%20Road%2C%20Dwight&field:email=someonesemail45%40yahoo.com&field:permitguid={B3F2E6C2-4AE0-46DB-8648-E3C563A32ECA} The URL looks good to me, but as mentioned previously, it never dynamically passes the GlobalID. At this point, it appears that Survey123 might not be interpreting arcade expression URLs correctly. In addition, I see odd behavior beyond the GlobalIDs being truncated. For example, the arcade Replace() function works intermittently. Initially, my idea was to replace all single quotes with backquotes dynamically. However, this didn't seem to work when the single quotes existed between lower case letters. At any rate, do you or does anyone here have a solution to using Arcade to build the URL scheme without dropping the GlobalIDs? I have a support request open on the issue, but I wanted to reach out directly to the GeoNet community to see if there might be a solution to this that I am somehow missing. I am using data stored in SDE, ArcGIS Enterprise 10.8.1, and the latest Surve123 and Collector apps, 3.13.229 and 21.0.4, respectively.
... View more
09-24-2021
12:59 PM
|
0
|
0
|
4847
|
POST
|
No problem, Steve. I'm happy to share any updates that I am made aware of. Better yet, hopefully, Esri will beat me to it and post that news for the community once it is available.
... View more
08-17-2021
02:52 PM
|
1
|
2
|
953
|
POST
|
For those interested, below is the emailed response I received from Esri: "Thanks for reaching out… We will soon be processing and compiling the 2020 Census data for release with the Esri Redistricting solution. For now, we anticipate the final release of the data and software to happen during the first half of September. With our Esri Redistricting SaaS solution, we have to coordinate the software release with the 2020 Census data release to ensure continuity in the solution. This will be seamless to our customers and please look for email communication as the release time approaches."
... View more
08-17-2021
09:31 AM
|
2
|
0
|
978
|
POST
|
Hi Esri Redistricting Team, With the first batch of 2020 Census Legacy Format Summary files being released tomorrow and the complete redistricting data toolkit being released sometime before September 30, 2021, when can we reasonably expect the data to be available within the Esri Redistricting Solution? I need to manage expectations at our county and do my best to provide a ballpark timeframe on when we can start using the software for the redistricting process. Any information would be helpful to that end. Thanks and all the best,
... View more
08-11-2021
12:28 PM
|
7
|
5
|
1042
|
POST
|
Hi Ismael, To combat the no attachments uploaded issue in Power Automate, I do a conditional check using the empty function to check if attachments exist. If that results in true then I do the email with attachments or add attachments to another feature service, etc... If false, send without. Maybe this would be useful. -dave o.
... View more
01-07-2021
02:35 PM
|
2
|
0
|
3807
|
POST
|
I never did find a way to set the transformation procedure. I am using the Project ArcGIS REST API operation available at the Geometry Server service to get around this. Using webhooks payload data and an automation services platform allows the Project to happen on the fly, which can then be captured using Parse JSON action, which then gets fed into the applyEdits operation to add the point in the correct coordinate system at the correct location.
... View more
01-07-2021
01:50 PM
|
0
|
0
|
457
|
POST
|
I had a similar issue where I was writing submitted survey records to another feature service in NAD 83 state plane, and my points were being plotted incorrectly. I discovered that geopoint questions will always be in WGS84, and there is no way to convert them within Survey123. However, you can use webhooks to pass the point information to another feature service published in the desired coordinate system. There is a parameter to transform the data when doing an applyEdits operation using the ArcGIS REST API. The transformation can be automatically processed using webhooks and an automated services platform such as Power Automate or Integromat. Optionally, you could also leverage a geometry server service (Services>Utilities on your server's REST endpoint or by using https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer/project?) and use the built-in project operation using the ArcGIS REST API.
... View more
01-06-2021
03:03 PM
|
1
|
0
|
1592
|
BLOG
|
@JamesTedrick stated, "You can query the feature (using the 'Make an HTTP request' action) that was edited to retrieve the full feature information." Previously the expected behavior when editing a submitted survey record was that only the updated fields would be included within the payload when a survey is submitted. However, it appears that this process has since been improved. All survey fields are now included in the payload, whether actively edited or not, and assuming the webhook setting to submit the survey data has been checked. The update was a good enhancement as it reduces the need to set up superfluous actions within a scenario or flow. I just wanted to point this out to the community since if the expectation is that it doesn't get passed in, that payload information could be overlooked.
... View more
01-06-2021
12:22 PM
|
0
|
0
|
6963
|
POST
|
Hi James, "pulldata() functions are not designed to occur within other functions." Does this also extend to nested IF statements? I want to use the pulldata() function depending upon the input of a previous question. Thank you, dave-o.
... View more
11-02-2020
11:45 AM
|
0
|
0
|
1291
|
Title | Kudos | Posted |
---|---|---|
1 | a month ago | |
2 | 01-07-2021 02:35 PM | |
1 | 01-06-2021 03:03 PM | |
1 | 08-17-2021 02:52 PM | |
2 | 08-17-2021 09:31 AM |
Online Status |
Offline
|
Date Last Visited |
yesterday
|