Pergunta

I try to configure SharePoint Server 2010 replicated properties of User Profile (such as 'Birthday') to see them into User Info Lists on my Site Collections. I've setted it to Replicable and Pirvacy Setting to Everyone, and after started full sync, all default properties changed successful, but Birthday property doesn't created (but here written that's this right way). Ok, if I create this field manually into User Info List, also there are anything changed. How to right configure this type of properties?

Foi útil?

Solução

Here's how I was able to do something about:

  • I marked property Birthday as Replicable
  • Start full synchronization
  • Later I was pleasantly surprised that field Birthday was also created into Users Information List on the Site Collection, so, cool, but there are nothing into value
  • I looked with Reflector how to sync works via Microsoft.Office.Server.UserProfiles.ProfileCopier class, method CopyProfileToList(UserProfile up, SPListItem itm)
  • There is so strange condition that return false for Birthday User Profile Property, because it's DateOnly

    if ((obj2 is DateTime) && ((data.Flags & PropMigrationData.EPropertyFlags.DateOnly) == PropMigrationData.EPropertyFlags.Empty))

    and this condition, that allows only text-typed fields

    if (((data.WSSFieldType != fieldFromUserInfoList.Type) && (fieldFromUserInfoList.Type != SPFieldType.Note)) && (fieldFromUserInfoList.Type != SPFieldType.Text))

  • I open SharePoint Manager 2010 and change type of property Birthday (internal name SPSBirthday) to Text

  • And full synchronisation works fine after that ;)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top