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: