我是Sitecore的新手,想知道更多关于新项目的常规方法。因此,我愿意倾听并尝试一些经验丰富的Sitecore开发人员解决方案。我有很多问题,我不会全部问。我只是对其他人的方法非常好奇。
启动Sitecore项目的最佳方法是什么?你将如何设置你的项目?在未来的项目中,您将如何看待代码的回收?
简而言之:你有什么经验(如果你已经或正在从事Sitecore项目),以及你如何推荐其他人与Sitecore合作。
现在我们正忙于构建Sitecore块,我们可以在其他项目中回收,但我知道肯定有1001个方便的提示和技巧。我希望我们有一些Sitecore pro的@ stackoverflow可以有所帮助。
发布于 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天内发生了变化。
这就对了。
发布于 2010-01-29 03:00:49
这里是一些基于我们如何做事情的一般设置信息。
Subversion这不是Sitecore专用的,但我们将存储库设置如下
和分支之间的区别),因此,例如,当我们将更新部署到站点时,我们可以创建上述代码的标记,以便在necessary.
Trunk这是我们正在积极开发/修复bug的地方,这取决于我们所在的项目的哪一部分。我们像这样设置它(例如,项目名为TheProject)
我们将解决方案文件保存在此文件夹的根目录下,这将引用src文件夹中的各种库以及website文件夹中的web项目。
通用Sitecore代码库您可以做的最好的事情之一是从开始设置开始,一个通用的Sitecore库,可以随着时间的推移添加到上面。然后,当您为一个项目编写任何不仅适用于该项目的代码时,您可以将其添加到那里。这可能看起来很明显,但从长远来看,这将真正有所帮助。你最终会得到更多可靠的代码,参见link text。
因此,当我们完成所有这些工作后,我们就有了类似这样的解决方案/项目结构
TheProject (解决方案)
Sitecore Tools这是另一个通用的东西,但我发现它确实可以帮助加快Sitecore的开发。如果您发现自己在Sitecore中一遍又一遍地做某事,请使用API编写一个工具来为您做这件事。这不仅有助于解决您正在处理的任何问题,还有助于您更熟悉API。
Resharper这是一个更一般的.NET开发建议,使用Resharper(http://www.jetbrains.com/resharper/index.html)。我是一个Resharper的粉丝,它让很多事情的开发变得更容易、更快。在我看来,最大的优势是它使得重构代码变得非常容易,随着时间的推移,这对于保持代码的整洁和易懂非常重要。
我希望这能对你有所帮助。
加布
发布于 2010-07-16 17:27:45
看看this series吧。
尤其是组件架构部分提高了我们的可重用性水平。
https://stackoverflow.com/questions/2145886
复制相似问题