我有一个SharePoint网站集,其中包含一个自定义网站定义和几个用于“项目”的已部署网站。每个项目都包含许多“文档”(每个“文档”由实际文档和关于文档的站点表示)。因此,目前该关系是一个项目到多个文档,并且我的每个项目站点的当前sharepoint配置具有表示文档的自定义文档库似乎工作正常。我的配置还为项目网站下的每个文档创建一个网站,其网址为http://myserver/project1/document1。
现在业务需求已经发生变化,现在,Document可能与多个任意项目有关联。由于每个文档当前都位于单个项目站点的列表中,因此必须更改某些内容。对此进行建模有什么好方法? FWIW,文件数量目前约为几百个,未来几年未来增长可能达到几千个。
我的想法是将所有现有的基于项目的文档列表迁移到单个全局文档列表中。然后,我必须以某种方式在每个项目中重新创建虚拟列表,显示可从该项目访问的所有文档。它在逻辑上是全局列表的过滤视图。这是一种合理的方法吗?如果是,那么......
答案 0 :(得分:0)
查看“项目文档”的最明智的方法是基于文档属性的数据查询,但这依赖于一个新项目,它自动了解/添加要显示的文档的值。
我很想在托管路径上为每个Document(及其站点)创建一个网站集,并使用每个项目站点上的列表来确定我查找哪些Document站点来检索文档。虽然很难从远处进行选择。
答案 1 :(得分:0)
要根据文档自动创建网站,我建议您使用ItemEventReceiver,与全局列表相关联,甚至更好地使用自定义内容类型。添加项目后,您将创建一个站点。
我建议你也创建一个ProjectSites列表和一个DocumentProjectSites列表。列表DocumentProjectSites包含两个LookupMulti字段,一个绑定到Document Lib,另一个绑定到ProjectSites列表。
要完全启用自动化,请在文档站点中添加站点删除事件接收器以更新DocumentProjectSites和ProjectSites列表。