我遇到了一个设计难题,需要一些反馈,因此我希望我的 SharePoint 专家同事能够帮助我解决这个问题。

我正在单个 MOSS 列表 (List1) 中管理一组项目,其中“项目名称”列将被视为相关列表的“主键”(至少在我看来)。每个项目都将与其关联的一组已定义的可交付成果(每个项目的生命周期中最多 37 个单独的活动),并且每个可交付成果将跟踪建议在项目期间完成的一项重要活动。

我最初的想法是在单独的“查找列表”(List2)中定义 37 个可交付成果,以便每个可交付成果不仅有“可交付成果名称”,而且还:

“URL” - 链接到一个单独的非 MOSS wiki,用户可以在其中找到有关如何完成可交付成果的更多信息 “描述” - 快速解释可交付成果的含义(无需将用户发送到单独的服务器以获取任何详细信息) “项目阶段” - 帮助我们按照需要完成的顺序对可交付成果进行筛选和排序 “角色” - 标识负责完成可交付结果的主要项目角色

然后,我将在另一个列表(List3)中创建单独的项目,每个项目都与(1)项目和(2)“可交付成果查找列表”中的“模板”项目相关联,以便我们可以跟踪其他这些项目项目/每个可交付成果字段:

“完成日期” - 可交付成果完成的日期(如果有) “如何处置” - 一个下拉列表,用户可以从中选择“已完成”、“推迟”、“不适用”或“仍在进行中”等状态 “注释” - 自由格式的文本,用于记录有关所做内容和原因的更多解释/理由

这种方法的一个主要问题是 Microsoft 的最佳实践指南强烈建议不要使用列表中包含超过 2000 个项目的 MOSS 列表。即使我们从未向每个项目添加更多可交付成果,恐怕我们也会在很短的时间内扩展到超过 54 个项目(我“允许”的数量 = 2000/37)。创建 List3 的多个实例理论上是可能的,但对我来说自动化是一场噩梦(随着我跟踪的项目集的增长)。

我能想到的第一个替代方案是在项目列表中预先定义 37 个附加列,以及启用用户需要的“日期”、“处置”和“注释”字段所需的 (37 x 3) 列跟踪每个可交付成果。另外,还必须管理每个 SPD 表单和 Web 部件页面的脆弱配置/设计,我想用它们来“美化”所有这些数据输入和数据管理的 UI。

有人向我建议的另一种选择是为每个项目创建子站点,并在项目子站点的单个列表中列出项目的可交付成果。对我来说这似乎非常重要,我只考虑将其作为我的最后手段。

你们中的任何人将如何在 MOSS 中实现这一目标(不依赖外部数据库,或任何必须安装到服务器的代码)?是否有一些技巧可以使这项工作正常进行,而这在通常的 MOSS 列表功能中并不明显?我应该使用 MOSS 的一些隐藏功能吗?我还没有发现 SharePoint Designer 的一些巧妙之处?我 相信许多其他人也面临着同样的限制,并且已经弄清楚 一些 让它发挥作用的方法。我很感激你们提出的任何想法 - 提前致谢!

有帮助吗?

解决方案

在我的经验会> 2000个多种,产品每个容器(列表,文件夹,索引项)是不是世界末日。更糟的是,虽然是如果你开始使用链接到对方(通常是通过查找)多个列表。然后,当你想基于其母公司的值不是查找的一部分来筛选孩子成为一个很大的痛苦。报告对这些数据可以很慢,如果你有很多的参与记录的加入。

我在过去的倾向一直是使用第三范式,但是,这并不工作,以及与SharePoint列表,所以我会考虑一个相当扁平结构。如果你有一个一对多的关系,你会最想使用单独列出,但。

其他提示

Microsoft 的最佳实践指出,出于性能原因,一个项目中的项目不应超过 2000 个。 看法;您完全可以在列表中包含数百万个项目,但您应该仔细定义视图并使用索引列,以便一次仅返回少于 2000 个项目。

如果您的列表数据不经常更改并且服务器上有大量可用内存,则值得使用 PortalSiteMapProvider 来查询列表。有关查询列表的各种方法的更多信息以及完整的比较白皮书可以找到 这里.

干杯!

我会建议使用子网站或网站集的每一个项目。 阿元项目网站可以被定义,可以汇总项目点的重要信息。然后该项目选址可以存储不仅仅是交付较多,但可以成为一个重点项目合作。

MS的建议是,业绩开始如果使用超过50,000个网站集受苦,所以有一定的灵活性存在。存储许多文档时,因为是在内容数据库之间移动子网站在内容数据库增长过大的没有什么好办法子站点可以迅速变得无法控制。

我觉得每个项目的架构网站集会给你更大的flexiblity和abvoid复杂查找列出了讨厌的问题。它将依靠一些相当聪明的使用,但是在搜索结果网页组件的。

“MOSS列出与在列表> 2000项”

这是不是一个问题,因为它是你在一个视图中显示什么。我觉得MOSS是不是一个发展plattform添加教育部复杂的项目进行更多的领域。我应该做一个正常的SQLserver ASP.NEt应用

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top