关于CRM Solution,我准备写两到三篇的博客来做下介绍:包括一些基本信息,超大solution,还有增量更新solution操作等。

  CRM中的component,都是放在一个名叫Solution的容器中的,即使是刚刚新建的CRM Organization,也会有一个名叫Default Solution的容器。那么Solution这个容器呢,一方面是为了隔绝component间的冲突和影响;另一方面就是为了便于维护和管理。很多时候,工作中面对的CRM环境不仅仅只有一套,可能有生产环境,Sandbox环境等。这个时候,我们就会涉及Component在不同CRM环境之间的导出导入。也许你会疑惑,为什么不再各个环境里都新建一套呢?

  这是因为,新建的Component往往都有自己的唯一标识,而在不同环境里新建的Component,唯一标识可以认为肯定是不一样的。这个如果不注意,就会导致一系列的问题,包括定制不好用,字段值不匹配等等。所以,我们就需要使用Solution,来实现Component的同步操作。一个Solution是一个zip包,包里的结构,依赖于放入其中的Component,基本是固定的,来看个例子:

  

  这个就是zip包里的内容了。WebResouces文件夹里放着WebResource components,ContentType.xml文件里是MIME type信息,customizations.xml是具体的component描述信息,包括Entity,Attributes,form,relationship,global optionset等,solution.xml则相当于是对solution里有哪些component的一个声明。

  在CRM导出Solution的时候,可以导出Unmanaged Solution,以及Managed Solution。Unmanaged Solution,主要是开发过程中使用,如果在CRM环境删除Unmanaged Solution,solution里的component依然在环境中存在;Managed Solution,是在生产环境中使用,因为Managed Solution,不可以再导出,这样就避免了定制被恶意修改的问题,而在CRM环境删除Managed Solution,Solution里的Component也会随之删除。另外一点需要注意的是,Solution是增量的,也就是说,比如你先导入一个Entity,里面有字段A,再导入这个Entity的时候,字段A在solution中去掉了,但是这个修改后Solution的导入,不会影响环境中字段A的存在。

  对于Online环境,CRM支持的最大solution大约是30MB,而OnPremise环境,CRM支持的最大Solution是6MB。当然,对于OnPremise而言,这个Solution的大小是可以修改的,这里我们就不得不说超大Solution的问题了。

  Solution有两种形式上的过大,一种是zip过大,而另一种是zip包里的内容过大,而这两种情况的表现也不一样。zip包过大,往往导致的是导入超时;而zip包里的内容过大,则是在CRM Solution界面点击Import,然后Browse选择Solution,点击Next,然后......就没有然后了,界面会一直loading。

  详细的解决方案可以参考我之前的博客:Dynamics CRM 2015-超大Solution导入问题

  而下一篇呢,则准备依据Solution增量的特点,来进一步处理我们的Solution信息。

Dynamics 365-关于Solution的那些事(一)的更多相关文章

  1. Dynamics 365-关于Solution的那些事(二)

    接着上一篇的说,现在有一个已知前提:Solution的增量特性.然后我们再思考这么一个场景,项目开发过程中,存在多次迭代的情况,每次迭代可能涉及到的solution是同一个,唯一区别的,就是solut ...

  2. Dynamics 365-关于Solution的那些事(三)

    这一篇的内容,是关于Solution的使用建议的,如果大家有什么实用的建议,欢迎留言讨论. 一. 版本控制 Solution是有版本号的,率性的人可能在新建一个solution的时候,直接赋值1.0, ...

  3. 升级本地部署的CRM到Dynamics 365及部分新特性介绍。

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复241或者20161226可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  4. Introduction to Microsoft Dynamics 365 licensing

    Microsoft Dynamics 365 will be released on November 1. In preparation for that, Scott Guthrie hosted ...

  5. 为Dynamics 365写一个简单程序实现解决方案一键迁移

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复258或者20170627可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  6. dynamics 365 AI 解决方案 —— 微软布局

    核心提示:微软在 Office365.Azure 云.Dynamics365 上进行人工智能技术的部署,野心不小. 微软在2016年9月宣布组建自己的 AI 研究小组.该小组汇集了超过 5000 名计 ...

  7. 安装完成Dynamics 365 CE后别忘了更改维护作业的运行时间

    摘要: 微软动态CRM专家罗勇 ,回复309或者20190308可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 安装完毕Dy ...

  8. 解读 --- 基于微软企业商务应用平台 (Microsoft Dynamics 365) 之上的人工智能 (AI) 解决方案

    9月25日微软今年一年一度的Ignite 2017在佛罗里达州奥兰多市还是如期开幕了.为啥这么说?因为9月初五级飓风厄玛(Hurricane Irma) 在佛罗里达州登陆,在当地造成了挺大的麻烦.在这 ...

  9. dynamics 365 AI 解决方案 —— 介绍

    Digital transformation has been reshaping our world and artificial intelligence (AI) is one of the n ...

随机推荐

  1. sau交流学习社区--songEagle开发系列:Vue.js + Koa.js项目中使用JWT认证

    一.前言 JWT(JSON Web Token),是为了在网络环境间传递声明而执行的一种基于JSON的开放标准(RFC 7519). JWT不是一个新鲜的东西,网上相关的介绍已经非常多了.不是很了解的 ...

  2. TensorFlow从1到2(三)数据预处理和卷积神经网络

    数据集及预处理 从这个例子开始,相当比例的代码都来自于官方新版文档的示例.开始的几个还好,但随后的程序都将需要大量的算力支持.Google Colab是一个非常棒的云端实验室,提供含有TPU/GPU支 ...

  3. link/Extended dependency 无法显示连接

    把矩形控件先去掉,然后就能看到表与表之间的 link/Extended dependency 连线了.

  4. Cenots7下安装运行.NET Core、MicroSoft SQL Server 2019 preview 的基础实践

    一:概要 适应人群:.Net初学者.想了解.Net Core在Linux系统中的运行环境搭建者.初次且想在linux上应用.Net Core开发应用程序者: 基础技能:了解.NET基础开发技能者.有一 ...

  5. Hystrix源码解析

    1. Hystrix源码解析 1.1. @HystrixCommand原理 直接通过Aspect切面来做的 1.2. feign hystrix原理 它的本质原理就是对HystrixCommand的动 ...

  6. 关于mui前端传值,springboot后台接收值的问题

    最近做app,使用mui的ajax给后台传参,后台一直接收不到值,表示很蛋疼.这里通过网上搜索加上个人实践,总结归纳了三种前端传值和后台接收的方式. 第一种: 前端: data: JSON.strin ...

  7. gitbook 入门教程之前置知识

    markdown 基本知识 markdown 是一种简化的 html 语法,相比于 txt 无格式文本更强大. 你可以用专门的软件去编辑 markdown 文件,就像需要使用软件编辑 txt 文件一样 ...

  8. zabbix安装及简单使用备注

    1.安装mysql yum install -y mariadb mariadb-server systemctl start mariadb 2.安装apache yum -y install ht ...

  9. Scanner类详解

    Scanner类用于获取键盘输入(是一个基于正则表达式的文本扫描器),它可以从文件.字符串.输入流中解析出基本类型值和字符串值.Scanner类提供了多个构造器,不同的构造器可以接收文件.字符串和输入 ...

  10. CSS揭秘—灵活的背景图(三)

    前言: 所有实例均来自<CSS揭秘>,该书以平时遇到的疑难杂症为引,提供解决方法,只能说秒极了,再一次刷新了我对CSS的认知 该书只提供了关键CSS代码,虽然有在线示例代码链接,但访问速度 ...