Umbraco:使用版本控制?试/生产?

时间:2009-09-28 08:03:08

标签: c# asp.net umbraco

我正在考虑使用Umbraco作为我的网站,到目前为止我很喜欢它。

我遇到的一个大问题是,如果数据库中有大量数据,我如何控制Umbraco网站?

如何设置测试/开发环境并以简化的方式部署到生产环境?

今天(没有Umbraco)我使用了SVN。使用不同的数据库副本进行测试和生产。

我构建的网站基本上是一个拥有完整后端的个人广告网站。是否可以将umbraco表保存在一个sepparate数据库中并将我的业务数据保存在另一个数据库中? (由一堆用户控件访问)

2 个答案:

答案 0 :(得分:33)

这是开始使用Umbraco时常见的障碍,答案是使用适合您的方法。

然而,在Umbraco论坛上有很多关于这件事的讨论,请看一下:

http://our.umbraco.org/forum/core/general/3619-Source-control-and-multiple-developers http://our.umbraco.org/forum/getting-started/installing-umbraco/2918-Update-an-Umbraco-website?p=0#comment11311

要考虑的关键是内容和代码的描述。 umbraco中的大多数代码都存储在数据库的外部,因此可以存储在subversion或任何其他源控制平台中。例如,模板,XSLT,CSS,XSLT扩展等都存储在文件系统中。

页面内容和网站结构存储在数据库中。

有一些灰色区域,最值得注意的是字典,它可以包含各种各样的内容和内容。

我们与Umbraco合作的方式如下:

我们有一个单独的Visual Studio Web Project,其中包含模板,XSLT,CSS,事件处理程序,用户控件等文件夹。这些文件存储在SVN中。然后在构建此项目时,将文件复制或编译并复制到umbraco站点的test / dev服务器实例。

一旦更改获得批准,我们只需复制文件。

如果您需要在Umbraco实例之间同步内容,您可以使用Umbraco Pro(其中包含一个名为Courier的组件,这正是为此目的)或备份您的实时数据库并在需要时恢复到您的开发环境(或甚至使用复制)。

我们主要尝试避免在测试/开发环境中编辑内容,因为这是将内容合并回实时网站的地方可能会变得棘手。但有时这是不可避免的。我们还尝试通过Umbraco界面避免编辑模板等。

最后一个问题的答案“我应该将我的业务数据存储在另一个数据库中”是非常棘手的,因为它很大程度上取决于您将如何处理数据。如果最好存储在CMS中的内容将其存储在CMS中,但是如果它是非常适合CMS的密切关系数据,则将其单独存储。

我们正在开展一个项目,目前数据存储在外部数据库中,我们已将应用程序直接集成到Umbraco后端。这是一项非常重要的任务(虽然只是通过用户控件抓取一些数据很容易),您应该仔细考虑外部存储数据所需的工作量与CMS的内置功能以及您必须玩的预算/时间之间的关系用。

如果您想使用我们的Visual Studio模板,您可以从our website下载。

答案 1 :(得分:2)

我知道这已经得到了回答,但我只想突出一个事实,即在内容和代码同步方面取得了很大进展。例如,uSyncuSiteBuilder都是外观漂亮的软件包,它们允许使用代码控制CMS内容(如文档类型和数据类型),从而控制版本。它们使用相当简单,但当然请在使用前进行备份。媒体通常使用类似Export Media的内容进行备份,但通常将SVN中的媒体文件夹保留在默认位置并不是一个好主意。而是将其放在自己的分支中,并将其作为虚拟目录托管在IIS中。这样您的媒体就独立于代码。

与大多数现代CMS相比,要想拥有适合版本控制的解决方案,还有很长的路要走,尽管有很多事情正在进行中。 Umbraco是一个很棒的CMS,拥有庞大的社区。