CRM – Hosted Controls (USD)

Pessoal,

Seguindo a série de posts sobre o USD, irei escrever neste post sobre os Hosted Controls!

hosted_controls_1

Para ver os posts anteriores, acesse os links:

CRM – Componentes do USD

CRM Utilidades do USD (Unified Service Desk)

Os hosted controls são os controles mais importantes no USD, com ele podemos inserir novas páginas em nossa aplicação. Quando digo páginas, quero dizer novas telas, pois temos uma grande possibilidade de inserir diferentes tipos de controles através dos hosted controls. Devido aos diferentes tipos, para cada um, temos atributos que serão exibidos ou ocultados do formulário no momento em que estamos criando/editando. Outro fator relacionamento aos tipos, é que automaticamente são criados os UII Actions padrões de cada hosted control.

Em relação ao ciclo de vida de um hosted control, ou seja, quando ele é inicializado e finalizado no USD. Temos duas possibilidades:

  • Global: Quando o USD for inicializado o hosted control também será, ou seja, sempre teremos o control no aplicativo. Esta abordagem é utilizada para controles que não sofrem influencia em relação a uma sessão de um novo cliente. Bons exemplos para controles Globais, seriam a abertura de uma calculadora ou uma listagem de todos clientes;
  • Sessão: O hosted control apenas passará a existir quando uma sessão de cliente for inicializada, ou seja, o controle sofre influencia de informações do cliente e só é útil para nós quando temos um cliente sendo atendido. Assim que o atendimento terminar, o hosted control baseado em sessão também é finalizado. Exemplos de uso seriam quando recuperamos o cliente e informamos os chamados em aberto, exibimos informações financeiras do cliente, visualizamos detalhes do cliente atual;

Um pouco de informação sobre os tipos de hosted controls existentes:

  • Connection Manager: Todo USD necessita de um hosted control do tipo Connection Manager para realizar a conexão com o CRM;;
  • Agent Scripting: Podemo criar script para os agentes de call center utilizando o controle Agent Scripting;
  • CRM Dialog: São controles para a chamada de diálogos do CRM;
  • CRM Page: Conseguimos incluir páginas/formulário do CRM dentro do USD;
  • CTI Desktop Manager: É o responsável para conexão com o CTI, ele que irá controlar as chamadas de screen popup, chamadas e a barra de telefonia;
  • Debugger: Auxilia a depuração de erros, bem como testes do USD em tempo de desenvolvimento;
  • KM Control: É um especializado em artigos da base de conhecimento ou do Parature, com ele temos mais recursos para a gestão do conhecimento;
  • Listener Hosted Control: Realiza o monitoramento da auditoria, dianósticos e logs;
  • Panel Layout: Para inserir um hosted control que será visível no USD, precisamos adicioná-lo a um Panel Layout, ele define o posicionamento dos elementos, além do visual;
  • Session Lines: Configura informações à respeito das sessões do agente de call center;
  • Santard Web Application: Inserimos páginas web que não pertencem ao CRM (paginas externas);
  • Toolbar Container: Para criar um toolbar com seus respectivos botões, primeiramente precisamos criar um container de toolbar;
  • User Notes: Utilizado para que o agente d call center insira informações durante uma interação;
  • USD Hosted Control: Quando é necessário podemos criar novos controles USD, criamos utilizando o Visual Studio e associamos sua dll a um USD Hosted Control;
  • CCA Hosted Application: Para hospedarmos aplicações externas ou web em que o USD irá relacionar-se, devemos associar as aplicações a um CCA Hosted Application, que integra aplicações com o USD através de UII Adapters;
  • Session Timer: Com este controle, inserimos um contador de tempo assim que uma sessão com o cliente é iniciada, assim podemos armazenar informações importantes (KPI’s);

Bom, como eu havia dito no post anterior, menos teoria e mais prática, então lá vamos nós…

Não criarei um exemplo de cada tipo de hosted control, porém procurei criar exemplos que possam ser facilmente adaptados a outras necessidades de customização!

1 – Aplicação Externa (Windows Form) sendo aberta dentro do USD

hosted_controls_3

Sim! Adicionei uma aplicação externa no USD! Este cenário é bem comum quando estamos trabalhando com call centers, pois na maioria dos casos temos mais do que um sistema para realizar as diversas atividades que os operadores executam durante o dia. Além de inserí-la, podemos também realizar a automação entre aplicações externas é o USD, o mesmo vale para USD e aplicações externas, mas este é assunto para outro post…

Bom, para inserir a aplicação externa, primeiramente devemos criar um hosted control (Configurações > Unified Service Desk > Hosted Controls > Novo). Devemos informar obrigatoriamente informar:

  • Name = Nome que será chamado o hosted control da Aplicação Externa
  • USD Component Type = CCA Hosted Application
  • Hosted Application = External Hosted Application
  • Application is Global = Marcar a caixa de seleção

* Quando marcamos esta opção e informamos o Diplay Group como “MainPanel”, automaticamente a aplicação será inicializada na abertura do USD. Lembre-se que não são todos os casos que desejamos isso, porém por hora vamos abrir a aplicação externa desta forma.

  • Display Group = MainPainel
  • External App URI = Caminho físico do aplicativo externo ou podemos criar uma cópia do aplicativo e inseri-la na pasta raiz do USD (C:\Program Files\Microsoft Dynamics CRM USD\USD). Neste exemplo eu preferi, incluir a aplicação dentro da pasta USD, por isso não coloquei nada além do nome do executável!

hosted_controls_4

hosted_controls_5

Pronto, nosso aplicativo externo irá ser aberto dentro do USD!

2 – Abrir uma página do CRM no USD

hosted_controls_6

Em muitas ocasiões queremos apresentar um página do CRM dentro do USD, o processo é muito parecido do que o anterior, devemos criar um hosted control (Configurações > Unified Service Desk > Hosted Controls > Novo). Devemos informar obrigatoriamente informar:

  • Name = Nome que será chamado o hosted control da Página CRM
  • USD Component Type = CRM Page
  • Hosting Type = Internal WPF
  • Application is Global = Marcar a caixa de seleção

*No exemplo anterior marcamos esta opção bem como informamos no Display Group o valor “MainPainel”, porém, por tratar-se de um página, precisaremos de um gatilho para ela ser apresentada na abertura no USD, se observamos, não informamos qual a página será consulta, correto? Pois ai que devemos criar informar a pagina e criar o gatilho de abertura.

  • Display Group = MainPainel

hosted_controls_10

Bom agora será necessário informar qual página e criar um gatilho para abrir a página. (o gatilho nada mais é do que uma Action Call, não foi detalhar seu funcionamente neste post, por enquanto vamos pensar que ele está inicializando o hosted control) Abra o hosted control já existente “CRM Global Manager”, depois expanda seus relacionamentos e clique em “Events”:

hosted_controls_8

Abra o registro “DesktopReady” e no grid “Active Actions”, clique em adicionar um novo:

hosted_controls_9

Devemos informar obrigatoriamente os seguintes atributos:

  • Name = Nome da Action Call que carregará nosso hosted control
  • Hosted Control = Accounts Search
  • Action = Find
  • Data = account

hosted_controls_11

Com isso conseguimos criar um hosted control do tipo Página CRM (CRM Page) e exibi-lo na abertura do USD!

3 – Abrir uma Página Web no USD

hosted_controls_12

Em muitas ocasiões queremos apresentar um página do Web dentro do USD, o processo é basicamente o mesmo de uma CRM Page, apenas o tipo do hosted control deve ser alterado. Devemos criar um hosted control (Configurações > Unified Service Desk > Hosted Controls > Novo). Devemos informar obrigatoriamente informar:

  • Name = Nome que será chamado o hosted control da Página CRM
  • USD Component Type = Standard Web Application
  • Hosting Type = Internal WPF
  • Application is Global = Marcar a caixa de seleção

*No exemplo anterior marcamos esta opção bem como informamos no Display Group o valor “MainPainel”, porém, por tratar-se de um página, precisaremos de um gatilho para ela ser apresentada na abertura no USD, se observamos, não informamos qual a página será consulta, correto? Pois ai que devemos criar informar a pagina e criar o gatilho de abertura.

  • Display Group = MainPainel

hosted_controls_7

Bom agora será necessário informar qual página e criar um gatilho para abrir a página. Abra o hosted control já existente “CRM Global Manager”, depois expanda seus relacionamentos e clique em “Events”:

hosted_controls_8

Abra o registro “DesktopReady” e no grid “Active Actions”, clique em adicionar um novo:

hosted_controls_9

Devemos informar obrigatoriamente os seguintes atributos:

  • Name = Nome da Action Call que carregará nosso hosted control
  • Hosted Control = Dynamics CRM Page
  • Action = Navigate
  • Data = url=https://www.microsoft.com/pt-br/dynamics/crm.aspx

hosted_controls_13

Com isso conseguimos criar um hosted control do tipo Página Web (Standard Web Application) e exibi-lo na abertura do USD!

Bom, criei três exemplos de uso no USD, eles não irão abrangir a totalidade dos casos, mas podem dar um bom fundamento para que está iniciando os trabalhos com o USD.

Muito mais informações sobre os hosted controls pode ser visualizada nos links abaixo:

Unified Service Desk Hosted Controls

Hosted control types and action/event reference

[]’s,

Tiago Cardoso

Anúncios

Sobre Tiago Michelini Cardoso

I have been working with IT since 2006, almost of this time using Microsoft Dynamics CRM/365 as a source of solutions. I graduated in Bachelor of Information Systems at FIAP (Brazil) in 2012. I really love what I do! Technology has been my interest since always. Even in a tool different world of the current. When we didn't have internet, tablets, smartphones e social networks! Although I have worked in some roles, I can't give up "the developer life". Even so far of the greatest developers. Development in general is the thing that I love to work! I started my contributions about Dynamics in 2010. At the beginning, I used to help at MSDN and TechNet forums. But now, I'm dedicating all my time in my personal blog! Currently, I have the enormous honour of being the only Brazilian who got the award for Microsoft MVP (Most Valuable Professional) for Microsoft Dynamics CRM/365 product. I have been receiving the award since 2012.
Esse post foi publicado em Dynamics CRM e marcado , , , , , . Guardar link permanente.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s