【问题标题】:Sharepoint 2010 - Can I rewire the user photo url?Sharepoint 2010 - 我可以重新连接用户照片网址吗?
【发布时间】:2010-11-03 11:26:26
【问题描述】:

SharePoint 2010 更多地利用了员工的照片。在我的公司,员工照片由秘书管理,被视为 HR 数据的一部分。我们有一个方便的网络服务,可以根据登录调整和返回员工照片的大小:

http://services.domain.com/photo.ashx?login=kobi&width=64&height=64

将所有 SharePoint 照片“重新连接”到此服务的好方法是什么?我想避免将所有照片上传到 /my 站点,或更新 Active Directory - 我正在寻找一个全代码解决方案。

我可以重写显示照片的部分吗?如果没有,是否可以重写所有用户照片的url?

看起来 SharePoint 正在使用来自 Microsoft.SharePoint.Portal.dllProfilePropertyImage - 我真正想做的是让 SharePoint 使用我的控件。是不是太乐观了?

【问题讨论】:

    标签: sharepoint sharepoint-2010 photo user-profile


    【解决方案1】:

    有一个小的 STSADM 脚本使用自定义 URL 和用户 ID 更改用户图像 URL。它是为 Sharepoint 2007 制作的,但对于 SP2010 来说可能是一个简单的更改?实际上,它甚至看起来可以用它制作一个小的控制台应用程序。

    也许您对用户图像的自定义 HTTP 处理程序感兴趣(同样是 Sharepoint 2007)?

    对于 Sharepoint 2010,您可能想查看用户配置文件同步服务,也许您可​​以以某种方式将您的特殊图像 URL 附加到配置文件?

    【讨论】:

    • 第一个链接似乎是我需要的,但如果我理解正确,需要定期为所有员工运行该命令。我会调查一下,谢谢。不过,我希望能与 SharePoint 挂钩...
    • 最后它挂接到了 Sharepoint,只需使用 STSADM 运行命令。通过查看可用的源,我可以看到所有代码所做的只是在SetPictureUrlNewPath.cs 中设置“PictureURL”:(SetPicture(profile["PictureURL"], librarypath))。下载页面在这里:stsadm.blogspot.com/2009/02/downloads.html 如果您希望它自动运行,您可以为您的更新命令创建一个计时器/时间表。
    【解决方案2】:

    如果您将 UserProfiles 与 UserProfileManager 一起使用,则可以在导入配置文件时手动设置此属性。您可以从任何系统设置导入,然后在创建用户配置文件时,只需将 PictureUrl 字段设置为您的自定义 URL。您可以使用简单控制台应用程序中的批处理作业来更好地控制导入,而不是使用内置的配置文件同步。您可以从 .exe 运行此代码,作为来自各种系统的夜间配置文件更新的一部分。

    SPServiceContext serviceContext = SPServiceContext.GetContext(topSite);
    UserProfileManager profileMgr = ProfileLoader.GetProfileLoader(serviceContext).GetUserProfileManager();
    UserProfile curUser = null;
    if (profileMgr.UserExists(userId))
    {
        curUser = profileMgr.GetUserProfile(userId);
    } 
    else
    {
        curUser = profileMgr.CreateUserProfile(userId);
    }
    //Set lots of other properties here
    curUser[PropertyConstants.PictureUrl].Value = "http://services.domain.com/photo.ashx?login=" + userId + "&width=64&height=64";
    curUser.Commit();
    

    这会将 PicureUrl 属性设置为您的自定义 URL,您不必上传所有照片。

    【讨论】:

      猜你喜欢
      • 2011-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-18
      • 2011-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多