CUSTOMIZAÇÃO – VALIDAÇÃO DE FÉRIAS

Customização

O que se pode fazer com as customizações?

  • Criar validações novas a partir de informações já existentes. Por exemplo: Validar para que as férias só iniciem nas segundas-feiras;
  • Criar validações novas a partir de um campo customizado. Por exemplo: Criar um campo na plataforma para a entidade vacationPolicy chamado ‘Dia limite para solicitar férias’ e na tela de edição de políticas atribuir a ele o valor 15. Com isso é possível criar uma validação para que as solicitações de férias só possam ser iniciadas até o dia 15;
  • Excluir/alterar/incluir uma mensagem de validação.

Para montar um ambiente customizado é necessário editar algumas configurações na plataforma, criar um servidor remoto onde os serviços customizados serão executados e configurar a comunicação entre o servidor e a plataforma. Neste tutorial será utilizada a ferramenta Heroku, que serve como servidor para executar o projeto customizado em nuvem. O projeto exemplo está implementado na linguagem Java com as dependências gerenciadas através do Maven e também foi utilizada a Framework Spring Boot.

Criando uma aplicação na plataforma Senior X

  • Efetuar login como administrador da plataforma;
  • Acessar Tecnologia > Administração > Gerenciamento de aplicações;
  • Nova aplicação;
  • Definir um nome (O nome da propriedade deve conter apenas letras, hifens e números. Não é permitido caracteres especiais.), uma descrição para a aplicação e depois clique em salvar;
  • Na aplicação criada, acessar Ações > Gerenciar chaves;
  • Clicar em Gerar Chave;
  • Os campos gerados serão utilizados para configurar o ambiente customizado mais tarde.

Criando a extensão

Para o caso da extensão através do ponto Depois devemos criar um endpoint REST que receba e retorne o mesmo contrato do payload do endpoint original.
O endpoint interceptado será o validateVacationSchedule, que é responsável por validar a solicitação de agendamento de férias do colaborador.
Seu payload é a ValidateVacationScheduleRequest, que tem os seguintes campos:

  • ValidateVacationScheduleInput;
  • ValidateVacationScheduleOutput.

Codificando a extensão

O repositório com os fontes da extensão pode ser encontrado aqui. Clone o repositório com os fontes do tutorial em um repositório local. Após ter clonado o repositório, abra o projeto na sua IDE preferencial.

Descrição do projeto

Foi criado um projeto exemplo com duas validações customizadas onde uma valida o dia de início das férias a partir de um campo criado pelo usuário na plataforma e a outra valida o início das férias até 9 meses após o fim do período aquisitivo.

O projeto está com documentação nos principais métodos e variáveis, o que facilita o entendimento do código e a sua manutenção. Há também comentários explicando determinados trechos de código e condições específicas. O projeto de exemplo possui um arquivo chamado README.md contendo instruções importantes sobre como implementar novas funções, a organização do projeto e sobre as funções já implementadas.

Implantando o projeto de customização no Heroku

Você pode fazer o download do HEROKU aqui. Para você poder realizar o deploy da sua aplicação para o HEROKU, você precisará criar um repositório Git e adicionar a sua implementação ao repositório com os seguintes comandos:

git init

git add .
git commit -m "mensagem do commit"

Obs.: Para a execução desses comandos é necessário que você abra o seu prompt de comando na pasta raiz do projeto.

Para implantar sua aplicação no Heroku, primeiro é necessário criar uma aplicação no Heroku. Você pode fazer isso executando o seguinte comando:

heroku create

Obs.: Para executar esse comando é necessário que você crie uma conta no Heroku, pois será necessário informar seu e-mail e senha do Heroku.
Esse comando cria um repositório remoto chamado heroku no seu repositório do git local. O comando create gera um nome aleatório para a sua aplicação, você pode renomeá-lo usando o comando “heroku apps:rename”

Com o repositório criado, basta executar o seguinte comando para enviar a sua implementação para o repositório criado:

git push heroku master

Ao executar esse comando sua aplicação estará no ar e você poderá acompanhá-la através do dashboard do site do Heroku.

Após isso é necessário executar os seguintes comandos para configurar a comunicação da sua aplicação com a plataforma.

heroku config:set PLATFORM_URL='Link da plataforma'

heroku config:set TENANT='Nome do tenant'
heroku config:set ACCESS_KEY='Chave gerado no primeiro tópico'
heroku config:set SECRET='Chave gerado no primeiro tópico'

Por fim para iniciar a sua aplicação é preciso que você execute o comando “heroku open” para que então ele inicie o seu serviço customizado.

Implantando a extensão

Essa ação está exemplificada nesse tutorial. Basta seguir os passos desse tutorial, porém a primitiva a ser alterada é a validateVacationSchedule.

O método a ser informado é o ‘Depois’ e a checkbox ‘Enviar input no payload’ deve ser assinalada. Após salvar e acessar a tela de Funcionalidades (API), ative a sua primitiva customizada selecionando a checkbox da linha correspondente.

Configurando permissão para a API

É preciso que a API criada tenha permissão para visualizar as primitivas da plataforma, para isso vá para Tecnologia > Administração > Autorização > Gestão dos papéis e edite o papel de administrador.

Ao acessar a tela de edição do papel, vá para o menu de Aplicações e habilite a sua API e depois salve a sua alteração.

Feito isso, ao solicitar férias, a solicitação irá ser validada pela validação da Senior e pela sua validação customizada.

Para saber mais sobre customizações na plataforma Senior X, você pode acessar os seguintes tutoriais:

Introdução sobre customização na plataforma:

Criando e implantando cenários customizados:

Criação de campos customizados:

Leave A Comment