Blog

Nesse tutorial apresentamos como configurar recursos REST que dão suporte a paginação, ordenação e filtro em seu projeto Cronapp. 


Figura 1 - Componente Grade sendo alimentada por uma API externa



Foram criados 4 blocos servidor para gerar e obter valores durante o ciclo de vida de uma thread ou requisição REST.


Figura 1 - Blocos de Thread



A Oracle finalizou o suporte da versão 5,6 do MySQL, veja nesse tutorial como atualizar o seu banco dos Serviços de Cloud para a versão mais recente.



Em breve o Cronapp atualizará sua versão para 2,8, conheça aqui os novos recursos e experimente o nosso ambiente beta: ide-next.cronapp.io.


Botão Modo Avançado

Ao desabilitar o botão Modo Avançado (destaque 1 da figura 1), o Cronapp simplifica diversos recursos para melhorar sua usabilidade. É possível alterar essa opção a qualquer momento durante o desenvolvimento. Veja mais detalhes em Estrutura de arquivos.


Figura 1 - Botão Modo Avançado e alterações na árvore de arquivos


  • Os arquivos do projeto passam a ser organizados por categoria ao invés de hierarquia, facilitando a navegação entre os arquivos;
  • Arquivos fontes (*.java, *.js, *.json e outros) ficam ocultos;
  • Apenas arquivos com recursos low-code são exibidos;
  • Apenas arquivos relevantes àquela categoria são exibidos no menu de contexto durante a criação de um arquivo;
  • Não serão exibidos diálogos que solicitam a confirmação para a alteração de arquivos em funcionalidades que realizam ações automáticas (ex.: gerar a camada de persistência no Diagrama de dados);
  • Ao executar o projeto pela primeira vez, a área de informações (local onde possui as abas Saída, Console do depurador e outras) ficará recolhida.

Árvore de arquivos

A área onde são exibidas a estrutura de arquivos do projeto está melhor e com novas funcionalidades.


Figura 2 - Melhoria na árvore de arquivos do projeto


  • Alteração de ícones e cores;
  • Suporte a seleção de múltiplos arquivos, permitindo ações como remover, mover, copiar, recortar e colar;
  • Melhoria na representação visual de arquivos alterados em projetos versionados: novos, em conflito, com erro e outros;
  • Menu de contexto só aceita adicionar arquivos permitidos na categoria;
  • Drag-And-Drop de arquivos só aceita arquivos permitidos na categoria.

Arquivos de fonte de dados

Agora são gerados arquivos únicos para cada fonte de dados do sistema, permitindo mais uma forma de acesso as fontes e facilitando o processo de merge em projetos versionados.

O diretório datasource só fica visível após habilitar o Modo Avançado.


Figura 3 - Diretório das fontes de dados

Janela de conflitos (merge)

A nova janela possui novos recursos que facilitam o tratamento de arquivos em conflitos nos projetos versionados.


Figura 4 - Nova janela de conflitos para merges

Novos botões Play, Stop e Abrir Navegador

De forma a melhorar a usabilidade, os botões Play, Stop e Abrir Navegador estão maiores, mais chamativos e se alternam quando o projeto está em execução ou parado.


Figura 5 - Projeto para (acima) e em execução (abaixo)

Novos recursos ao rodar um projeto

Ao rodar um projeto, uma janela de notificação com uma barra de progresso é exibida enquanto o servidor da aplicação estiver subindo.


Figura 6 - Notificação durante a execução do projeto


Após subir a aplicação, uma janela permite selecionar onde deseja abrir o projeto.


Figura 7 - Janela de seleção para abrir o projeto

Múltiplas aplicações em um mesmo banco

Agora é possível ter várias aplicações em um mesmo bando de dados, restringindo as aplicações que um usuário pode acessar e compartilhar os dados das permissões de segurança.

Melhoria de performance

Diversas alterações internas ao Cronapp foram feitas a fim de melhorar a performance e diminuir os loadings. Destacamos algumas:

  • Alterações no sistema de arquivos da IDE;
  • Melhoria nas barras de progressos;
  • Otimização nos recursos do GIT;
  • Otimização nos recursos do Gitflow;
  • Abrir os editores de views e Bloco de programação ficou ainda mais rápido.

Novidades

Filtro de variáveis por função

A lista de blocos na categoria Variáveis (editor de bloco de programação) exibirá apenas os blocos criados para uma determinada função, deixando claro o escopo local de suas variáveis. Para mais detalhes, acesse a documentação Variável.


Animação 1 - Cada função passa a ter sua própria lista de variáveis


O Cronapp permitirá a criação e edição de entidades em tempo de execução, com essa funcionalidade será possível ampliar ainda mais os recursos do novo relatório Ad-hoc (saiba mais).


Figura 1 - Exemplo de página responsável por mapear as entidades do sistema



As aplicações feitas pelo Cronapp agora tem regras de composição, tamanho mínimo de senhas (conceito de “senha forte”) e de não permitir senhas repetidas (histórico de senhas).


Figura 1 - Janela de alteração da senha do usuário



As aplicações Cronapp agora disponibiliza uma opção para obter uma nova senha de acesso. Após o usuário informar o seu endereço de e-mail, a aplicação enviará automaticamente um e-mail com as instruções para obtenção da nova senha.


Figura 1 - Acesso ao mecanismo de recuperação de senhas



O Cronapp permitirá ter várias aplicações utilizando um mesmo bando de dados, restringir as aplicações que um usuário pode acessar e compartilhar os dados de permissões e segurança.


Figura 1 - Exemplo de diagrama que utiliza múltiplas aplicações


Relatório Ad-hoc

Em breve será possível criar e editar relatórios dentro da própria aplicação (em tempo de execução) usando o nosso Editor de relatórios.


Figura 1 - Editor de relatórios sendo executado em uma aplicação Cronapp


Realizamos grandes alterações na ferramenta de Edição de Conflitos (Merge) e adicionados mais recursos:

  • Encolher / expandir código inalterado;

  • Alterar visualização de mudanças para bloco e grupo;

  • Destacar / ocultar mudanças;

  • Exibir / ocultar número de linhas.


Figura 1 - nova janela de edição de conflitos 


A principal alteração no modo de merge acontece quando o usuário tenta aplicar uma alteração que afeta a mesma linha em ambas as visões (commit local e commit remoto). O usuário poderá assim aceitar apenas a mudança de um dos lados ou adicionar as alterações de ambos os lados. Para maiores detalhes sobre conflito de merge, acesse a documentação Versionamento usando Git.



Algumas aplicações podem necessitar que seus usuários manipulem dados em locais sem internet, e, após retornar a uma área com conexão, os dados serão sincronizados com o banco de dados do servidor do sistema. Isso pode ser feito utilizando estruturas que permitam armazenar dados localmente, junto com a aplicação. Veja mais detalhes em nosso tutorial.


Figura 1 - Este exemplo permite cadastrar dados e enviá-los para o banco do sistema após se conectar à internet



Neste exemplo mostramos como é simples restringir o acesso de usuários em aplicações que compartilham o mesmo banco de dados, utilizando as Permissões de Segurança do Cronapp.


Figura 1 - Esquema em que usuários só possuem acesso a determinadas aplicações que utilizam o mesmo banco



Acesse o tutorial Executar projeto localmente via Docker e veja com é simples trabalhar com o Docker em seu projeto Cronapp. 

Nesse tutorial você aprenderá como:

  1. Criar e executar uma imagem Docker a partir do repositório de código Git;
  2. Enviar uma imagem para um repositório de imagens Docker (Registry);
  3. Obter e executar localmente uma imagem Docker a partir de um repositório de imagens e
  4. Entender os comandos do arquivo Dockerfile em seu projeto.


Figura 1 - Projeto Cronapp sendo executado localmente via Docker


O Cronapp disponibilizou novas funções para adicionar, modificar e obter variáveis de Token. Tais funções são extremamente úteis para evitar uso de variáveis de sessão e para criação de sistemas Multi Tenant (multi inquilino).


Figura 1 - Exemplo de uso do novo bloco de programação


O Cronapp, em seu esquema de autenticação padrão, utiliza tokens JWT (JSON Web Token). Tais tokens são informações criptografadas que levam, como a sigla sugere, um JSON como estrutura de dados interna. Essas informações são utilizadas pelo Cronapp para autorização de serviços da aplicação. Ao definir uma variável de token, um novo campo será adicionado a esse JSON e, consequentemente, ao token. Após isso, o token é atualizado e devolvido para ser utilizado pelo cliente. 

Existem limitações quanto ao tipo de dados e ao tamanho máximo do token:

  • Tamanho Máximo: 4Kb.
  • Tipo de dados: qualquer informação passada será serializada como String dentro do token, logo, objetos complexos não devem ser usados.