我一直在关注salesforce Recruiting App教程,并且已经到了创建公共站点的部分: http://www.salesforce.com/us/developer/docs/fundamentals/Content/adg_composite_app_public_sites.htm
我已经构建了一个简单的页面来显示打开的作业,如下所述: http://www.salesforce.com/us/developer/docs/fundamentals/Content/adg_composite_app_create_public_jobs_try_it_out.htm
当我通过“内部”网址查看时,这会正确显示打开的作业:https://c.ap1.visual.force.com/apex/PublicJobs
但是,当我通过“外部”网址http://servian-developer-edition.ap1.force.com/careers查看同一页面时,页面仍会呈现,但现在作业列表为空。
我认为这不是权限错误,因为它肯定会提示我登录。我需要做什么才能使数据显示在“外部”URL上?
答案 0 :(得分:3)
确保网站的“访客”用户在其个人资料中具有“位置”对象的“读取”权限。您无法通过安装程序中的常规配置文件列表页面访问来宾用户的配置文件;相反,请单击站点详细信息页面上的“公共访问设置”按钮。在配置文件中,一直到页面底部,并确保选中“读取”权限。如果仍然无法正常工作,请确保该配置文件的“字段级别安全性”设置也正确。 FLS设置在同一页面中间向下控制。
答案 1 :(得分:0)
除上述内容外,如果对象是自定义对象处于“已部署”状态,请确保该对象。这为我们解决了这个问题。
其他信息(来自help.salesforce.com):
在开发自定义对象或外部对象时,您可能不希望用户查看并与之交互。因为当您删除自定义字段时,用户可能会对布局更改或数据丢失感到沮丧,因此在完成之前控制新对象的可见性。 使用对象定义中的“部署状态”设置可控制用户何时可以查看和使用对象及其关联的自定义选项卡,相关列表和报告。 首次创建自定义对象或外部对象时,选择“在开发中”作为部署状态。这样做可以在您设计和测试时隐藏用户。只有具有“自定义应用程序”权限的用户才能看到对象选项卡,搜索结果,相关列表和报表数据类型。 如果要允许所有用户使用该对象以及任何关联的自定义选项卡,相关列表和报告,请将“部署状态”更改为“已部署”。 如果在部署自定义对象或外部对象后进行了更多增强,则可以将“部署状态”更改回“正在开发中”。