Salesforce Chatter个人资料图片限制

时间:2015-04-14 08:57:52

标签: salesforce-chatter

是否可以限制对Chatter个人资料图片的访问,以便只有系统管理员才能上传照片,而其他所有照片都受到限制?

1 个答案:

答案 0 :(得分:0)

通常,对象中的字段安全性对我们有帮助,但User并不存在。从根本上说,每个用户都可以控制自己的个人资料,包括图片,并且用户对象没有字段权限。您无法修改其他用户,但您可以修改自己的用户。

我很难理解你为什么要这样做,因为把上传照片的负担放在管理员身上似乎是繁忙的工作,这会让他们从中做出更高效的工作。但是,让我们继续吧。

一些背景故事:照片的网址包含在两个User对象字段中:FullPhotoURLSmallPhotoURL

首次创建User条记录时,会为其分配默认的蓝色笑脸个人资料照片,如下所示:

Generic Salesforce Blue Smiley Profile Avatar

默认照片的网址始终如下:

  • FullPhotoURLhttps://c.eu5.content.force.com/profilephoto/005/F
  • SmallPhotoURLhttps://c.eu5.content.force.com/profilephoto/005/T

如果我从默认更新为新照片,FullPhotoURL值将如下所示:https://c.eu5.content.force.com/profilephoto/72924000000CisD/F

每次更新时,72924000000CisD以上的记录ID值都会更新为新值。

在这种情况下,正常的后退位置是触发查找字段值的修改然后停止事务,从而阻止用户更新他们的照片。

然而,个人资料照片上传过程似乎不会导致触发器在我的测试中触发。

因此,您拥有的下一个选项是拥有一个按计划运行的批处理。不幸的是,这使得您必须在某处跟踪每个用户照片的旧值。因此,此解决方法的高级步骤似乎是:

  • 向用户添加自定义字段以存储当前个人资料照片网址
  • 使用一次性批量Apex流程或某种数据工具(如数据加载器)为现有用户填充此数据工具,创建一个带有字段更新的工作流规则,以便为新用户记录填充该规则。
  • 定期运行预定的顶点作业,以在其个人资料照片字段中查找具有已修改值的用户
  • 当您找到这些用户时,要么将其标记出来,要么还原为之前的值。

不漂亮,但它会放置你想要的控件。

从那里开始,您需要教育用户他们需要预期这种情况发生。