sexta-feira, 30 de abril de 2021

Arquivando projetos no Project for the web

 Olá pessoal –

No começo desse ano publiquei um post aqui no blog falando sobre as boas práticas para arquivar projetos no Project Online. No post de hoje irei falar sobre as opções disponíveis para o Project for the web.

Se você já está utilizando o Project for the web, então deve saber que os recursos e funcionalidades da plataforma são mais simples quando comparadas aos recursos e funcionalidades do Project Online. Nesse sentido, o processo de arquivamento dos projetos também é mais simples e direto.

Porém, antes de iniciarmos os procedimentos técnicos, é preciso responder uma pergunta: quais os motivos para arquivar um projeto? Vejo algumas razões pelas quais um projeto precise ser arquivado:

  • O projeto pode ter sido encerrado e, dessa forma, é preciso garantir que os dados não mais serão alterados
  • O projeto pode ser sido paralisado (cancelado ou temporariamente suspenso) e, enquanto durar essa paralização, é preciso garantir a integridade do cronograma
  • A organização pode estar passando por uma janela de paralização (por exemplo, uma parada de fábrica ou férias coletivas) e durante esse intervalo de tempo os cronogramas devem ser mantidos em modo leitura

Indo agora às tecnicalidades, para arquivar um projeto no Project for the web é preciso inativá-lo. A ação de inativação pode apenas ser feita via aplicativo no Model Canvas (Power Apps) – https://make.powerapps.com.

Ao acessar o aplicativo Projects, basta selecionar o projeto desejado e clicar em Deactivate:


Em seguida será preciso confirmar a inativação do projeto:


Dessa forma, caso os usuários tentem acessar o cronograma, receberão a mensagem de que o projeto encontra-se inativo, estando assim em modo apenas leitura:





Espero que ajude 😉.

terça-feira, 6 de abril de 2021

Filtrando as tarefas de um projeto via Power Automate

 Olá pessoal –

No final de Março/2021 publiquei um post para explicar como é possível filtrar um projeto pelo seu ID no Power Automate. Logo depois de efetuar a publicação do post surgiu uma nova necessidade com um dos clientes com os quais eu trabalho, que acho que vale a pena compartilhar por aqui. Vou procurar explicar com um pouco mais de detalhes:

--- um cliente gostaria que, logo após a criação de um novo projeto, seus marcos fossem obtidos e sincronizados com um sistema externo, que era utilizado por uma área específica da organização para fins de controle.

É importante destacar que nesse post não pretendo explicar como os dados exportados foram adicionados ao sistema externo. Ao invés disso, meu objetivo aqui será detalhar como é possível criar uma ação no Power Automate que utilize o parâmetro do ID do projeto (GUID) para filtrar as tarefas daquele cronograma especificamente. Antes de começar, é importante apenas deixar claro que, no contexto desse cliente, todos os novos projetos criados possuíam um modelo de cronograma associado, ou seja, quando da criação de um novo projeto toda a estrutura básica de tarefas já estaria pronta. Feitos os devidos disclaimers, vamos lá.

O primeiro passo é iniciar o gatilho do flow usando a opção ‘When a new project is created’. Em seguida, paralisamos o fluxo por 2 minutos para garantir que todas as ações de criação do projeto tenham sido processadas pela fila do Project Online. Por fim, uma ação ‘Send an HTTP request to SharePoint’ foi adicionada para que seja possível obter a lista de tarefas:


Após especificar o endereço do PWA e manter o método padrão GET, é preciso determinar que as tarefas a serem obtidas devem ser oriundas do projeto que acabou de ser criado. Se você já está familiarizado com as strings para obter dados da API do Project Online (OData), já deve saber que o ponto final da entidade tarefas pode ser consultado da seguinte maneira (neste exemplo estamos filtrando os marcos do cronograma e obtendo o seu ID, nome e data de término):

/_api/ProjectData/Tasks()?$Select=TaskId,TaskName,TaskFinishDate&$Filter=TaskIsMilestone eq true

Porém, como filtrar as tarefas para que sejam apenas obtidas as tarefas do projeto criado? A resposta é que a API OData é flexível o suficiente para permitir a inclusão de um parâmetro adicional (Projects), que permite a aplicação do filtro desejado. Ficaria assim:

/_api/ProjectData/Projects(guid'[ProjectId] ')/Tasks()?$Select=TaskId,TaskName,TaskFinishDate&$Filter=TaskIsMilestone eq true


Aplicando esta técnica apenas as tarefas necessárias do projeto em vigor serão obtidas, e assim será possível prosseguir com as ações futuras de acordo com as necessidades de negócio.

Espero que ajude e até a próxima 😉.



sexta-feira, 2 de abril de 2021

Reimagine Project Management with Microsoft

 


Olá pessoal –

Passando hoje rapidamente para falar sobre um evento virtual muito importante para a turma que está pensando em adotar o Project for the web (ou para aqueles que já estão em processo de adoção). Nesse mês de Março/2021 a Microsoft disponibilizou as palestras que foram gravadas durante o evento Reimagine Project Management with Microsoft, um evento realizado pelo time de produto e engenheiros que trabalham ativamente no desenvolvimento do Project for the web, discutindo as funcionalidades, recursos e roadmap dessa importante plataforma de gerenciamento de projetos.

A inscrição para o evento é gratuita e pode ser feita no link abaixo:

https://events1.social27.com/reimagine-projectmanagement/page/pre-signup

Só pra vocês terem uma ideia da montanha de conteúdo disponível:


Agora é bloquear a agenda e dar no play 📺