I've been having continued problems of maintaining consistent behaviour and appearance of attribute table fields when moving data backwards and forwards between local FGDBs (used in ArcMap 10.4) and ArcGIS Online. Ideally I wouldn't have to do it, the data would live in one place, and that would be that. But unfortunately I have reasons why I need to move the stuff back and forth, and I want to save myself the bother of re-doing lots of the settings which seem to get lost when moving.
My problems have been with aliases, default values and field re-ordering setting being lost or muddled in transfers. And as you can make changes in various places that override settings made elsewhere, and the changes can be saved in different and unusual places (AGOL) without the user knowing, it can all get into a big mess and waste a lot of time by losing all your carefully chosen settings. I haven't found any good documentation on this (please comment a link if you know of some), so I've attached a file with the results of my own testing of what works and what doesn't.
As far as I can see, mostly the issues stem from 2 behaviours of AGOL, so I'm wondering if anyone knows the reasons (and/or better ways of doing things than what I'm doing)?
1. Field alias changes made using AGOL front-end tools don’t get saved into the field properties in the feature definition (however, thankfully you can edit the feature definition manually to do this). Where do they go? And why not to the seemly obviously place in the definition, where they would then get into any FGDB downloads of the data you do?
2. Default values for fields in AGOL are never saved in the field properties in the feature definition, they only go into templates. This means not only are any changes made to the default values made in AGOL lost when you download a FGDB, but ALL default values as lost, as any defaults you set up initially in ArcMap get transferred to a template when you share as service to AGOL. Whilst you can edit default values in the definition *in the template* manually or using the AGOL "front-end tools", you can't edit the default value in the field's properties (even though the default value property for the field is right there in the definition, any updates you make to it are rejected). Again, why is the seemly obvious place in the definition not used to store default values for a field?
And then there is the age old problem of permanently re-ordering attribute table fields, but I won't get into that here!
Any thoughts, solutions, comments appreciated.