quarta-feira, 16 de outubro de 2019

Introduzindo o Project for the Web

Olá pessoal –

Ontem, dia 15 de Outubro de 2019, a Microsoft oficialmente iniciou a divulgação da nova versão do Project, que irá se chamar ‘Project for the Web’. De acordo com o post publicado, todos os clientes que já possuem ao menos uma licença do tipo Microsoft Project Premium ou Microsoft Project Professional irão também obter acesso ao Project for the Web ainda nesse mês de Outubro.

A princípio não haverá custos adicionais para os clientes no que se refere à introdução do Project for the Web. A tabela abaixo, tirada do post publicado pela Microsoft, exibe os tipos de licença e seus respectivos produtos:


Dois links importantes, que podem auxiliar no entendimento sobre o novo serviço e suas diferenças para o serviço atual do Project Online, também foram compartilhados:



Irei publicar uma série de posts ao longo dos próximos dias/semanas para focar no novo serviço, suas funcionalidades, recursos e principais diferenças se comparado ao serviço atual do Project Online. 

Vamos explorar os cenários de utilização de cada serviço, e entender o Roadmap da Microsoft e como se planejar para implantar o serviço na nossa organização.


Fique ligado aqui no blog e também lá no canal no YouTube.


segunda-feira, 7 de outubro de 2019

Flow e Project Online: Gatilhos e Conectores Nativos (parte 2)

Olá pessoal –

Dando continuidade à parte 1 do vídeo sobre gatilhos e conectores nativos do Flow para o Project Online, vamos falar hoje sobre a ação Listar projetos. Esta é uma ação nativa que tem como objetivo disponibilizar/listar algumas informações dos projetos disponíveis no ambiente do Project Online.

Para simular um cenário real de utilização da ação Listar Projetos, digamos que um administrador do Project Online queira receber semanalmente a listagem dos projetos que foram deixados em check-out.

Para começar, vou iniciar um novo Flow e então definir uma recorrência semanal, sempre às segundas-feiras. Em seguida, a nova etapa utilizará o conector do Project Online que possui a ação Listar Projetos:


Esta ação possui apenas um parâmetro de entrada, que é o endereço do site raiz do Project Online:


Uma coisa que eu gosto bastante de fazer para aprender como o Flow trabalha nos bastidores, e também para descobrir quais são os resultados disponíveis no contexto da ação executada, é executar o fluxo de fato. O objetivo aqui é descobrir se entre os campos retornados na ação Listar Projetos há algo que permita descobrir se o projeto está ou não em check-out. Portanto, vou executar o Flow e descobrir a lista de campos retornados na ação:


Uma vez confirmada a existência da propriedade chamada “IsCheckedOut”, vamos prosseguir. Como o objetivo é listar apenas os projetos em check-out, na próxima etapa vou incluir a ação Matriz do filtro (em inglês, Filter array), que permite a segmentação das informações obtidas através da aplicação de um critério. O filtro será aplicado com base no valor retornado Projetos retornados Foi feito check-out:


A condição deve ser verdadeira (true):


So far so good... temos a nossa lista de projetos em check-out. A questão agora é: como organizá-la? Para enviar a lista por e-mail, uma boa alternativa é convertê-la em uma tabela, para que os dados sejam estruturados adequadamente. Nesse sentido, na próxima etapa vou utilizar a ação Criar Tabela HTML, onde iremos obter o resultado/output do passo anterior como entrada/input:


Aqui é importante notar algo relevante: apesar de o passo anterior estar filtrando apenas os projetos em check-out, todas as propriedades (colunas) estão sendo obtidas... isso significa que a tabela HTML não será estruturada adequadamente caso alguns ajustes não sejam feitos. Desse modo, ainda nesta etapa, clique em Mostrar opções avançadas para que seja possível determinar quais são as informações a serem exibidas na tabela. Perceba que você poderá criar um cabeçalho e então determinar quais propriedades deseja utilizar:



Nesse ponto acabei descobrindo que há um pequeno bug no conector do Flow 😕. Os resultados obtidos na ação Matriz do filtro disponibilizam uma propriedade chamada ‘Nome do Projeto’, que em teoria deveria trazer o nome do projeto conforme filtrado anteriormente. Acontece que, por algum motivo desconhecido, essa propriedade não está relacionada ao nome do projeto, mas sim à propriedade ‘Nome do Tipo de Projeto da Empresa’. Isso que dizer que a tabela não irá conseguir disponibilizar/listar os nomes dos projetos em check-out 😔.

Tenho que confessar que eu fiquei bem frustrado ao descobrir isso, pois o nome do projeto é uma propriedade essencial para o tipo de resultado que desejamos obter nesse exemplo. De qualquer maneira, já reportei o bug à Microsoft, então vamos continuar... ao invés de retornar os nomes dos projetos em check-out, iremos retornar outras três informações:

- O identificado do projeto
- A última data em que o projeto foi salvo
- O Id interno do projeto


Ao rodar o fluxo, teremos o seguinte resultado:


Para finalizar, vou configurar o envio de um e-mail com base nos resultados da tabela HTML. Nas configurações da ação Enviar um email lembre-se de expandir as opções avançadas para determinar que se trata de uma mensagem HTML:


Quando o fluxo rodar na data pré-definida, as notificações serão enviadas conforme exemplo abaixo:


Considerações


Como foi possível observar nesse post e também no post anterior, infelizmente os gatilhos e conectores nativos do Flow com o Project Online parecem não terem recebido a atenção merecida, exigindo certo malabarismo para que seja possível trabalhar com as informações que precisamos. Por este motivo irei dar continuidade a esta série de posts, onde iremos continuar explorando outras alternativas que permitam maior flexibilidade na obtenção dos campos disponíveis na api do Project Online. Fique ligado aqui no blog.

Um forte abraço e até o próximo post!

quarta-feira, 2 de outubro de 2019

Microsoft Ignite the Tour: I will be speaking!

Olá pessoal –


O Microsoft Ignite é uma conferência global anual, voltada para desenvolvedores e profissionais de TI. Em 2019, a conferência irá acontecer em Orlando FL, entre os dias 4 e 8 de Novembro.

Para abranger um número maior de pessoas e exponenciar os conteúdos apresentados no Ignite, a Microsoft criou o Ignite The Tour, que são versões menores do evento global distribuídas em várias cidades ao redor do globo. O tour passará por São Paulo entre os dias 12 e 13 de Dezembro, e as inscrições já estão abertas!

A boa notícia é que hoje eu recebi a confirmação de que duas palestras que submeti foram aprovadas, ou seja, I will be speaking at Ignite the Tour! 🎉🥳🚀. As minhas sessões serão:

- Power Platform & Project Management: creating a PowerApps app to read Project Online data
- Portfolio snapshoting: creating a trend analysis report from Project Online with Flow, SharePoint and Power BI

Então corra, visite a página do evento e faça a sua inscrição. É um evento gratuito, com muito conteúdo relevante, entregue pelos principais profissionais do país!

Te vejo no Transamérica Expo Center em Dezembro!

terça-feira, 1 de outubro de 2019

Flow e Project Online: Gatilhos e Conectores Nativos

Olá pessoal –

Trabalhe menos, faça mais. Este é o bordão do Microsoft Flow, uma plataforma pertencente ao ecosistema Power Platform que tem como objetivo permitir a criação de fluxos automatizados entre diferentes aplicativos e serviços, de modo a enviar/obter notificações, sincronizar arquivos, coletar dados entre muitas outras possibilidades.

Há cerca de um ano eu escrevi um post para falar sobre as minhas primeiras impressões sobre o Flow, e como as organizações podem utilizá-lo para automatizar alguns processos no Project Online. Desde então, também passei a gravar conteúdo no meu canal do YouTube, criando uma playlist para falar exclusivamente sobre a integração dos aplicativos do Power Platform com a suíte PPM.

Trago esse assunto de volta ao blog porque acredito que é preciso contextualizar um pouco mais os recursos, as funcionalidades e aplicabilidades do Flow, assim como suas limitações – principalmente quando falamos da sua combinação com o Project Online. Nesse sentido, a ideia é escrever alguns posts para explorar um pouco mais a fundo as possibilidades de utilização do Flow no contexto do gerenciamento de projetos.

gatilhos e conectores

No Microsoft Flow, os usuários podem criar fluxos que executam uma ou mais tarefas automaticamente depois que ela é disparada por um evento. No âmbito do Project Online, o Flow possui 4 gatilhos:

- Quando um novo projeto é criado
- Quando um novo recurso é criado
- Quando um projeto é publicado
- Quando uma nova tarefa é criada


Uma vez acionado um gatilho, você pode determinar as ações a serem tomadas pela plataforma. E é aí que a coisa aperta...

Vamos supor que você queira criar um fluxo simples: todas as vezes que um projeto for publicado no Project Online, um e-mail deve ser enviado. O Microsoft Flow utiliza o conceito de etapas, onde uma ação deve ser tomada a partir dos gatilhos e/ou eventos passados. Ao fazer isso, a plataforma proporciona aos usuários os Conteúdos Dinâmicos: os resultados das etapas anteriores estão disponíveis como conteúdo dinâmico para serem eventualmente utilizados na ação seguinte.

Veja o exemplo da imagem abaixo: ao adicionar uma nova etapa que contém a ação Enviar um email, após selecionar a área do corpo do email você poderá utilizar o conteúdo dinâmico da etapa anterior – neste caso, os campos do Project Online que foram obtidos no gatilho Quando um projeto é publicado:


O grande problema aqui é que o conector nativo do Flow para o Project Online disponibiliza apenas uma fração dos campos existentes – que, na sua grande maioria, são campos pouco relevantes. Outro ponto importante a se notar é que os campos personalizados, que são utilizados pela maioria das organizações para classificar e definir as propriedades e os atributos dos projetos, infelizmente não são disponibilizados pelo conector nativo do Flow.

Utilizando campos não disponibilizados pelo conector nativo do flow

A boa notícia é que é possível utilizar os campos que não são disponibilizados de maneira nativa pelo conector do Microsoft Flow com o Project Online, e é aqui que temos o famoso ‘pulo do gato’.

Quando um novo fluxo é criado e executado, suas entradas e saídas podem ser exibidas, de maneira que o usuário possa entender um pouco mais sobre o que acontece por trás das cortinas. Se criássemos um fluxo bem simples, que enviasse um e-mail contendo apenas o nome do projeto toda vez que um projeto é publicado, ao visualizarmos os resultados seria possível identificar, no corpo da ação, uma série de campos do Project Online que, de maneira nativa, não estão disponíveis nos conteúdos dinâmicos. Um exemplo claro é o capo “EnterpriseProjectTypeName”:


Ao navegar entre os campos disponíveis no corpo da ação, é possível concluir que o Flow de fato consegue ler todos os campos da base do Project Online. O que acontece é que o conector nativo foi desenhado de maneira a não disponibilizar esses campos nos conteúdos dinâmicos... pois é, vai entender.

Para forçar a inclusão dos campos desejados, voltemos ao nosso exemplo: suponha que o email a ser enviado tenha de conter as informações de Percentual Concluído (que é um campo nativo do Project Online), Patrocinador, Status de Prazo e Programa (que são campos personalizados criados no ambiente). Pois bem, na ação Enviar um email, inclua um campo qualquer do conteúdo dinâmico (eu incluí o campo Projetos Retornados Nome do Projeto); em seguida, passe o mouse sobre o campo retornado: você irá visualizar a expressão que o Flow utiliza para obter esse campo da base do Project Online:

triggerBody()?[‘ProjectName’]

Bah.... taí a solução dos nossos problemas. Basta utilizar o construtor de expressões (ao invés do conteúdo dinâmico) para referenciar os campos desejados a partir do corpo do gatilho. No meu exemplo, os nomes dos campos personalizados que foram criados no meu ambiente são:

triggerBody()?[‘Sponsor’]
triggerBody()?[‘ScheduleKPI’]
triggerBody()?[‘Program’]


Após configurar todos os campos, o fluxo será apresentado conforme a imagem abaixo:


E então, quando os projetos forem publicados, as mensagens de e-mail serão disparadas contendo o conteúdo requerido:


Muito bom, não acha? 😎

Como eu havia comentado em outros posts (e como estou frequentemente comentando nos meus vídeos no YouTube), os aplicativos disponibilizados no ecosistema Power Platform terão um impacto gigantesco na maneira como trabalhamos, então a recomendação é se planejar e reservar tempo para aprender a utilizar esses aplicativos o quanto antes.

Minha contribuição estará em continuar gravando vídeos e escrevendo posts sobre casos de uso e soluções de negócio que envolvam o Project Online, SharePoint, Flow, PowerApps e Power BI. Fique ligado!

Espero que tenha gostado desse post, e até o próximo!