Dynamics CRM 的点击通话功能(如 Lync/Skype)
Click-To-Call feature for Dynamics CRM (like Lync/Skype)
预先警告:我是 Dynamics CRM 的绝对新手!
意图
我想要 Lync/Skype 集成之类的功能,但使用我自己的 URL。 (点击CRM中的任意电话号码并拨打)。
例如。假设我有一个 Web 服务,可以根据 URL: http://telephony.com/call?nr=012345678
发起调用。现在,每当 CRM 用户点击 CRM 中的电话号码字段(在表单 和 视图中)时,我的网络服务应该被调用而不是 Skype/Lync.
事实上我正在尝试重现某事。像 InGenius Connecter.
尝试次数
我已经尝试将 JS 网络资源注入特定的公式(在我的例子中它是默认的联系表单)并覆盖 Mscrm.ReadFormUtilities.openPhoneClient
回调(它似乎处理 Lync/Skype 集成).
function load() {
// override integrated CTC (Lync/Skype)
Mscrm.ReadFormUtilities.openPhoneClient = function (telephoneNr) {
// redirect user to my web service
window.location.replace("http://telephony.com/call?nr="+telephoneNr);
return;
}
}
在以下位置找到此方法:
这在 Dynamics 2015 的形式中运行良好(我的自定义 link 弹出而不是 Skype/Lync)。但是,这只适用于实体表单,因为我无法将 Web 资源注入实体视图。
我关于如何实现此类功能的其他想法是:
- 注入禁用Lync/Skype的全局JS资源并将每个电话号码link封装到我的自定义URL.
- Extend/Manipulate Lync/Skype 集成以使用我的自定义 URL 而不是 Lync/Skype.
- 编写封装电话号码服务器端的插件。
问题
由于我对 Dynamics 有一定的了解,但没有 plugin/resource 开发经验,所以我对这些问题有点困惑。
- 以上三个想法有没有可能实现?
- 如果没有,知道 InGenius 如何解决这个问题吗?
- 关于这个话题,您还有其他 idea/resources 吗?
目前我发现有两个选项可用于实现自定义 CTC 功能。 (两者都有不被动态 crm 官方支持的缺点。)
全球功能区
非常简单:将“点击通话”按钮添加到全局功能区,该按钮仅在选择一行时在特定网格上启用。
此按钮引用了一个 JS-Action,它通过 ODATA 检索电话号码,然后启动拨号过程。
全局色带CustomRule
注入
向功能区添加一个全局按钮,它引用每个 <CustomRule>
的 JS 资源。然后,JScript 将所有操作与 .ms-crm-Phone
类 的链接解除绑定,并替换其 href 属性。
如果有人想用自己的逻辑覆盖集成的 "Skype / Lync - Click to Dial" 功能,这将很有用。
我直到现在才测试这个方法,所以我不能保证它有效!
注意:我会尽快包含示例脚本。
预先警告:我是 Dynamics CRM 的绝对新手!
意图
我想要 Lync/Skype 集成之类的功能,但使用我自己的 URL。 (点击CRM中的任意电话号码并拨打)。
例如。假设我有一个 Web 服务,可以根据 URL: http://telephony.com/call?nr=012345678
发起调用。现在,每当 CRM 用户点击 CRM 中的电话号码字段(在表单 和 视图中)时,我的网络服务应该被调用而不是 Skype/Lync.
事实上我正在尝试重现某事。像 InGenius Connecter.
尝试次数
我已经尝试将 JS 网络资源注入特定的公式(在我的例子中它是默认的联系表单)并覆盖 Mscrm.ReadFormUtilities.openPhoneClient
回调(它似乎处理 Lync/Skype 集成).
function load() {
// override integrated CTC (Lync/Skype)
Mscrm.ReadFormUtilities.openPhoneClient = function (telephoneNr) {
// redirect user to my web service
window.location.replace("http://telephony.com/call?nr="+telephoneNr);
return;
}
}
在以下位置找到此方法:
这在 Dynamics 2015 的形式中运行良好(我的自定义 link 弹出而不是 Skype/Lync)。但是,这只适用于实体表单,因为我无法将 Web 资源注入实体视图。
我关于如何实现此类功能的其他想法是:
- 注入禁用Lync/Skype的全局JS资源并将每个电话号码link封装到我的自定义URL.
- Extend/Manipulate Lync/Skype 集成以使用我的自定义 URL 而不是 Lync/Skype.
- 编写封装电话号码服务器端的插件。
问题
由于我对 Dynamics 有一定的了解,但没有 plugin/resource 开发经验,所以我对这些问题有点困惑。
- 以上三个想法有没有可能实现?
- 如果没有,知道 InGenius 如何解决这个问题吗?
- 关于这个话题,您还有其他 idea/resources 吗?
目前我发现有两个选项可用于实现自定义 CTC 功能。 (两者都有不被动态 crm 官方支持的缺点。)
全球功能区
非常简单:将“点击通话”按钮添加到全局功能区,该按钮仅在选择一行时在特定网格上启用。 此按钮引用了一个 JS-Action,它通过 ODATA 检索电话号码,然后启动拨号过程。
全局色带CustomRule
注入
向功能区添加一个全局按钮,它引用每个 <CustomRule>
的 JS 资源。然后,JScript 将所有操作与 .ms-crm-Phone
类 的链接解除绑定,并替换其 href 属性。
如果有人想用自己的逻辑覆盖集成的 "Skype / Lync - Click to Dial" 功能,这将很有用。
我直到现在才测试这个方法,所以我不能保证它有效!
注意:我会尽快包含示例脚本。