SharePoint 2007发布站点开发和部署

时间:2009-02-25 10:41:48

标签: sharepoint content-management-system moss

我是SharePoint的初学者,我在启动项目时需要一些帮助。我必须开发将发送给客户的发布网站。我想提供客户端部署体验,就像他在尽可能多地部署标准ASP.NET应用程序时所获得的那样。我计划使用带有SharePoint扩展的Visual Studio 2008,也许还有WSPBuilder或其他一些工具。 我还需要帮助构建整个项目。

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

这是正确的吗?我应该如何开发所有这些部件,以便我可以制作一些安装脚本,以便客户只需点击一下即可创建完整的网站?

4 个答案:

答案 0 :(得分:3)

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

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

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

我很想知道您尝试提供的网站的“活动部分”是什么?我认为回答这个问题将决定如何定义项目的结构。

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

那说,这实际上取决于你想要做什么。如果您打算使用一个程序集构建一个部署到GAC的解决方案,并且只构建vsewss支持的功能,那么您可能没问题。

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

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

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

答案 1 :(得分:2)

就我个人而言,我并未发现创建网站定义对我构建的网站非常有用。由于它们的复杂性,它们可能非常难以设置。

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

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

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

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

答案 2 :(得分:2)

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

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

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

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

如果您计划在SharePoint上做很多工作,那么您也应该学会自己管理管道。它前面很痛苦,但真的会带来好处。

基本上,我建议您花时间学习平台而不是工具。一旦您了解该平台,使用这些工具将会更加容易。

如果您这样做是为了一次性参与并且只想完成它,我相信您可以获得您提到的任何工具来完成这项工作。

答案 3 :(得分:2)

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

当您想要自定义众所周知的网站模板的新网站(允许用户创建新网站)时,功能装订非常有用,例如自定义“我的网站”外观。在这种情况下,我认为它非常有用。

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

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