0

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

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

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

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

2 回答 2

0

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

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

于 2009-08-10T22:33:22.343 回答
0

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

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

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

于 2009-08-11T07:14:54.860 回答