Select to view content in your preferred language

Consistency, consistency, consistency

878
6
01-09-2024 02:34 AM
Status: Open
MappyIan
Frequent Contributor

One of the things that really winds me up about the ESRI platform is the lack of consistency across the system.  The latest one I discovered concerns field names that you can't use in hosted tables in ArcGIS Online.  I was creating a hosted table directly in ArcGIS Online to store details about other hosted feature layers, including their size and access restrictions.  In ArcGIS Online, if you try and add a field using the name 'size' or 'access' you are presented with a message saying 'The field name cannot be the same as an SQL keyword':

MappyIan_0-1704794842657.png

This is fair enough, however if you create a table in ArcGIS Pro with fields called 'size' and 'access' you can publish it to ArcGIS Online without any issue.

I find this inconsistency really frustrating.  If it's possible to publish a table with the field names of 'size' and 'access' in one part of the system, they should be permitted in all parts of the system.  My idea is a simple one really: ensure that the system behaves consistently across all components.  In this specific example, a change needs to be made to the Add Field function in ArcGIS Online to allow SQL keywords to be used as field names, as they're clearly permissible depending on how you create the table.

There are so many other areas of the system where there are inconsistencies (feel free to add specific examples to this idea), but this one really annoyed me and prompted me log it as an idea.

Tags (1)
6 Comments
DylanKennard-tt

This also happens when creating a Feature Layer in AGOL or publishing. You cannot use syntax like - However once it's made you can rename it with a -  All be it that does not cascade to the service definition file.

Same issues for renaming an ArcPro project. No tool/function to make that an easy process.

MappyIan

Thanks for adding this one @DylanKennard-tt.

DylanKennard-tt

@MappyIan here is another one driving me nuts. Rotations of symbols like Arrows. It seems like certain icons work as expected and others don't rotate the correct mathematics so you have to add custom code.

LindseyGreidanus

I posted about it in the questions area (https://community.esri.com/t5/arcgis-online-questions/general-question-data-types-float-and-single/m...) but the data types are inconsistent between ArcPro and AGOL.  The data type of Float on Pro was translated to Single on AGOL. You also can't define a data type as Single on AGOL when adding fields, but you can define a data type as single when you add a new csv hosted feature layer.  

MappyIan

I've found another one which really does look like a prime example of two teams in ESRI not talking to each other and implementing the exact same functionality (from an end-user perspective) in different ways.

In Scene Viewer the context menu on group layers allows you to control if all layers in the group can be viewed at the same time ('checkbox' option) or if the layers are exclusively visible ('radio' option):

MappyIan_0-1723809150915.png

In Map Viewer, this control is on the Properties panel of the group layer in the form of a slider named 'exclusive visibility':

MappyIan_1-1723809336990.png

@DebapriyaPaul at ESRI wrote about this addition to Map Viewer in a blog post in July last year.  But why oh why wasn't it implemented in the same way as Scene Viewer (I'm presuming it was available in Scene Viewer first)?

This lack of consistency is really frustrating for end users.

DebapriyaPaul

Map Viewer implemented the option to configure Exclusive visibility for Group layers last year. Scene Viewer has two spots that allow browsing for layers and interacting with layer visibility- the Layer Manager and the Layers panel. However, with Map Viewer's design, the selection on the Layers panel drives the layer options available to configure on the right. The experience, as you pointed out, is different from Scene Viewer.. However, we are working towards streamlining workflows by building shareable components that other applications can opt-in.