SharePoint 多对多策略
我有一个 SharePoint 网站集,其中包含自定义网站定义和几十个针对“项目”部署的网站。 每个项目都包含许多“文档”(每个文档由一个实际文档和一个有关该文档的站点表示)。 因此,目前这种关系是一个项目与多个文档的关系,并且我当前每个项目站点的共享点配置(具有自定义文档库来表示文档)似乎工作正常。 我的配置还为项目站点下的每个文档创建一个站点,其 url 类似于 http://myserver/project1/document1< /a>.
现在业务需求已经改变,现在文档可能与多个任意项目相关联是有意义的。 由于每个文档当前都位于单个项目站点内的列表中,因此必须进行某些更改。 对此进行建模的好方法是什么? FWIW,文档的数量目前约为几百个,未来几年可能会增长到几千个。
我的想法是将所有现有的基于项目的文档列表迁移到单个全局文档列表中。 然后,我必须以某种方式在每个项目中重新创建虚拟列表,以显示可从该项目访问的所有文档。 从逻辑上讲,它是全局列表的过滤视图。 这是一个合理的做法吗? 如果是这样,那么...
- 将文档项和关联站点从一个项目内移动到某个全局区域的最佳方法是什么?
- 通过显示该项目的正确文档来自动适应新项目站点创建的方式生成全局文档列表的项目筛选视图的最佳方法是什么?
I have a SharePoint site collection that contains a custom site definition and a couple dozen deployed sites for a "Project". Each project contains many "Documents" (each represented by an actual document and a site about the document). So, currently that relationship is one Project to many Documents, and my current sharepoint configuration of each Project site having a custom document library to represent the Documents seems to work fine. My configuration also creates a site for each Document beneath the Project site, with a url like http://myserver/project1/document1.
Now the business requirements have changed, and it now makes sense for a Document to be potentially affiliated with multiple and arbitrary projects. Since each Document is currently in a list within a single Project site, something must change. What's a good way to model this? FWIW, the number of Documents is currently on the order of a couple hundred, with future growth to maybe a couple thousand over the next several years.
My thought is to migrate all of my existing Project-based Document lists into a single global Documents list. Then I'd have to somehow re-create virtual lists within each Project that shows all of the Documents accessible from that Project. It would logically be a filtered view of the global list. Is this a reasonable approach? If so, then...
- What is the best way to move the Document items and associated sites from within one project and into some global area?
- What is the best way to generate those Project-filtered views of the global Documents list in a way that automatically accommodates new Project site creation by showing the correct Documents for that Project?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
要自动创建基于文档的站点,我建议您使用 ItemEventReceiver,耦合到全局列表,甚至更好的是自定义内容类型。 添加该项目后,您将创建一个站点。
我建议您还创建一个 ProjectSites 列表和一个 DocumentProjectSites 列表。 DocumentProjectSites 列表包含两个 LookupMulti 字段,一个绑定到文档库,另一个绑定到 ProjectSites 列表。
要完全启用自动化,请将站点删除事件接收器添加到文档站点以更新 DocumentProjectSites 和 ProjectSites 列表。
To automate the creation of sites based on documents i suggest you use an ItemEventReceiver, coupled to to global list, or even better, a custom content type. When the item is added you create a site.
I suggest you also create a ProjectSites list and a DocumentProjectSites list. The list DocumentProjectSites contains two LookupMulti Fields, one bound to the Document Lib, the other to the ProjectSites list.
To fully enable automation, add a site deletion event receiver to the document sites to update the DocumentProjectSites and ProjectSites lists.
查看项目文档的最明智的方法是基于文档属性的数据查询,但这依赖于新项目自动了解/向其需要显示的文档添加值。
我很想为托管路径上的每个文档(及其网站)创建一个网站集,并使用每个项目网站上的列表来确定我查找哪些文档网站来检索文档。 不过,从远处看,这一切都很难选择。
The most sensible way to view a Projects Documents would be a data query based on an attribute on the document, but that relies on a new project automagically knowing/adding values to the Documents it requires to display.
I would be tempted to create a site collection for each Document (and it's site) on a managed path and use a list on each project site to determine which Document sites I look up to retrieve the documents. It is all pretty hard to choose from a distance though.