When users shoot themselves in the foot
The setup
I no longer work with end users very often, but this came across my desk (errr... I got a message on the SNDevs Slack). There was a person in the NextGen program who was working on a project. They had created a custom table and could not get to a next step because half of the fields on the form weren't showing up.
The instructor had checked the usual suspects... The fields were part of the form view, there weren't any UI policies, Data Policies, or Client Scripts hiding them. All the ACLs were passed so that wasn't the issue either.
And... this issue was only happening to a single user account. When the instructor logged in as a different user, they could see the fields just fine.
Any guesses what the problem was?
Personalize a form
I logged in and poked around a bit and covered all the same places that the instructor did. I didn't find anything there either. Next I impersonated the student, and the fields were missing again.
And then I remembered about a "feature" that most people don't know exists and, in my opinion, has caused many more problems than it solves. (Personalize a form)[https://docs.servicenow.com/bundle/vancouver-platform-user-interface/page/use/using-forms/task/t_PersonalizeAForm.html]
What this does is allow a user, without any sort of elevated permissions, to remove fields from a form just for themselves. This leads to a weird and difficult to troubleshoot issue where just one user is seeing something different from others for no apparent reason. This is very similar to when a user (removes things from showing up in the Activity Stream)[https://docs.servicenow.com/bundle/vancouver-platform-user-interface/page/administer/form-administration/task/configure-activity-filters.html]
Bonus content: You can also use (Personalize a form in a Workspace)[https://docs.servicenow.com/bundle/vancouver-platform-user-interface/page/administer/workspace/task/use-personalize-form.html]
What have we learned?
ServiceNow has a long legacy of features that have been added over time. It can be hard to know what all of them are and sometimes they can let a user cause themselves much pain. As an admin
it ends up being your fault, even if it is something that the user did to them selves.