首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sitecore项目的最佳实践

Sitecore项目的最佳实践
EN

Stack Overflow用户
提问于 2010-01-27 18:00:09
回答 4查看 7.1K关注 0票数 14

我是Sitecore的新手,想知道更多关于新项目的常规方法。因此,我愿意倾听并尝试一些经验丰富的Sitecore开发人员解决方案。我有很多问题,我不会全部问。我只是对其他人的方法非常好奇。

启动Sitecore项目的最佳方法是什么?你将如何设置你的项目?在未来的项目中,您将如何看待代码的回收?

简而言之:你有什么经验(如果你已经或正在从事Sitecore项目),以及你如何推荐其他人与Sitecore合作。

现在我们正忙于构建Sitecore块,我们可以在其他项目中回收,但我知道肯定有1001个方便的提示和技巧。我希望我们有一些Sitecore pro的@ stackoverflow可以有所帮助。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-01-27 18:37:29

正如你所说,这是一个相当大的问题。以下是我的一些想法:

开发环境

首先,当我开始一个新项目时,我会在我的开发环境中安装Sitecore,并确保一切正常。在安装期间或在我将数据库放在单独的SQL服务器上并相应地更改connectionstring之后。

我打开Visual Studio并创建一个解决方案,并包含所需的文件。我创建了某种类型的HelloWorld呈现,并尝试构建解决方案,这样我就可以验证一切是否正常工作。

当一切都启动并运行时,我创建了整个解决方案的zip文件,包括数据文件夹。现在是时候将它添加到某种版本控制系统中了,在我的例子中就是Subversion。

我将zip文件添加到subversion中,还添加了我认为在项目过程中会更改的所有文件,通常我会告诉subversion忽略sitecore文件夹,这会大大提高签入文件时的性能。

在我执行了提交操作之后,项目的其他团队成员可以签出代码并开始开发(在解压zip文件之后,离线)

我们都在同一个数据库上工作,虽然这违背了Sitecore的建议,但这种方法没有任何问题,但是一个开发人员在GUI中创建/更改的项目在为所有其他开发人员创建/更改之前需要一段时间。

我们可以使用相同的Sitecore安装来开发几个不同的项目,但是由于几乎所有客户都使用不同版本的Sitecore,我们发现这种方法有点麻烦。

我们通常会设置一个自动构建服务器,但这完全是另一个问题。

可重用代码和渲染

我想说的是,我们基于相同的代码库创建整洁的包,这些代码库在项目之间得到重用,但不幸的是,我们还没有做到这一点。今天,解决方案之间需要大量的剪切和粘贴。

将代码上传到客户的

这是通过sitecore包完成的,通常是通过某种动态选择来包含哪些文件,比如特定文件夹中的所有ascx文件在过去5天内发生了变化。

这就对了。

票数 8
EN

Stack Overflow用户

发布于 2010-01-29 03:00:49

这里是一些基于我们如何做事情的一般设置信息。

Subversion这不是Sitecore专用的,但我们将存储库设置如下

  • branches -用于处理可能需要一段时间的站点大更新。比方说,我想更新站点上所有侧边栏的工作方式,这需要几个星期才能完成。我们要做的是创建一个新的分支,并为此dev分支设置另一个sitecore实例,然后执行我们需要做的事情。完成后,我们将其合并回主干进行测试和分支--这是用来保存永远不会合并回主干的代码副本(这就是

和分支之间的区别),因此,例如,当我们将更新部署到站点时,我们可以创建上述代码的标记,以便在necessary.

  • trunk时可以返回到它-活动代码,任何签入此处的代码都应该始终是可部署的。

Trunk这是我们正在积极开发/修复bug的地方,这取决于我们所在的项目的哪一部分。我们像这样设置它(例如,项目名为TheProject)

我们将解决方案文件保存在此文件夹的根目录下,这将引用src文件夹中的各种库以及website文件夹中的web项目。

  • docs -放置有关站点的文档的位置。我强烈建议您在完成特性/部分后,写一份关于它工作所需的任何特殊知识的小指南。比方说,我正在一个登陆页面上做一个特色内容框。此框将自动拉出某些内容,除非它被显式覆盖。当我完成这样的事情时,我会使用大量的屏幕截图为客户写一份指南。我将指南发送给客户,并将其放在docs文件夹中。这既可以帮助客户培训他们的员工,也可以帮助新开发人员快速了解事情是如何完成的。
  • lib -这是我们在projects.
  • test中需要引用的任何DLL的地方-放置单元tests.
  • src的地方-这是我们保存特定于项目的库代码的地方。所以在这里我们有一个名为
  • web/Website的文件夹,里面是said TheProject.Library的visual studio项目-这是我们安装Sitecore的地方,也是网站的根目录。在这里,我们有一个类似于TheProject.Web的项目。在该项目中,我们添加了所有常规内容,如web.config/layouts文件夹等。

通用Sitecore代码库您可以做的最好的事情之一是从开始设置开始,一个通用的Sitecore库,可以随着时间的推移添加到上面。然后,当您为一个项目编写任何不仅适用于该项目的代码时,您可以将其添加到那里。这可能看起来很明显,但从长远来看,这将真正有所帮助。你最终会得到更多可靠的代码,参见link text

因此,当我们完成所有这些工作后,我们就有了类似这样的解决方案/项目结构

TheProject (解决方案)

  • TheProject.Library
  • TheProject.Web
  • MyCompany.SitecoreLibrary (我们的通用sitecore库)

Sitecore Tools这是另一个通用的东西,但我发现它确实可以帮助加快Sitecore的开发。如果您发现自己在Sitecore中一遍又一遍地做某事,请使用API编写一个工具来为您做这件事。这不仅有助于解决您正在处理的任何问题,还有助于您更熟悉API。

Resharper这是一个更一般的.NET开发建议,使用Resharper(http://www.jetbrains.com/resharper/index.html)。我是一个Resharper的粉丝,它让很多事情的开发变得更容易、更快。在我看来,最大的优势是它使得重构代码变得非常容易,随着时间的推移,这对于保持代码的整洁和易懂非常重要。

我希望这能对你有所帮助。

加布

票数 9
EN

Stack Overflow用户

发布于 2010-07-16 17:27:45

看看this series吧。

尤其是组件架构部分提高了我们的可重用性水平。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2145886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档