【问题标题】:SharePoint many-to-many strategiesSharePoint 多对多策略
【发布时间】:2011-03-09 19:43:54
【问题描述】:

我有一个 SharePoint 网站集,其中包含一个自定义网站定义和几十个已部署的“项目”网站。每个项目都包含许多“文档”(每个文档都由一个实际文档和一个关于该文档的站点表示)。因此,目前这种关系是一个项目对多个文档,并且我当前对每个项目站点的共享点配置都有一个自定义文档库来表示文档似乎工作正常。我的配置还为项目站点下的每个文档创建了一个站点,其 URL 类似于 http://myserver/project1/document1

现在业务需求发生了变化,现在可以将文档潜在地与多个任意项目相关联。由于每个文档当前都在单个项目站点的列表中,因此必须进行一些更改。有什么好的建模方法? FWIW,文档的数量目前在几百个左右,未来几年可能会增长到几千个。

我的想法是将所有现有的基于项目的文档列表迁移到单个全局文档列表中。然后我必须以某种方式在每个项目中重新创建虚拟列表,以显示从该项目可访问的所有文档。从逻辑上讲,它是全局列表的过滤视图。这是一个合理的方法吗?如果是,那么……

  1. 将文档项和相关站点从一个项目内移到某个全球区域的最佳方法是什么?
  2. 通过显示该项目的正确文档来自动适应新项目网站的创建,生成全局文档列表的项目过滤视图的最佳方法是什么?

【问题讨论】:

    标签: sharepoint sharepoint-api


    【解决方案1】:

    查看项目文档最明智的方法是基于文档上的属性进行数据查询,但这依赖于新项目自动知道/向它需要显示的文档添加值。

    我很想为托管路径上的每个文档(及其站点)创建一个站点集,并使用每个项目站点上的列表来确定我查找哪些文档站点来检索文档。但是,从远处很难选择。

    【讨论】:

      【解决方案2】:

      要根据文档自动创建站点,我建议您使用 ItemEventReceiver,与全局列表耦合,甚至更好的是自定义内容类型。添加项目后,您将创建一个站点。

      我建议您还创建一个 ProjectSites 列表和一个 DocumentProjectSites 列表。 DocumentProjectSites 列表包含两个 LookupMulti 字段,一个绑定到 Document Lib,另一个绑定到 ProjectSites 列表。

      要完全启用自动化,请将站点删除事件接收器添加到文档站点以更新 DocumentProjectSites 和 ProjectSites 列表。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-14
        • 1970-01-01
        • 1970-01-01
        • 2017-06-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多