Config data 可以在registering step 的时候来配置 配置好的config data 可以使用 constructor 来获取 Secure Config 和 UnSecure Config 的区别 Unsecure 在Unsecure里面的信息可以保存到导出的.zip solution当中 Secure 在secure里面的信息不会被导出到.zip 中, 可以放e.g. account, password 或者url 的这些敏感信息 首先,我们在registeratio…
让我们来看看官方文档是怎么讲的 https://docs.microsoft.com/en-us/previous-versions/dynamicscrm-2016/developers-guide/gg326836(v=crm.8) Every time a running plug-in or Workflow issues a message request to the Web services that triggers another plug-in or Workflow to…
我们之前创建的plugin都是使用default的 run in User's Context. 理解就是使用正在登陆的security context用户信息 那有个问题,如果当前用户的security role没有相应的权限访问功能,我们就要安排一个新的用户 e.g. admin来记录信息而非当前用户. 让我们在registration tool更新TaskCreate class之后再CRM中打开新建Contacts. 我们可以打开activities发现follow up 里用户更改为在…
开始之前,我们要确认一下 Plugin 的 pipeline. PreValidation -> PreOperation -> Server Side System Main Event-> PostOperation PreValidation 是在security check 之前, 通常会用来加载外部数据和用户不相关的内容.PreOperation 是在security check 之后 服务器处理之前, 通常会用来做一系列的功能.PostOperation 是在System M…
上两节我们创建了一个 PreOperation的plugin 今天我们创建一个PostOpeartion的plugin和之前的plugin连接起来 当创建contact之后,我们要添加一个task给新创建的contact 首先,我们创建新的class, 并且取名TaskCreate.cs 其次,我们把代码Execute代码复制到TaskCreate.cs中 然后我们可以从Settings -> Customization -> Customize the System 中查看Task的Form…
源代码连接:https://github.com/TheMiao/Dynamics365CRM/blob/master/MyCRM/MyCRM/HelloWorld.cs 首先,我们需要创建一个.NET framework的class library. 其次, 我们要加入以下NuGet Package 接下来我们要assign 这个class 强名称签名使软件组件具有全局惟一的标识 接下来, 我们要在HelloWorld class中引用 IPlugin interface. 我们创建这个plu…
Isolation Mode 也被称作为Plugin Trust CRM里面有两种plugin trust / isolation mode 1. Full Trust 只在OP系统中可使用,没有限制 plugin 挂掉之后会影响到CRM服务器运行. 可以访问服务器文件 2. Partial Trust or Sandbox 可在OP系统和online系统中使用 运行在特定的区域中,当plugin crash之后, CRM系统不会随之崩盘 Plugin 在secure layer底下运行, 并且…
Snapshots of the primary entity's attributes from database before(pre) and after (post) the core platform operation. 怎么理解这句话呢 简单的我们可以理解PreOperation与PostOperation的 entity中数据的镜像. 使用Pre-Entity镜像的一些案例: 1. 如果你需要对original data在modification之前做使用. 2. 如果你需要fo…
CRM 可以实现plugin之前的值传递. 我们可以使用SharedVariables 把值在plugin之间传递 实现plugins之间的传递非常简单,我们只需要用key value pair来配对传递. 读取的时候用key来获取相应key的value try { /* * SharedVariabls can share the variabls to different plugins * SharedVariabls will only work under same pipeline…
我们之前都学习到怎么添加,debug还有update plugin. 今天带大家过一下怎么从CRM instance当中删除plugin. 首先让我们打开Settings -> Customizations -> Customize the system 打开Plugin assemblies 然找到我们的MyCRM 当我们点击delete, 之后会报错. 错误信息会如下. 这是因为我们的plugin已经在Plugin Registration Tool 中 注册step步骤 我们需要去SDK…