IselTech 2017

by Pedro Azevedo 15. April 2017 11:36

Boas pessoal,

Está confirmada a primeira palestra do ano, vou palestrar em Maio no ISEL, para quem não sabe a faculdade que me formou como profissional, mas mais importante como pessoa. A minha experiência no ISEL foi fantástica os engenheiros são de alto gabarito e por isso estou eternamente grato ao ISEL.

O evento irá decorrer entre os dia 25 e 27 e tem um custo baixo e mesmo este será totalmente entre a associação “AFA - Associação Futuro Autónomo”. Por isso aproveitem para terem três dias com tecnologia de todos os quadrantes, vejam aqui para mais detalhes.

Resultado de imagem para isel tech 2017

Deixando de lado as emoções, vou ao ISEL falar de como o Azure e o Office 365 transformou o Dynamics 365 num produto que realmente pode rivalizar com o Salesforce e mesmo apresentado argumentos superiores.

Até a próxima

Tags: , , , , ,

Participação no TugaIT 2017

by Pedro Azevedo 7. April 2017 14:56

Boas pessoal,

Mais um evento para Maio desta vez a reedição do evento TugaIT, se bem se lembram no ano passado participei neste evento, é o primeiro evento internacional deste ano e como disse nas resoluções deste ano espero poder participar em pelo menos mais um mas desta vez num país fora de Portugal.

Este é um evento com várias temáticas que cobrem todos os espectros, desde de Desenvolvimento, Plataforma de Dados, Azure, Office 365, Integração, ou seja, um evento completo, para além do evento de um dia cheio de palestras em simultâneo, os dois dias anteriores haverá workshops muito interessantes e dados por pessoas muito competentes a maior parte MVPs Smile

Vocês devem de se estar a perguntar onde se insere o Dynamics no meio de isto tudo, não se insere diretamente, infelizmente o Dynamics ainda não consegue estar presente nestas edições com uma secção diária apenas para esta temática, por isso tento sempre adequar a minha palestra ao contexto do evento, no ano passado falei na integração do Dynamics com Azure e Office 365, desta vez vou falar sobre Common Data Service.

O evento decorre entre os dias 18 e 20 de Maio nas instalações da Microsoft, apareçam se tiverem a possibilidade tentem fazer um dos workshops e aproveitem o dia 20 para assistirem as palestras de uma forma gratuita. Encontra-mo-nos lá.

Resultado de imagem para tugait

Vejam mais informações no site do evento.

Até a próxima.

Tags: , , ,

Alterações ao programa MVP

by Administrator 3. February 2017 14:17

Boas pessoal,

Hoje venho a dar-vos a conhecer novidades sobre o programa Microsoft MVP, não sei se estão a par das últimas novidades sobre este programa, mas este vem sofrendo alterações para manter o programa ágil e atual. As mudanças este ano tem a ver com as nomeações e renovações, estas que até aqui tinham quatro ciclos, nomeadamente, Janeiro, Abril, Junho e Outubro.

Eu era do ciclo de Janeiro, ou seja, fui nomeado e depois renovado sempre em janeiro. Estes 4 ciclos vão acabar, por exemplo as nomeações passam a ser mensais, ou seja, no inicio de cada mês podem existir novos MVPs e as renovações são todas ao mesmo tempo em junho.

O que quer isto dizer que para o ano o primeiro post do ano não será da renovaçãp, mas espero estar a escrever o mesmo em julho Smile.

Até a próxima.

Tags:

MVP 2017–New Version Release MVP 3.0

by Pedro Azevedo 3. January 2017 17:21

Boas pessoal,

Mais um ano como MVP da Microsoft, o terceiro ano consecutivo. Uma grande alegria por continuar neste programa fantástico e espero continuar por muitos anos. Não há palavras para descrever o quanto aprendi nestes três anos.

image

Gostava de realçar uma mudança que aconteceu neste programa, quer dizer é um novo programa que considero uma evolução. A partir de Novembro de 2016 os antigos MVPs passam a pertencer ao Microsoft MVP Reconnect, por isso caso já tenhas sido um MVP e tenhas saído do programa, podes inscrever neste programa, mais um reconhecimento da Microsoft a dar valor a todo o grupo. Com certeza que o dia passarei a este grupo e com muito orgulho.

Mais uma vez obrigado a todos os meus leitores, espero ter um ano mais produtivo, mas sobre os objetivos deste ano ainda irei escrever outro post.

Até a próxima.

Tags: , , ,

Novos métodos na API de Javascript–Autocomplete

by Administrator 20. December 2016 15:19

Boas pessoal,

Continuando os posts de Javascript, como viram existiu uma grande mudança  com os processos.

Entre o CRM 2015 e o CRM 2016 a grande diferença está na disponibilização de controlos AutoComplete e a disponibilização via API, onde temos os seguintes métodos:

 

Apenas com estes métodos não conseguiríamos fazer nada, pois temos que apanhar quando o utilizador começa a escrever. Para ajudar foram acrescentados os seguintes métodos:

 

Para além de podermos adicionar e remover um handler para o evento KeyPress ainda podemos forçar o evento KeyPress.

Vamos então fazer um exemplo da utilização destes métodos, para isso tentei pesquisar um webservice público e encontrei um muito giro que tem informações sobre países do mundo, então o objetivo foi ter um campo que definisse o continente e filtrar logo a partida e depois houvesse um autocomplete no campo do país:

image

Como podem ver pela imagem esta melhoria traz um novo potencial ao Dynamics 365.

Até a próxima

Tags: , , ,

Novos métodos na API de Javascript–Dynamics 365

by Pedro Azevedo 15. December 2016 16:59

Boas pessoal,

Continuando a senda dos novos métodos da API de Javascript, hoje apresento-vos os métodos para gerir as instâncias de processos e métodos para sabermos quando o estado de um processo é modificado.

Isto porque com a chegada do Dynamcis 365 novas funcionalidades foram acrescentadas, e os processos de negócio não fugiram a regra, a Microsoft tenta sempre que estas mudanças também sigam a mesma atualização.

O que temos de novo nos processos de negócio? Bom eu sei que o que foi mais partilhado foi a nova interface e está linda! Mas não é o assunto deste post, queria falar das outras novidades que é a possibilidade de podermos ter várias instâncias de processos a decorrer ao mesmo tempo.

Para dar suporte a esta nova funcionalidade a Microsoft acrescentou mais duas funções:

Chamo mais uma vez atenção que estas funções trabalham com instâncias de processos e não com processos como vimos nos posts anteriores.

Então para começar escolhi a entidade Lead por já ter um processo de negócio por defeito, para além do que vem por defeito criei outro processo, como podem ver pela imagem abaixo ele apenas deteta um processo instanciado, isto é porque apesar de ter dois tipos de processo disponíveis apenas um está neste momento instanciado:

image

A seguir vou instanciar o outro e correr novamente a página, como podem ver já mostra dois processos instanciados:

image

image

Este foi o código que utilizei para obter estas imagens:

Como em vários outros métodos para obter os dados temos que passar um callback e que recebe um objeto com os vários processos, os vários processos vêm como propriedades desse objeto e dentro de cada as várias propriedades que podemos obter, como vamos ver mais a frente necessitamos por exemplo do guid para fazermos operações.

Agora que tenho dois processos instanciados posso neste momento trocar entre os duas instâncias, como tinha mostrado tinha ativado o segundo processo agora vou trocar novamente para o primeiro:

Aqui temos então o método setActiveProcessInstance que recebe o guid do processo a ser ativado e um callback a dizer se essa operação teve sucesso ou não.

Por hoje foi tudo, mas ao escrever este post senti falta de explicar um pouco mais toda esta funcionalidade dos processos de negócio que com esta versão sofreu algumas alterações fica prometido um post a explicar toda esta funcionalidade.

Até a próxima

Tags: , , ,

Apresentação do 24HOP - Portuguese Edition 2016

by Administrator 20. November 2016 14:42

Boas Pessoal,

Aqui estou para relatar e disponibilizar a apresentação que apresentei no 24HOP - Portuguese Edition 2016. Antes de disponibilizar a apresentação, deixem-me partilhar com vocês esta nova experiência, devem estar a pensar que estou maluquinho pois já tenho feito várias apresentações, mas esta tinha um aspeto diferente. Realizar uma palestra sem público. Mais uma vez devem estar a pensar que pirei, então não será melhor realizar uma palestra sem público e assim não ter a pressão dos mesmos?

Deixem-me dizer que não, pois sem público ao vivo nós não conseguimos perceber se estes estão a gostar, quando temos um público ao vivo e vemos que os estamos a perder, acentuamos algo para ser mais motivador, mandamos uma piada e temos feedback, numa sessão onde temos público online e que não conseguimos obter nenhum feedback foi das experiências mais estranhas e prefiro 1000 vezes fazer apresentações onde estamos a ver a nossa plateia.

Em relação ao conteúdo aqui ficam os slides e dizer que a gravação do vídeo também está online, basta para isso registarem-se:

 

Até a próxima

Tags: , , , ,

Novos métodos na API de Javascript – Processos II

by Pedro Azevedo 14. November 2016 16:38

Boas pessoal,

Depois do post anterior a falar sobre a barra de processos e de ter falado apenas do processo vamos agora falar sobre os stages. Vamos ver a que dados podemos aceder, sobre os stages:

var StageCollection = activeProcess.getStages();
 
StageCollection.forEach(function (stage, n) {
    Xrm.Utility.alertDialog("Categoria Stage -> " + stage.getCategory().getValue());
    Xrm.Utility.alertDialog("Id do Stage -> " + stage.getId());
 
    Xrm.Utility.alertDialog("Nome da Entidade da Stage -> " + stage.getEntityName());
    Xrm.Utility.alertDialog("Nome da Stage -> " + stage.getName());
    Xrm.Utility.alertDialog("Estado da Stage -> " + stage.getStatus());
 
    Xrm.Utility.alertDialog("Número de Steps -> " + stage.getSteps().getLength());
});

E este é o resultado:

image_thumb11_thumb

image_thumb13_thumb

image_thumb15_thumb

image_thumb16_thumb

image_thumb17_thumb

image_thumb18_thumb

image_thumb23_thumb

image53_thumb_thumb

image_thumb24_thumb

Não coloquei aqui os passos todos, podemos ver todas as informações do primeiro stage, que é o que está ativo, depois mostro o próximo stage e vejam que já está noutra entidade e que neste momento está inativo.

Vamos ver como podemos obter apenas o stage que está ativo:

function onload() {
    var activeStage = Xrm.Page.data.process.getActiveStage();
    Xrm.Utility.alertDialog(activeStage.getId() + " - " + activeStage.getName());
}

image_thumb1_thumb

Como podemos ver na imagem temos o guid e o nome do stage que está ativo. Claro que podemos ativar um stage com o seguinte código:

Xrm.Page.data.process.setActiveStage("15322A8F-67B8-47FB-8763-13A28686C29D", function(result) {
    if(result == "success") {
        Xrm.Utility.alertDialog("Success");
    } else {
        Xrm.Utility.alertDialog("Invalid");
    }
});

No post anterior não referi mas a função que colocar outro stage ativo e semelhança do que coloca o processo ativo, a função para além do sucesso e insucesso, e principalmente no caso de insucesso ele dá-nos mais razões para o insucesso, vamos ver o exemplo para este caso que outros valores podem ser passados a função:

  • crossEntity – o stage terá que ser sobre a entidade corrente;
  • invalid – pode ser três razões:
    • O Id do stage não é válido
    • O stage ativo não é o que está selecionado
    • O registo não está salvo
  • unreachable – o passo está noutro path
  • dirtyForm – se os dados da página não está gravado

Um método interessante é o getActivePath que nos dá qual é o caminho dos stages que faltam baseado nas regras de ramificações (mediante valores do formulário o nosso processo de negócio pode ter várias ramificações) e os dados presentes no registo, vejam um exemplo:

var activePathCollection = Xrm.Page.data.process.getActivePath();
activePathCollection.forEach(function (stage, n) {
    Xrm.Utility.alertDialog("Id do Stage -> " + n);
    
    var stageSteps = stage.getSteps();
    stageSteps.forEach(function (step, i) {
        Xrm.Utility.alertDialog("Nome do Passo -> " + step.getName());
        Xrm.Utility.alertDialog("Atributo do Passo -> " + step.getAttribute());
        Xrm.Utility.alertDialog("Passo Necessário -> " + step.isRequired());
    })
});

Com o método anterior, também vemos os métodos que podem ser executados sobre cada step, ou seja, podemos ver o nome do passo, qual o atributo e saber se esse atributo é necessário ou não.

Só nos falta falar nos eventos, aqui a API possibilita-nos saber quando um processo é alterado ou selecionado, da seguinte maneira:

Xrm.Page.data.process.addOnStageChange(function () {
    Xrm.Utility.alertDialog("O Stage foi modificado");
});
 
Xrm.Page.data.process.addOnStageSelected(function () {
    Xrm.Utility.alertDialog("O Stage foi selecionado");
});

image_thumb[3]

image_thumb[1]

A primeira mensagem é quando eu digo que quero mudar de processo, ou seja, disse que quero ir para a próxima fase. A segunda mensagem é quando eu seleciono, ou seja, por exemplo quero ver o que está na próxima fase, ou o que já foi escolhido na fase anterior.

Até a próxima

Tags: , ,

Participação no 24HOP - Portuguese Edition 2016

by Administrator 5. November 2016 14:21

Boas pessoal,

Venho aqui divulgar um evento em que vou participar como palestrante. O evento é o 24HOP - Portuguese Edition 2016, um evento com temas relativos a plataforma de dados da Microsoft. Esta é a versão portuguesa deste evento.

A minha palestra vai ter o título: "Common Data Model (CDM), uma nova base dados?", e vai ser 18 de novembro as 21h no horário de Portugal, quer isto dizer que o evento é em parceria com palestrantes do Brasil. A palestra vai ser então sobre uma nova base dados para a nova arquitetura de aplicações de negócio.

Para obterem mais informações e para se inscreverem podem aceder aqui.

Até a próxima.

Tags: , , ,

Apresentação do Collab 365

by Pedro Azevedo 22. October 2016 17:43

Boas pessoal,

Ontem dia 20 passou a minha gravação da sessão “Como tirar o melhor do Dynamics CRM com o Office 365” em que depois renomeei para “Relação do Dynamics CRM com a Microsoft Cloud” porque entre a minha submissão e quando realizei a apresentação surgiram novidades e introduzi na apresentação. Estão aqui os meus slides:

E como esta apresentação foi gravado deixo também o link para o collab onde podem rever a apresentação.

Até a próxima

Tags: , , , , , ,

About

Muito bem casado, Pai babado e um gosto muito grande pela tecnologia.

Tenho um lema "Sharing is Learning"

Mais aqui -> http://www.psazevedo.com

Month List