Dynamics 365-关于Solution的那些事(三)
这一篇的内容,是关于Solution的使用建议的,如果大家有什么实用的建议,欢迎留言讨论。
一. 版本控制
Solution是有版本号的,率性的人可能在新建一个solution的时候,直接赋值1.0,就不再管了。但是这里还是简单说下MS风格的版本号,一般是用.分隔的四个数字:主版本号.子版本号.编译版本号.修正版本号。后面两个版本号可选或者互换位置,前面两个必须。建议迭代周期,要做好Solution版本号的设计和管理。这方面的好处不多赘述了,毕竟不管是不是开发,都能想得明白。
二. 分门别类
分类其实是为了更好对Solution进行管理。我们知道CRM有不少类型的Components,而在Solution里,如果你把所有的Components都放到一个Solution里,你会发现越到后期,你的Solution就越难维护。那么是不是我把components从数量上简单地拆分开就可以了呢?比如我把很多的workflow,plugin,Entity拆分到多个Solution里。并非如此,这里说的分门别类,一般可以从这几个方面考虑:
1. component本身的类型
2. component涉及的业务:包括业务逻辑,业务部门
3. component的依赖关系
4. component的数量
5. component与项目迭代的关联
现在MS的产品,走的是模块化的设计理念,那么这个模块化,我们应用到Solution里,也是一样适用的。比如你要考虑,哪些Solution可以规划成一个“模块”,如果部署之后,将来客户不要了,可以在不影响当前业务的前提下直接删除(看现在的AppSource里的Solution产品,都是可以在不影响环境结构的前提下,实现Solution的导入和删除的);哪些Solution是属于xx部门的,即使以后Solution有更新,也可以在不会影响其他部门业务的前提下实现更新;哪些Solution对其它的Solution有依赖,而被依赖的Solution是不是设计的比较Common等等。
三. 下载日志
一般情况下,Solution导入成功或者失败,最后都会有download log选项。借用这个日志,我们可以准确高效地定位出错的Component以及可能的原因。
1. 导入失败
不要用记事本打开下载的log文件,那样你会看到密密麻麻的信息,很不直观。使用Excel打开log,你会发现所有的component信息,状态信息,comments信息都已经有条理的列好了,很方便地就可以找到失败的component,以及失败的描述信息,来帮助我们解决问题。有一点需要注意的是,因为CRM的导入操作就是往数据库里修改数据,那么就会碰到一个让人很无奈的情况:即使你的Solution问题再多,CRM也只会导入一次才暴露一个问题,而不是像有统计列表那样,一次把所有的问题都暴露出来。
2. 导入成功
可能许多人看到CRM显示Solution导入成功,就直接关闭窗口,觉得log可有可无了。在这里,还是建议大家,即使导入成功了,也把log保存下来。有两方面的原因:一方面是即使导入成功了,还可能会有很多的warning信息,有些warning信息甚至会影响后续的操作。比如,你更新一个workflow的Solution,导入虽然成功了,但是你发现为什么workflow activate失败了呢?如果你查看导入log的warning信息,就可能找到一条提示信息“workflow涉及到user在当前环境没有......”。另一方面的原因,是如果以后有一个环境问题是因为当初的这个Solution,还可以当做一个处理问题的依据。
3. 导入ing
之所有说导入Solution一般都会下载log的选项,是因为还存在非一般的情况。如果硬件资源不足,或者Solution本身太复杂,可能会出现的情况,是进度条卡在最后的85%左右,然后就再没有反应了。这种情况,可以通过检查Solution的版本号,来确认Solution是否导入成功,当然,这个时候,就不会有下载log的操作了。
Dynamics 365-关于Solution的那些事(三)的更多相关文章
- Dynamics 365-关于Solution的那些事(一)
关于CRM Solution,我准备写两到三篇的博客来做下介绍:包括一些基本信息,超大solution,还有增量更新solution操作等. CRM中的component,都是放在一个名叫Soluti ...
- Dynamics 365-关于Solution的那些事(二)
接着上一篇的说,现在有一个已知前提:Solution的增量特性.然后我们再思考这么一个场景,项目开发过程中,存在多次迭代的情况,每次迭代可能涉及到的solution是同一个,唯一区别的,就是solut ...
- 升级本地部署的CRM到Dynamics 365及部分新特性介绍。
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复241或者20161226可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...
- Dynamics 365 Online用户密码三问及其解答
本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复264或者20170903可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...
- 自定义适用于手机和平板电脑的 Dynamics 365(三):显示的实体
您可以启用 适用于手机的 Dynamics 365 和 适用于平板电脑的 Dynamics 365 的有限实体集. 若要查看是否启用了实体,或者要启用实体,请单击“设置”>“自定义”>“自 ...
- Introduction to Microsoft Dynamics 365 licensing
Microsoft Dynamics 365 will be released on November 1. In preparation for that, Scott Guthrie hosted ...
- 为Dynamics 365写一个简单程序实现解决方案一键迁移
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复258或者20170627可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...
- dynamics 365 AI 解决方案 —— 微软布局
核心提示:微软在 Office365.Azure 云.Dynamics365 上进行人工智能技术的部署,野心不小. 微软在2016年9月宣布组建自己的 AI 研究小组.该小组汇集了超过 5000 名计 ...
- Dynamics 365中极特殊语言的文字搜索结果异常
微软动态CRM专家罗勇 ,回复316或者20190314可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 有些比较少见的问题, ...
随机推荐
- Redis缓存穿透、缓存雪崩和缓存击穿理解
1.缓存穿透(不存在的商品访问数据造成压力) 缓存穿透,是指查询一个数据库一定不存在的数据.正常的使用缓存流程大致是,数据查询先进行缓存查询,如果key不存在或者key已经过期,再对数据库进行查询,并 ...
- SpringBoot 2 要不要升级
目录 前言 一.SpringBoot 简史 二.SpringBoot 2 的变化 三.要不要升级 前言 在谈SpringBoot 2.x 之前,先来聊点别的: 首先是Java 语言,这门长期占据编程语 ...
- [JavaScript] AMD和CMD概述
1. cmd 和 amd 在浏览器中,受网络和浏览器渲染的制约,不能采用同步加载,只能采用异步加载.于是 AMD 规范应运而生 2. AMD AMD(Asynchronous Module Defin ...
- MVC页面扩展方法 单例模式
MVC页面扩展方法 单例模式 /// <summary> /// 创建一个Config内容对象 /// </summary> ...
- Mybatis-Plus入门示例
1.内容: Mybatis-Plus只是在Mybatis的基础上,实现了功能增强,让开发更加简洁高效. Mybatis-Plus并没有修改Mybatis的任何特性. 2.入门示例: 2.1 需求:使用 ...
- Mac OS X中开启或关闭显示隐藏文件命令
前言:之前一直用的都是 windows 系统的电脑,刚接触 Mac ,很多功能都不熟悉,写下博客记录一下,以防以后忘记,也给后来者提供方便. 命令行方式:显示隐藏文件: defaults write ...
- ArcPy 将mxd格式转换为msd格式
在控制程序进行地图服务更新时,如果只是修改MXD中的渲染是不行的,需要写脚本将MXD转换为MSD,替换原有的MSD文件,并重新启动地图服务,这样才能读取到新的渲染方式. 附上Python代码: # - ...
- Demo更新列表
Sdk 对应的demo ESF (1)ESF/ESFramework.EntranceDemo.rar (2)ESF/4.ESFramework.Demos.Ftp.rar (3)ESF/6.ESFr ...
- MappedByteBuffer
计算机内存管理 原文链接 https://www.cnblogs.com/guozp/p/10470431.html MMC:CPU的内存管理单元. 物理内存:即内存条的内存空间. 虚拟内存:计算机系 ...
- GoLand2019 激活码
此教程对最新2019版本GoLand有效!!! 本教程对windows.mac.ubuntu全系统可用 此教程实时更新,请放心使用:如果有新版本出现猪哥都会第一时间尝试激活: goland官网下载地址 ...