【问题标题】:Sharepoint 2010 role-based calendar?Sharepoint 2010 基于角色的日历?
【发布时间】:2010-06-22 23:17:20
【问题描述】:

我是一位经验丰富的开发人员,但对 SP 不熟悉。我有一个日历,只有某些用户可以添加/编辑/删除事件,但每个用户应该只被允许添加/编辑/删除他们自己的内容。我在我网站的“类别”列表中创建了自己的类别列表。在最原始的层面上,我想修改添加和编辑表单以自动选择类别,然后禁用该下拉菜单。

一旦我弄清楚如何做到这一点,我就可以解决其余的问题。我发现我不能使用诸如 之类的服务器端代码块,除非我错过了某个设置或其他内容。

我看到了一些关于聚合日历的内容(链接已忽略)?例如,每个用户基本上都有自己的日历(通过子站点),然后主站点会聚合这些?

我已经搜索了interwebz,但还没有找到答案。任何信息都会有所帮助。感谢 SO 社区!

【问题讨论】:

    标签: sharepoint sharepoint-2010


    【解决方案1】:

    在 SP 2010 中,您最多可以添加 10 个日历作为当前日历视图的叠加层。

    从功能区中选择日历选项卡,然后在管理视图段中选择日历叠加选项。

    然后您可以选择新日历选项来添加将用于叠加的日历。

    新日历按钮将显示许多选项

    注意

    日历名称:只是叠加层的名称 Web URL:指向日历所在站点的 URL。您需要点击 Resolve 按钮来填充 Lists 和 List View Dropdowns。

    您可以使用相关的用户权限创建 10 个单独的日历,然后使用叠加层将它们一起显示。

    【讨论】:

    • 我使用了“解决”按钮并收到此消息:“无法在给定的 URL 中找到指定的网站”
    • URL 应该指向日历所属的站点,而不是日历本身。例如。 http.://test/Subsite 用于子站点中的日历
    【解决方案2】:

    您在这里要求做几件事... 一般来说,日历是 SharePoint 列表,安全性通常在列表级别进行管理。因此,可以添加和编辑日历的用户可以添加和编辑所有日历项目。要绕过这一点,您需要实现项目级别的安全性,这会大大增加您的应用程序的复杂性,我倾向于回避。如果您选择执行此方法,则会在更改项目时触发 itemAdding 和 itemUpdating 事件。然后,您将以编程方式更新每个项目的安全性。

    借助 SharePoint 2010,您可以使用 SharePoint 设计器相对轻松地修改编辑和添加表单。但是,您对代码块是正确的。在 PageParsepaths 节点下的 web.config 中有一个设置需要更新以允许执行代码块。更多信息here。从安全角度来看,这通常是不好的做法,因为您让用户能够编辑页面,然后他们可能会输入可能在您的站点上运行的恶意代码脚本。从 SharePoint 的角度来看,通常您会创建一个驻留在服务器上的用户控件(ASCX 文件)来绕过此问题。然后,您可以嵌入 ASCX 文件,代码块将正常执行。 SharePoint 应用程序目录中的大多数 SharePoint 文件都使用该方法,您可以将其中一个用作模板。还有其他方法可以点赞 Web 部件等

    Babmboo Solutions 有一个允许汇总的日历 Web 部件。虽然我还没有尝试过,但我会研究使用带有内容查询 Web 部件的 OTB 功能来将数据聚合在一起,看看是否能将您带到您想要的位置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多