2011-06-08 177 views
9

目前我对CRM尚未确定。这对于商业用户来说是一个很好的工具,但是到目前为止对于开发来说它有点违背谷物。我需要解决的下一个问题是如何轻松地在表单中使用JavaScript控件。我们使用TFS进行源代码管理。MS Dynamics CRM的源代码管理

任何人都有经验或有任何想法如何做到这一点?

明显的选择是将JS复制并粘贴到源代码控制中,但这也是后面的一个明显的问题。

回答

15

一对夫妇的事情,我们在我们的项目做:

  1. 我们使用网络资源利用包含在CRM SDK(实际上是一个修改版吧)部署JavaScript的网络资源,以一个特定的解决方案。将脚本文件保存在源代码控制中非常简单,避免复制和粘贴。
  2. 我们编写了一个我们在本地部署中使用的自定义HTTP模块。它拦截JavaScript库的请求并将它们重定向到本地磁盘上的某个位置。这样,我们不必在测试时实际重新部署Web资源,只需将JavaScript文件重新部署到磁盘即可。 (请注意,这在生产环境中将不受支持,我们只是在开发环境中执行此操作以减轻JavaScript部署的痛苦)。
+0

这听起来像是一个很好的部署解决方案。 – cchamberlain 2011-06-08 06:26:20

0

客户关系管理2011中的任何网络资源是一个痛苦的管理。我们最终只是在TFS 2010中进行了大量的粘贴操作(实际上导致了一些可怜的粘贴问题)。

目前开箱即用,并不是一个简单的方法来做到这一点。

1
  1. 只担心这个,如果你真的需要回到旧版本的网络资源的能力。我发现我经常不必这样做。请记住,Web资源存储在SQL Server中,就像将它们放入TFS一样,只要您的CRM数据库正在备份,就不会丢失Web资源。在传统开发中,将源代码保存在TFS中非常重要,因为一旦编译和发布,您就不会轻易回复它。通过CRM开发,您的网络资源大部分是HTML或JavaScript,因此您始终可以获得源代码。

  2. 如果你真的需要版本控制,为什么不建立一个快速的小控制台应用程序,每天晚上下载所有的自定义项并将该zip文件存储在TFS中?诚然,要获得旧版本并不那么容易,但是通过不必手动保持TFS同步,您应该可以获得很高的生产力。这也有利于将所有定制存储在TFS中,而不仅仅是Web资源。

  3. Silverlight是这里明显的例外 - 我肯定会将Silverlight网页资源源代码存储在TFS中,因为它是一个“编译”的网页资源。您已经在Visual Studio中,因此无论如何TFS都是非常合适的。

希望帮助!

1

我们尝试镜像Dynamics用于基本库项目中Web资源的文件结构。所以版本控制正常工作,我们只是不使用项目的输出。

您也可以尝试使用新的“CRM解决方案”项目模板(从SDK安装),并且能够从项目的上下文菜单进行部署。

我对模板有一些问题,但需要检查一下。

希望这会有所帮助。

1

你可以在我自己的问题here上看看我的回答。

MS Dynamics CRM 2011 SDK有solutionpackager.exe实用程序可以将所有CRM资源拆分为文件树,并且可以将它们存储在gittfs中。