CRM USD – Could not load file or assembly ‘UnifiedServiceDesk.KPIControl’ or one of its dependencies. The system cannot find the file specified

Olá Pessoal,

Estou fazendo alguns na versão mais atual do USD (2.1.x.x). Ao fazer o uso da sessão “Customization Files” (Arquivos de Configuração), que nos “obriga” a adicionar todos os componentes que a solução em um registro de “Configuration” (Configuração). Comecei a visualizar o erro abaixo ao abrir o USD:

“The type UnifiedServiceDesk.KPIControl.KPI, UnifiedServiceDesk.KPIControl couldn’t be retrieved. —> System.IO.FileNotFoundException: Could not load file or assembly ‘UnifiedServiceDesk.KPIControl’ or one of its dependencies. The system cannot find the file specified.”

HostedControlKPI_error

Ao realizar algumas pesquisar vi que este foi um problema reportado na versão 2.0.1, que não ocorre mais nas versões 2.1, porém, acredito que a diferença no meu caso seu o uso do arquivo de customização mais as configurações.

Para solucionar este problema temos duas formas:

  1. Adicionar a dll do Hosted Control de KPI no local onde foi instalado o USD (estação de trabalho/ cliente) – Não é a forma mais recomendada, já que estamos falando de um USD superior a versão 2.0, onde temos uma forma mais eficaz de distribuição das customizações do USD
  2. Fazer uso do Configuration File para distribuir as customização utilizando o próprio USD – É a opção mais recomendada, a partir da versão 2.0 o USD traz a funcionalidade de atualização de forma nativa, toda vez que o USD for inicializada nas estações de trabalho existe uma chacagem para verificar se existem novas versões, existindo as referências serão atualizadas automaticamente

Ambas opções possuem um pré requisito, que é termos a DLL! Para isso, siga os passos abaixo:

  • A dll encontra-se dentro da extração do Package Deployer
  • Devemos navegar em “.\PackageDeployer\IshDemoPackage”
  • Descompactar o arquivo “USD_AgentDesktop.zip”
  • Ao acessar o que foi extraído teremos a dll que precisamos “UnifiedServiceDesk.KPIControl.dll

Após realizarmos as etapas acima, voltamos as particularidades de cada opção apresentada:

  1. Adicionar a dll do Hosted Control de KPI no local onde foi instalado o USD (estação de trabalho/ cliente)
    1. Copie a dll e distribuí-la para todas as estações de trabalho
  2. Fazer uso do Configuration File para distribuir as customização utilizando o próprio USD
    1.  Eu já criei um post explicando como fazer isso, veja aqui!

 

Isso é tudo!

[]’s,

Tiago Cardoso

Publicado em Dynamics CRM | Marcado com , , , | Deixe um comentário

CRM USD – Implantações e atualizações (sem stress!)

Olá Pessoal,

Quando trabalhamos com USD ao final de cada ciclo de desenvolvimento, temos a necessidade de implantarmos/atualizarmos todas as estações de trabalho com nossos componentes customizados. Nas versões inferiores a 2.0, isto era uma trabalho árduo (imagine um call center com 100, 300, 500 ou 1000 desktops!) ou que requeria o uso de outras ferramentas para realizar o controle de distribuição (como MSI, System Center ou BITS).

Com a versão 2.0 do USD, nossos problemas de distribuição acabaram! Podemos distribuir utilizando o próprio USD!

Bom, vamos ao passo a passo!

Abre seu CRM e navegue em “Configurações > Unified Service Desk > Configuration File > Novo”. Devemos informar um nome e adicionarmos informações da versão, pois com ela, podemos administrar as mudanças em nossa aplicação USD.

configurationfile_1

Vejam que o campo “File” (Arquivo), está em branco, para inserir o arquivo, devemos realizar alguns passos antes.

Primeiramente, precisamos criar um arquivo xml contendo todos os tipos de arquivos suportados. O arquivo deve ser chamar “[Content_Types].xml”, um exemplo de seu conteúdo:

<?xml version="1.0" encoding="utf-8"?>
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
  <Default Extension="config" ContentType="application/octet-stream" />
  <Default Extension="dll" ContentType="application/octet-stream" />
  <Default Extension="exe" ContentType="application/octet-stream" />
  <Default Extension="xml" ContentType="application/octet-stream" />
</Types>

A seguir, devemos “zipar” o arquivo [Content_Types].xml, juntamente com os arquivos de nossa solução customizada, (em meu exemplo criei um Custom Hosted Control, além disso, criei um registro de Hosted Control na configuração do USD, estou ocultando este passo, mais informações veja):
configurationfile_3
Agora sim, podemos adicionar o arquivo compactado no campo “File”:
configurationfile_4
Com o arquivo de referência adicionado, devemos criar um registro de Configuração (Configuration) para que o USD inicialize todos os componentes de nossa solução. Para isto, navegue nos registros relacionados e clique em “Configuration”:
configurationfile_5
Depois em clique em “Add existing Configuration”, depois clique em “Novo”. Informe o nome de sua Configuração, salve e marque como “Default”:
configurationfile_6
Agora é hora de fazermos uma analogia de uma Configuração do USD com as Soluções do próprio CRM. Em uma solução CRM adicionamos todos os componentes em que trabalhamos em nossa customização, certo? O mesmo vale para o USD, só que aqui o nome é Configuração, devemos inserir todos os controles USD que fazem parte de nossa solução final, no meu caso eu devo inserir todos os existem, pois quero utilizar a versão default do USD. Assim, hora de adicionar todos os registros existentes!

Navegue nos registros relacionados e adicione todos os registros necessários:
configurationfile_7A última etapa, consiste em criarmos/atualizarmos o parâmetro de configuração “ClientCacheVersionNumber para forçar a atualização em cada estação de trabalho. Para isto, navegue em “Configurações > Unified Service Desk > Options > Novo”. Selecione “ClientCacheVersionNumber” e informe um valor, por boas práticas use o mesmo valor usado na versão do arquivo de configuração:

configurationfile_9

Pronto, nossa configuração de distribuição está finalizada!

Ao abrir o USD, veremos o componente que criei sendo exibido SEM TER COPIADO E COLADO A DLL NO DIRETÓRIO DE INSTALAÇÃO DO USD!!!

configurationfile_8

Acredito que na primeira vez que fizermos este procedimento ele poderá parecer longo, porém, nas seguintes será bem mais fácil, e nunca podemos esquecer os ganhos de versionar através do próprio USD!

Bom é isso! Mais informações em:

Unified Service Desk 2.0 Developer Guide

Distribute custom hosted controls using Customization Files

 []’s,

Tiago Cardoso

Publicado em Dynamics CRM | Marcado com , , , , | Deixe um comentário

What’s new in Unified Service Desk (2.0 – 2.0.1 – 2.1)

Olá Pessoal!

Acredito que tenha faltado um post sobre as novas funcionalidades da versão 2.0 do USD, com sua primeira versão em dezembro de 2015. Desde lá, tivemos outras duas melhorias com as versões 2.0.1 (fevereiro de 2016) e 2.1 (maio de 2016).

usd

Bom, vamos aos fatos…

Versão 2.0

  • Customer Listeners para auditoria, diagnósticos e trace/logs  (a tradução para “escutadores customizados” fica terrível…) – Com esta versão podemos criar nossos próprios listeners via codificação e referencia-los através de um novo tipo de hosted control “Listener Hosted Control”, além disso, temos a sessão “Configurações de Auditoria e Diagnósticos” para configurar nossas métricas;
  • Deploy e Atualização facilitada – Sim, os dias de copiar/colar dlls para distribuir dentre as mais de “200 estações de trabalho” acabaram (é claro que tínhamos outras formas de distribuição, mas todas faziam uso de atividades externas ao USD/CRM). Através de um arquivo de configuração, podemos inserir todos os arquivos que nossas customizações geraram como arquivos .dll, .exe, .config, .xml e etc (todos que o Windows suportar!). Para fazer isso ,temos uma nova área administrativa no USD chamada “Arquivos de Customização” (Customization Files), devemos criar um arquivo .xml ([Content_Types].xml) contendo todos os tipos de arquivo que temos em nossa solução customizada e depois zipar este arquivo com todos os componentes de nossa customização (irei escrever um post sobre isso, com um passo a passo!)
  • Consultar os registros da sessão “Consulta de Entidades” (Entity Search) – Temos agora um método na API para recuperar as consultas em FetchXML do USD e utiliza-las em nossos componentes customizados. Através do método “EntitySearchService.GetEntitySearchResults”, com isso temos um bom reaproveitamento de código, além de que podemos fazer ajustes no FetchXML sem ter que alterar nosso projeto no Visual Studio!
  • Acessar classes e métodos públicos através de um Hosted Control customizados via JScript – Através do método “WpfBrowser.UsdObjectForScripting”, conseguimos acessar o funções internas do USD
  • Desativar a exibição de erros – Podemos através da sessão de Configurações suprimir a visualização de erros do USD para os usuários
  • Base de Conhecimento atualizada – Agora podemos fazer uso nativamente da nova base de conhecimento do CRM (Knoledge Base). O hosted control “KM Control” foi atualizado com as novas referências. Também se aplica, caso estejamos utilizamos o Parature!
  • Autenticação via protocolo OAth – Ganhamos a opção de nos conectarmos no USD via OAth, na prática, pelo que entendi, isso permite nos conectarmos em ambientes OnPremises onde não temos Active Directory e Windows Server
  • Hosted Application Toolkit compatível com o Visual Studio 2013 e 2015 – Sim, enfim, podemos criar nossos adapters utilizando versões mais atuais do VS!
  • Melhorias no controle do browser para prover estabilidade e ganhos de performance nas páginas web – O controle realizado no processo do Internet Explorer foi totalmente redesenhado (sim, o USD emula o IE fazendo uso do processo Windows “iexplorer.exe”). Com um maior monitoramento, antigos problemas que em alguns casos interrompiam o uso do USD, agora serão monitorados e garantirão uma melhor experiência de uso

Versão 2.0.1

  • Suporte a Multi Monitores – Sim, podemos ter uma estação utilizando o USD que faça uso de até dois monitores simultaneamente. Com a nova action “RealignWindow” temos a possibilidade de abrir determinadas telas/funções selecionando o monitor desejado

Versão 2.1

  • Interactive Service Hub (Hub de Serviço Interativo) – Ao instalarmos o Package Deployer do USD, temos a opção de inserirmos a solução que contempla o Interactive Service Hub que é uma nova forma de lidar com o Customer Service (Serviço ao Cliente) que a Microsoft introduziu no CRM 2016. Ao instalar esta solução, o USD modificará sua tela inicial:

ISH_package_sample3

Bom é isso, procurei resumir e ser mais direto ao link oficial. Porém, não deixe de acessá-lo, para maiores detalhes!

[]’s,

Tiago Cardoso

Publicado em Dynamics CRM | Marcado com , , , , | Deixe um comentário

CRM – Descontinuações anunciadas com o CRM Online 2016 Update 1 ou CRM 2016 Service Pack 1 (OnPremises)

Olá Pessoal,

Com o lançamento do Update 1 (CRM Online) ou Service Pack do CRM 2016 (OnPremises), algumas funcionalidades/recursos passam a ser considerados “descontinuados”. Nas próprias palavras da Microsoft, não estão tornando estes recursos “Não Suportados“, mas sim, esperam que antigos desenvolvimentos sejam atualizados assim que possível, bem como, não recomendam que novos desenvolvimentos façam uso destas funcionalidades (bem justo, não?)

deprecated

Criaram dois artigos para cada tipo de público:

Abaixo os itens impactados:

  • Antigos Web Services (web points) do CRM 2011: como eu mesmo já havia dito aqui no blog, acessar os serviços do CRM 2011 será descontinuado muito em breve, assim altere suas antigas conexões. Plugin e workflows por enquanto, continuarão utilizando as natigas referências, mas nos próximos releases, a Microsoft irá atualizar o SDK para alterar isto de forma transparente à nós mortais! rs
  • Mudanças no SDK: atualize as referências do SDK, baixando a nova versão, pois alguns recursos internos foram modificados para o público OnPremises;
  • Formulários antigos: os antigos formulários que apresentam um outro padrão de layout e DOM se compararmos com os atuais também foram colocados na lista de descontinuados, portanto, comece a testar seus JScripts nos novos forms!
  • Android’s e IOS’s antigos: algumas versões antigas do Android e IOS serão descontinuados, neste caso, a única opção é comprar um celular novo, pois provavelmente o modelo não deve suportar uma versão mais atual!
  • Listas do Sharepoint: as listas do Sharepoint estão na lista, atualize a integração com o Sharepoint!

Bom é isso, nada absurdo ou algo que não estava claro que um dia iria mudar, certo?

[]’s,

Tiago Cardoso

Publicado em Dynamics CRM | Marcado com , , , | Deixe um comentário

CRM Connection Error – “You don’t have permission to access any of the organizations in the Microsoft Dynamics CRM Online region that you specified. If you’re not sure which region your organization resides in, choose “Don’t know” for the CRM region and try again. Otherwise check with your CRM administrator.”

Olá,

Hoje, eu estava tentando me conectar em um CRM Online localizado na região da Oceania, através de suas API’s.

Realizei testes utilizando Plugin Registration Tool, Package Deployer, Data Migration Utility e inclusive ferramentas de terceiros como é o caso do XrmToolBox. Em todos os cenários, estava recebendo o seguinte erro:

crm_connection_error_1

“You don’t have permission to access any of the organizations in the Microsoft Dynamics CRM Online region that you specified. If you’re not sure which region your organization resides in, choose “Don’t know” for the CRM region and try again. Otherwise check with your CRM administrator.”

O mais interessante disso tudo é que meu acesso vis Browser está funcionando, realmente o problema está na conexão através de outras ferramentas.

Após um pouco de pesquisa, encontrei este post. Não está falando do mesmo assunto/problema, porém, a solução informada resolveu meus problemas.

A Microsoft nos últimos tempos criou novos datacenters, principalmente na Ásia e Oceania, fato que ainda não foi refletido no SDK e ferramentas de terceiros. Mesmo selecionando a opção “Eu não sei” (I don’t know) o erro persiste.

Assim, a solução a ser realizada consiste em editarmos o arquivo de configuração de cada componente que queremos acessar o CRM via API. No caso do plugin registration, é o arquivo abaixo do executável:

crm_connection_error_2

Devemos adicionar as seguintes tags abaixo do nó “configuration“:

<system.net>
  <defaultProxy useDefaultCredentials="true"></defaultProxy>
</system.net>

Pronto! Salve o arquivo e abra novamente o executável!

[]’s,

Tiago Cardoso

Publicado em Dynamics CRM | Marcado com , , , | Deixe um comentário

Microsoft Dynamics 365

Olá pessoal,

Sim, fiquei devendo essa, estou quase dois meses atrasado…

A Microsoft comunicou no começo de julho (2016) o lançamento de seu novo serviço em cloud, o Microsoft Dynamics 365, que é fruto de uma combinação do AX (ERP) com o CRM. O lançamento está previsto para o final deste ano.

É engraçado com a tecnologia sempre muda, em meados dos anos 2000, muitos de nós estávamos fazendo aplicações incrivelmente complexas, porém, a ideia era ter tudo em um único software. Depois, veio a ideia de modularizar para atingir uma maior quantidade de público e customizarmos para cada cliente específico. Agora voltamos com ideia inicial, porém ela foi revitalizada, temos o melhor de cada conceito, temos “tudo junto” e “tudo separado” ao mesmo tempo! rsrsrs

Realmente uma quebra de paradigma atrás da outra! E foi exatamente neste ponto que acredito que o Satya Nadella tenha focado em seu post sobre o Dynamics 365, achei muito boa a imagem utilizada:

6747.ReinventingBusiness.jpg-750x0

Bom, indo a algo que talvez não tenha sido tão falado.

Seria a possibilidade de termos uma plataforma que não nos obriga a licenciarmos módulos e sim direitos de acesso, ou seja, pagamos realmente pelos perfil de acesso do usuário. A ideia é ir além do que temos atualmente para o Dynamics CRM, ser algo mais granular. Para empresas que precisam de um ou mais módulos inteiros, ainda será possível assinar módulos da forma ao qual estamos habituados.

Teremos duas edições do serviço:

  • Small Business (Business Edition): Para empresa de até 100 pessoas, terá os módulos Financeiro (a Microsoft está buscando um distanciamento da palavra ERP, para pequenas empresas a nomenclatura foi substituída para “Finanças”), Vendas e Marketing;
  • Enterprise (Enterprise Edition): terá todos os módulos disponíveis: toda a operação de um ERP, Vendas, Marketing, Serviços, Serviços Externos (field service) e Automação de Projetos;

Pelo que eu pesquisei, não é uma intenção eminente de substituir qualquer produto existente, e sim ter uma nova possibilidade, toda ela online e baseada no Azure:

apps-d365-o365-landscape

Fonte: http://msdynamicsworld.com/story/microsoft-dynamics-365-licensing-details-clarify-future-ax-crm-and-project-madeira

 

Foi criado uma página dentro da família de produtos Dynamics para o Dynamics 365 no site da Microsoft.

Acredito que o foco seja realmente o mercado de pequenas e médias empresas.

Vamos aguardar os próximos capítulos!

 

Bom é isso!

[]’s,

Tiago Cardoso

 

Publicado em Dynamics CRM, Microsoft | Marcado com , , | Deixe um comentário

Dynamics CRM e Power BI

Pessoal,

Desde a versão 2015 do CRM, conseguimos integrá-lo com o Power BI. O Power BI nada mais é do que uma ferramenta que nos possibilita fazer uma análise de dados e transformá-la em dashboards.

Ai você me pergunta, por que eu usaria o Power BI no CRM ou por que a Microsoft colocou outra ferramenta para a criação de dashboards? Certo?!

Pois bem, vamos ao fatos… O que ganhamos quando utilizamos o Power BI no CRM:

  • Quando usamos o CRM Online temos o limite de dados retornados nas consultas (5000) com o Power BI trabalhamos com grandes volumes de dados (100.000 registros);
  • Conseguimos combinar conexões de outras fontes de dados em exibi-las no CRM;
  • O Power BI possui uma série de dashboards que são automaticamente gerados, assim que fazemos a conexão com o CRM (Usar o Power BI com o Microsoft Dynamics CRM);
  • O Power BI pode ser disponibilizado no modo mobile;
  • Os charts são bem simples de serem criados e adicionados nos dashboards, porém, ainda possuem algumas limitações que podem ser resolvidas com o Power BI;
  • O layout do Power BI é mais rico visualmente, temos um melhor resultado na apresentação;

À partir do Spring Wave do CRM 2016, temos a possibilidade de incluir blocos do Power BI dentro de um dashboard do CRM! (não esqueça de habilitar, Configurações > Configurações do Sistema > Reporting > Permitir o Power BI embarcado)

powerbi_1

A funcionalidade ainda possui algumas limitações:

  • Só podemos adicionar os blocos do Power BI em dashboards pessoais, ou seja, dashboards do sistema não possuem a funcionalidade
  • Por não podermos criar dashboards do sistema, não conseguimos transportar os dashboards para outros ambientes, assim, teremos que criar novamente os dashboards
  • Apenas podemos incluir nos dashboards de módulos do CRM (vendas, marketing e serviços), dentro das entidades ainda não é possível incluir
  • O modo mobile, ainda não possui suporte (assim como os relatórios feitos em Reporting Services)

Veja alguns links úteis para a criação e integração do Power BI com o Dynamics CRM:

Conectar no Power BI

Usar o Power BI com o Microsoft Dynamics CRM

Pacote de conteúdo do Microsoft Dynamics CRM para o Power BI

Power BI Desktop

Ao realizar a pesquisa para escrever este post, encontrei este PDF:

Choosing the right Mobile BI tool: SSRS vs Power BI vs Datazen

O PDF coloca alguns fatores à mais para considerar o uso de Reporting Services, Power BI e Datazen, além disso, não podemos esquecer das funcionalidades do próprio CRM para a utilização de dashboards, gráficos e relatórios.

Acredito que atualmente ainda temos um certa concorrência entre os produtos, mas penso que cada vez mais as soluções serão mais indicadas para determinado cenário ou ainda uma possível unificação das funcionalidades em um único produto…

[]’s,

Tiago Cardoso

Publicado em Dynamics CRM | Marcado com , , | 4 Comentários