【问题标题】:SharePoint 2007 Publishing site development and deploymentSharePoint 2007 发布网站开发和部署
【发布时间】:2009-02-25 10:41:48
【问题描述】:

我是 SharePoint 的初学者,在开始一个项目时需要一些帮助。我必须开发将交付给客户的发布网站。我想给客户端部署体验,就像他在部署标准 ASP.NET 应用程序时所获得的一样。我计划将 Visual Studio 2008 与 SharePoint 扩展以及 WSPBuilder 或其他一些工具一起使用。 我还需要帮助来构建整个项目。

这是我打算做的:
1. 开发最小的站点定义
2. 从这个定义创建站点。我应该如何从代码中做到这一点?使用 SharePoint 功能?我应该如何激活它?
3. 将网站所需的所有基础设施(母版页、布局、内容类型等)开发为 SharePoint 功能。

这是正确的吗?我应该如何开发所有这些部分,以便我可以制作某种安装脚本,以便客户可以一键创建完整的网站?

【问题讨论】:

  • 好问题...良好的直觉。

标签: sharepoint content-management-system moss


【解决方案1】:

毫无疑问,站点定义很复杂,但如果您需要部署到不相关的环境,它们非常有用。如果您停留在同一个服务器场上,则站点定义可能是多余的。如果您要在域之间进行(即测试和产品,那么也许它们值得研究)。

网站定义的另一个优势,尤其是。如果交付给客户感觉更像是传统的交付物。他们将有一堆文件(希望在源代码控制中)是他们的自定义站点。我认为这给 IT 部门带来了比从 SharePoint UI 创建的 XML 文件更温暖的感觉。

站点定义的另一个好处是您可以更好地控制构成站点的页面。恕我直言,通过该站点模板的站点定义添加母版页和自定义 CSS 更容易。

我很好奇您要交付的网站的“移动部件”是什么?我认为回答这个问题将决定如何定义项目的结构。

一般来说,我认为你是在正确的轨道上。功能和解决方案是必须的。如果您尝试做任何复杂的事情,我会远离 VSeWSS,它的越野车和笨重而且通常很糟糕。它试图变得如此聪明,以至于你无法控制。

也就是说,这实际上取决于您要做什么。如果您打算使用一个程序集构建一个部署到 GAC 的解决方案,并且只构建 vsewss 支持的功能,您可能会很好。

但是,如果您想开发,比如说将计时器作业连接到 VSeWSS 功能框架中会变得很困难。此外,如果您在解决方案中需要多个程序集。 YMMV,但我不得不放弃它并找到更灵活的解决方案(你好NANT)。

您最终要做的很多工作是构建和检查以及重新检查 XML 配置文件。将 MSDN 上的 Feature Schema 参考页添加为书签,您将花费大量时间浏览它。

最后,是的,如果您将所有部件都打包为功能部件,您应该能够开发一个不错的安装脚本。最终,脚本将需要调用STSADM(有一些非常好的STSADM 扩展here)命令来创建站点结构、添加和部署解决方案并激活功能。你可以从一个批处理文件开始,然后变得像你想要的那样复杂。

【讨论】:

  • 我可以依赖“SharePoint Solution Generator 2008”吗?我打算在 SP Designer 中做一些事情,然后单击并生成解决方案。
【解决方案2】:

就我个人而言,我不认为创建站点定义对我已经构建的站点真的有用。由于它们的复杂性,它们的设置可能非常棘手。

我所做的是使用标准发布站点,然后使用功能添加我的其他组件(通过 SharePoint 解决方案部署)。

您可以使用功能装订将功能连接到发布站点创建。

我还刚刚写了一篇关于如何以编程方式修改默认创建的工作流的博文:http://www.aaron-powell.com/blog/february-2009/programmatically-modifying-sharepoint-workflows.aspx(在 cmets 中也有指向 Feature Stapling 概念的链接)。

然后我结合使用 SharePoint 解决方案安装程序 (http://www.codeplex.com/sharepointinstaller) 和批处理文件来安装组件。所有 SharePoint 数据库级别安装的 SSI 和文件系统内容的批处理文件。

【讨论】:

  • 谢谢。我认为对于发布站点来说,创建站点定义几乎是必须的(根据 Andrew Connell 的书和他的博客文章,例如 is.gd/kNik
  • 是的,我有他的书(并且读过),但是 SD 需要做很多工作,如果你不需要完全不同的书,那就有点过头了
  • 我们信任康奈尔。我认为如果你正在做任何认真的开发,你应该开发自己的网站定义
【解决方案3】:

添加另一个答案,因为我有超过 300 个字符的内容要说:(

RE:SharePoint 解决方案生成器,我再说一遍,您的里程可能会有所不同。

SharePoint 开发的最大问题是管理各种配置文件中的所有“魔术字符串”。 GUID 和完全合格的程序集名称是将整个事物结合在一起的口水和粘合剂,尽管这一切都有意义,但很难管理。

目前的工具都试图减轻管理这些事情的复杂性,但它们要求您以某种方式工作,因此该工具知道如何注入适当的管道。

如果您打算使用 SharePoint 进行大量工作,那么您也应该学会自己管理管道。前期很痛苦,但确实有回报。

基本上,我建议您花时间学习平台而不是工具。了解平台后,使用工具会容易得多。

如果您是一次性参与,并且只想完成它,我相信您可以使用您提到的任何工具来解决问题。

【讨论】:

    【解决方案4】:

    我同意使用开箱即用的发布网站定义,然后使用网站集功能(母版页、页面布局、CSS)和网站功能(创建列表、页面、子网站、定义母版)对其进行自定义网站页面等...)。

    如果您想要自定义知名网站模板的新网站(允许用户创建新网站),例如自定义“我的网站”外观和感觉,功能装订非常有用。在这种情况下,我认为它不是很有用。

    作为帮助完成这项任务的工具,我个人使用 STSDEV (http://www.codeplex.com/stsdev) 来帮助创建、编程、调试和部署我的 Sharepoint 解决方案。

    首先,它为 Visual Studio 创建了一个很好的项目(干净,或者带有一些不错的“起点”定义)。然后它包括一些真正有助于在开发机器中安装、部署和升级的“构建配置”。

    【讨论】:

      猜你喜欢
      • 2011-06-15
      • 2010-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多