GlobalID in lowercase from Collector to Survey123 (Windows tablet)

1839
9
10-28-2019 05:48 PM
DSIProvince_Nord
New Contributor III

Hi,

I try to pass a globalID from Collector to Survey via URL parameters. Everything works fine except the GlobalID is always in uppercase in my feature service, but once it goes into an esri.fieldtype:GUID in Survey123, it turns into a lowercase.

I noticed that in iOS, it is passed as an uppercase text, but not in Windows10 tablets (collector and survey123 up-to-date).

The only way I found is to create an "incoming" field with fieldtype=null that stores the value passed by Collector, and then my GUID field that calculate the first AND with InputMask= ">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" to ensure every lowercase letter is set to uppercase.

BUT this only works if the field type in Survey123 (not the esri.fieldtype) is set to "text" AND is NOT readonly AND the user enters into the field (by clicking the field without changing anything) when doing the survey.

This is the only way Survey123 sends Uppercase GUID.

Otherwise, Survey123 is always sending a lowercase GUID.

Any idea ??

0 Kudos
9 Replies
JamesTedrick
Esri Esteemed Contributor

Hi,

Just to check, is there a data issue with the submission of a 'lowercase' GUID?  The case of a character in a GUID (which is a hexadecimal number, not text) should not matter.

0 Kudos
DSIProvince_Nord
New Contributor III

Hi,

Yes, there is a problem with lowercase GUID : it is not recognized in the relationship class. 

In a webmap, if I select a parent object (polygon) and try to select all related records (point), only those with an uppercase are found. I have to manually change in the related record from lower to upper, then it works as expected.

The service is a hosted feature service with a polygon layer, a point layer and a table and with relationship :

polygon (1) <-> point (n)

point (1) <-> table (n)

0 Kudos
DougBrowning
MVP Esteemed Contributor
0 Kudos
DougBrowning
MVP Esteemed Contributor

Here is a video now.  Some, but not all, forms in 123 are storing lowercase globalids.  When you do an edit Pro changes them to uppercase.

This can cause all kinds of programming issues.  Not even sure which one it correct.

ArcPro changes globalid to upper.gif

0 Kudos
DougBrowning
MVP Esteemed Contributor

Ok this one is getting me in the web map now.  

It shows globalid as lower case in the attribute table but when I run a simple calc to put it into the FormID field it suddenly goes upper case! 

DougBrowning_0-1639600016563.png

Now the super fantastic part is relationship classes see the uppercase and lowercase and different so it breaks all the relates!

At this point how are we supposed to program around all of this?  I know this is not really 123 at this point but these kinds of inconsistencies is a killer.  Thanks

When I open in Pro I see both again.

DougBrowning_0-1639666529747.png

I think the lower case may be coming from Field Maps.  If I add a feature in a web map in the browser I get uppercase GlobalID.  If I use the exact same map and add in Field Maps it does lower case.

AGOL Add

DougBrowning_2-1639669650464.png

Field Maps add

DougBrowning_1-1639669623511.png

Then ArcPro changes the lower to upper for display

DougBrowning_3-1639669771038.png

So the exact same record shows lower in AGOL and upper in Pro.

0 Kudos
DougBrowning
MVP Esteemed Contributor

Looks like 123 is doing lower case also?

DougBrowning_0-1639676698913.png

And when I look at this form in Pro I again get both depending on the attribute table or the popup

DougBrowning_1-1639677282961.png

 

No idea which one is "correct" still.

Also uuid() does lowercase.

thanks

0 Kudos
DougBrowning
MVP Esteemed Contributor

Since I am not getting anywhere I went to support.  They agree 123 and Field Maps is doing lowercase when everyone else is doing upper.  But they say it is not a bug but an enhancement.  

ENH-000130624

One possible workaround I am testing is to make any ID field a GUID.  GUID does not seem to care about upper and lower so the relationships work.  It is harder to use a GUID and it forces me to add the {} and it cannot be a diff text key which is a bummer.

Also even when I paste in a upper GUID it changes it to lower in AGOL

DougBrowning_0-1643135468466.png

 

But In ArcMap they are all upper and show as upper.

DougBrowning_1-1643135638484.png

 

So AGOL, 123, and Field Maps is all lower or shows lower but ArcMap, Pro, SQL, etc it is all upper and shows upper.

For sure a inconsistency that is very confusing.  I hope all the teams can just agree on one choice and use it.

Also 123 uuid() does all lower.

Going to try and get it escalated so hope 123 can make the switch.

thanks

0 Kudos
DougBrowning
MVP Esteemed Contributor

Esri now agreed to update this to a bug   BUG-000146406 

thanks

0 Kudos
DougBrowning
MVP Esteemed Contributor

Just proved today that if you use the Attributes window to edit in Pro it will change the 123 parentGlobalID field to uppercase - and this does break the relationship!  Support said that would not break it but it for sure does.  I thought so also as did @JamesTedrick 

If you use Field Calculator it will not change to upper case so use that.


Note domains not being updated also breaks editing in Pro.

FYI to all.

0 Kudos