使用 Mircosoft Office Sharepoint Server 2007(标准版)将正在开发的网站集置于版本控制之下的最佳方式是什么?我们正在为所有其他(非共享点)项目使用 Subversion,但我只是不确定如何处理 MOSS。
需要将哪些内容置于版本控制之下以确保我们拥有重建 Sharepoint 环境所需的一切?
使用 Mircosoft Office Sharepoint Server 2007(标准版)将正在开发的网站集置于版本控制之下的最佳方式是什么?我们正在为所有其他(非共享点)项目使用 Subversion,但我只是不确定如何处理 MOSS。
需要将哪些内容置于版本控制之下以确保我们拥有重建 Sharepoint 环境所需的一切?
源代码控制不仅仅是备份,源代码控制也不一定是备份解决方案。这一切都是为了能够对文本文件进行差异化、协作开发、分支和合并。
如果目标是灾难恢复,那么获取一个空服务器并开始枚举您必须用来重建服务器及其内容的所有位。使用差异备份等备份这些位。
如果目标是为代码工件启用协作开发、分支和合并、n 级撤消,那么请仔细检查哪些代码工件是二进制的,哪些是文本的。您不会从将二进制工件放入 subversion 中获得太多好处,因为您将无法合并或获取差异。
同样在 sharepoint 的情况下,您在导入模板后对网站所做的任何修改都将难以版本化,因为这些位以某种隐藏的专有格式存储在内置 sql server 中。并非您的 sharepoint 解决方案的所有组件都将位于 subversion 真正作为源代码控制工具大放异彩的文件系统上。
问题有点模糊,你没有提到你是如何开发它的。如果您只是通过共享点中可用的界面对网站集进行开箱即用的修改,那么听起来您需要进行某种“备份”。我认为您不能将网站集导出为模板:P
如果您正在进行实际开发、进行站点配置的编码功能、为此的 Web 部件、自定义页面布局等等,我建议您在 Visual Studio 的共享点上复制 /12/ 配置单元中的结构。将您拥有的所有工件放在解决方案中的正确文件夹中,这使得部署变得非常容易,只需复制和调用一些 stsadm 命令或创建一个新的 manifest.xml 文件和一个 .ddf 文件,然后您可以添加到您的共享点安装上的解决方案存储库。
添加到 mortenbpost,为了将站点结构存储在源代码管理中,您需要在代码中创建它。例如,一个功能接收器创建网站集,因为它在激活功能时首先应该存在。
没有办法从 MOSS 中获取站点结构并将其置于源代码管理中。当网站上线时,用户将添加您无论如何都不需要在源代码管理中的内容。
建立在上面所说的基础上:
您要问的是您能否对整个 SharePoint 网站集进行版本控制?
我知道您可以轻松做到这一点的唯一方法可能是使用 Team Foundation Server http://msdn.microsoft.com/en-us/library/cc948982.aspx
他们声称您可以对自定义 SharePoint 产品进行版本控制,我假设他们也指的是其中的数据库部分。我认为这将是最适合未来的路线。
目前我们在工作中所做的是,我们有一个 Subversion 服务器,当我们开发自定义 Web 部件和可能包含许多工作流和 Web 部件的解决方案时,我们在其中使用了一个名为 AnkSVn 的 Visual Studio 插件。
我们目前没有对 SharePoint 的内容数据库进行任何版本控制,尽管我很想尝试 TFS,看看这是否可行。作为开发人员,我们使用stsadm 工具在进行重大更改之前备份开发服务器,并且我们的 DBA 定期备份 SharePoint 数据库。
根据我的经验,恢复内容数据库将恢复 SharePoint 网站集的所有以前的内容、工作流、网站、模板、功能。