关于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. SpringBoot之旅第二篇-配置

    一.引言 虽然springboot帮我们进行了自动配置,但配置还是不可避免的,比如最简单的端口号,数据库连接.但springboot的配置一般不用xml进行配置,而是yml和properties,选择 ...

  2. Hyperledger Fabric、Corda和以太坊对比

     Hyperledger Fabric . Corda 和以太坊的对比 三种不同的框架 我们从 Hyperledger Fabric.R3 Corda和以太坊的白皮书中可以看到,三种框架在可能的应用领 ...

  3. 从零单排学Redis【白银】

    前言 只有光头才能变强 今天继续来学习Redis,上一篇从零单排学Redis[青铜]已经将Redis常用的数据结构过了一遍了.如果还没看的同学可以先去看一遍再回来~ 这篇主要讲的内容有: Redis服 ...

  4. Android values资源的定义

    Android values资源是Xml格式的文件 上图定义了颜色(colors)字符串(strings)样式(style)三个资源文件 xml文件写在resources标签里 <?xml ve ...

  5. Python之路【第五篇】:Python基础之文件处理

    阅读目录 一.文件操作 1.介绍 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操 ...

  6. Intellij Idea 无法启动项目的配置坑

    1. run/debug configuration里面,tomcat的deployment点击添加不能自动创建war-explorded包: 方案:删除project libraries,重新mav ...

  7. shell read的用法

    1. Read的一些选项 Read可以带有-a, -d, -e, -n, -p, -r, -t, 和 -s八个选项. -a :将内容读入到数值中 echo -n "Input muliple ...

  8. javascript 实现数据结构 - 栈

    栈是一种遵从后进先出(LIFO)原则的有序集合.新添加的或待删除的元素都保存在栈的同一端,称作栈顶,另一端就叫栈底.在栈里,新元素都靠近栈顶,旧元素都接近栈底.栈就好像是一个底部密封的盒子,我们往里面 ...

  9. Linux知识要点大全(第二章)

    第二章   linux操作系统安装与配置主要内容 1:vmware虚拟机安装与使用 2:Linux系统安装前准备 3:Linux Centos 系统的安装 4:Centos 6.8的登录和关闭 5:C ...

  10. TypeScript 上手教程

    无疑,对于大型项目来说,Vanilla Js 无法满足工程需求.早在 2016 年 Anuglar 在项目中引入 TypeScript 时,大概也是考虑到强类型约束对于大型工程的必要性,具体选型考虑可 ...