UPDATE 30 Jan 2010: Microsoft Support have contacted me to say that a hotfix is imminent.
We’ve been getting an error message “An unknown user profile error has occured. Try recreating this user profile or updating this user profile from the directory service to resolve this problem”.
This occurs when users edit the visibility of picture property on page “http://mysite.somesite.local/_layouts/Editprofile.aspx” and then try to save the page.
We have set up all users to be able to set the visibility of the picture, but we do not give them permission to edit the URL of the picture themselves.
One workaround is to enable users to edit the picture property itself, but for our particular situation this wasn’t acceptable.
On further investigation I found this in the SharePoint log:
w3wp.exe (0x0D64) 0x07E8 SharePoint Portal Server User Profiles 7i0i Medium Profile Edit: Error saving property ‘PictureURL’ with value ”: Microsoft.Office.Server.UserProfiles.PropertyNotEditableException: Property Not Editable: This property can only be modified by an administrator. at Microsoft.Office.Server.UserProfiles.UserProfileValueCollection.CheckUpdatePermissions() at Microsoft.Office.Server.UserProfiles.UserProfileValueCollection.set_Value(Object value) at Microsoft.SharePoint.Portal.WebControls.ProfileUI.SavePropertyValue(UserProfile objProfile, Property prop, Boolean bIgnoreEmpty).
Also if I give users the “Manage User Profiles” right then the save succeeds, and any picture URL that was set by an administrator gets deleted and replaced by an empty string. Nice!
I’m pretty sure that this was working up until the application of the April 2009 Cumulative Update.
Have opened a support call and the good news is that Microsoft have reproduced the problem. I was told that a fix will be made available, but no timescale has been set for that yet.
So in the meantime, if you want users to set the visibility of their pictures, but not to set the pictures themselves – if you haven’t applied the April 09 CU (or later) then don’t!
Ian