- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-12-2019 03:16 PM
I'm trying to get a better sense of how the Profile picture works in Service Portal and uploaded a random profile picture, which shows up great:
My issue is when I delete the profile pic from sys_attachment (both the entry that starts with "thumb..." and the ZZ_YYlive_profile), clear my browser cache, and refresh my page, the profile page looks like this:
At first I didn't notice anything wrong with the above screenshot, but after impersonating another user, I noticed that the font awesome user icon is missing from the large avatar, and my initials are missing from the smaller avatar in the header:
When I look inside the console for my profile, I notice that for the large avatar, there's still a sys_id associated with my profile picture even though I've deleted it completely from the sys_attachment table:
Am I missing a step in this? If a user uploads a picture but then deletes it, how can they get rid of the sys_id that looks to still be rending a "blank" photo?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-13-2019 06:43 AM
Hey Everyone,
I opened a HI Ticket and the technician helped me solve the issue. This issue was completely my fault; should not delete profile pictures directly from the sys_attachment table for anyone who's facing the same problem. Here is the solution that fixed it:
The below KB article documents how to delete/update user profile pictures:
https://hi.service-now.com/kb_view.do?sysparm_article=KB0687598
The delete should be performed from the live_profile table.
Still using the steps above I was not able to empty the photo field for the corrupt record and I had to run 2 clean up scripts:
Clear photo value in live profile:
var gr = new GlideRecord('live_profile');
gr.addQuery('sys_id', '0280fc77dba4d700af88f5861d961971');
gr.query();
while(gr.next())
{
gs.print("Updating user"+ gr.name);
gs.print("Actual Photo"+ gr.photo);
gr.photo = '';
gr.setWorkflow(false);
gr.update();
}
Clear photo value in sys_user:
var gr = new GlideRecord('sys_user');
gr.addQuery('sys_id', '62826bf03710200044e0bfc8bcbe5df1');
gr.query();
while(gr.next())
{
gs.print("Updating user"+ gr.name);
gs.print("Actual Photo"+ gr.photo);
gr.photo = '';
gr.setWorkflow(false);
gr.update();
}
After clearing the cache using cache.do everything was back to order.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-12-2019 04:00 PM
What can you (as that avatar should be stored in sys_attachment as well) is the following:
- using Chrome browser right click on the avatar and then Inspect
- in the inspector you should see something like below:
- the sys_id you see there in red is the sys_id to the corresponding record in sys_attachment. Go to sys_attachment.list and in the filter use sys_id is <that sys_id>. This way you should get a record back. Let me know if this shows a record for you.
Regards,
Sachin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-12-2019 04:11 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-13-2019 12:00 AM
Hi,
I would like you to check whether that particular image is deleted from the table where it is stored.
Could you please check the same and reload the page?
I hope your issue will be resolved.
Please mark the answer as correct if it suffice your query.
Thanks.
Soumita.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-13-2019 06:43 AM
Hey Everyone,
I opened a HI Ticket and the technician helped me solve the issue. This issue was completely my fault; should not delete profile pictures directly from the sys_attachment table for anyone who's facing the same problem. Here is the solution that fixed it:
The below KB article documents how to delete/update user profile pictures:
https://hi.service-now.com/kb_view.do?sysparm_article=KB0687598
The delete should be performed from the live_profile table.
Still using the steps above I was not able to empty the photo field for the corrupt record and I had to run 2 clean up scripts:
Clear photo value in live profile:
var gr = new GlideRecord('live_profile');
gr.addQuery('sys_id', '0280fc77dba4d700af88f5861d961971');
gr.query();
while(gr.next())
{
gs.print("Updating user"+ gr.name);
gs.print("Actual Photo"+ gr.photo);
gr.photo = '';
gr.setWorkflow(false);
gr.update();
}
Clear photo value in sys_user:
var gr = new GlideRecord('sys_user');
gr.addQuery('sys_id', '62826bf03710200044e0bfc8bcbe5df1');
gr.query();
while(gr.next())
{
gs.print("Updating user"+ gr.name);
gs.print("Actual Photo"+ gr.photo);
gr.photo = '';
gr.setWorkflow(false);
gr.update();
}
After clearing the cache using cache.do everything was back to order.