Blog

Nas últimas semanas foi notificado uma vulnerabilidade identificada como CVE-2021-44228 na biblioteca log4j-core-2x à 2-14, a equipe de segurança da Techne/Cronapp tomou conhecimento e constatou que os projetos exclusivamente Low-code do Cronapp não possuem essa biblioteca, portanto não estão vulneráveis, Leia mais. 


Figura 1 - Biblioteca Log4j versão 2


Portanto, os projetos criados exclusivamente como Low-code estão livres dessa vulnerabilidade e podem ser validados da seguinte forma: 

* Os comandos abaixo são para servidores Linux, use comando equivalente no Windows. 

  • Acesse seu servidor dentro do diretório do Tomcat e execute o comando abaixo, verá que não há a biblioteca mencionada:

    find . -type f -iname log4j-core*.jar 
  • Acesse o site https://log4j-tester.trendmicro.com e siga as instruções informando a url do seu sistema.


Caso use projeto High-Code, certifique-se que não foi incluída essa biblioteca na sua aplicação, caso sim, proceda com uma das correções sugeridas: 

* Os comandos abaixo são para servidores Linux, use comando equivalente no Windows;

  1. Atualize para Log4j mais recente (acompanhe as novas vulnerabilidades publicadas);
  2. Bloquear via WAF (caso possua um em seu ambiente On Premises);
  3. Se você estiver usando o Log4j v2.10 ou superior e não puder atualizar, defina a propriedade JVM flag:

    -Dlog4j2.formatMsgNoLookups=true 

    Além disso, uma variável de ambiente pode ser definida para essas mesmas versões afetadas (Log4j v2.10 ou superior):

    LOG4J_FORMAT_MSG_NO_LOOKUPS=true 
  4. Ou remova a classe JndiLookup, caso não utilize:

    zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class 
  5. Bloquear acesso ao servidor LDAP para o servidor de aplicação, caso seja possível.

 

Quer saber mais sobre essa vulnerabilidade? Acesse os links abaixo: 


O GitHub depreciou a autenticação com senha nos seus serviços, agora será necessário autorizar aplicativos e gerar um token exclusivo, acesse o tópico "Autenticação com o GitHub" em Versionamento usando Git e veja como é simples alterar o formato. 


Figura 1 - Autorizando o Cronapp 


Acabamos de publicar um tutorial mostrando em detalhes como funciona o novo sistema de compilação remota para aplicações iOS. Com ele, não será mais necessário utilizar o ambiente de desenvolvimento Xcode da Apple.  


Figura 1 - Janela de configuração da compilação remota iOS


O Github está descontinuando o mecanismo padrão de autenticação por senha a seus repositórios e passará a aceitar apenas autenticação OAuth e SSH, sendo assim, o Cronapp adicionou botões de "Autorizar no Github" em todos os locais que precisam de credenciais do Github. Ao pressionar esse botão, o usuário será levado para uma página do Github que então solicitará permissão para que o Cronapp acesse o repositório.  

Todos os usuários do Cronapp com projetos já criados e versionados no Github precisarão fazer a mudança das credenciais, acessando as propriedades do Projeto, ativando a aba Controle de Versão e, por fim, clicando em "Autorizar Github".


Figura 1 - Novo botão Autorizar GitHub


Nova notificação disponível

A notificação ganhou um novo layout mais robusto, agora será possível escolher qual animação será aplicada, se irá fechar sozinha e qual o posicionamento que ela aparecerá na tela. 


Figura 1 - Notificação de erro

Onde está disponível?

O bloco da nova notificação se chama: "Exibe notificação simples", e está localizada na aba chamada de notificações.

Onde está?

A nova notificação é um bloco cliente que poderá ser usada tanto na WEB quanto no MOBILE. 


Figura 2 - Bloco usado para gerar as notificações

Sobre as customizações

Estado:

Neste item poderemos escolher qual a finalidade da notificação, se é erro, sucesso, aviso ou informação. Cada estado possui uma cor e um ícone.


EstadoExemplo da notificação
Erro

Sucesso

Aviso

Informação


Animação e posicionamento na tela

Existe três tipos de animações: desaparecer (em inglês: fade), deslizar (em inglês: slide) e zoom (em inglês: zoom).

Já o posicionamento poderá ser escolhido a posição vertical que será no topo ou embaixo, e a posição horizontal que será na esquerda, centro ou direita.

Ocultar a notificação automaticamente

Agora é possível determinar se a notificação fechará após 5 segundos, ou se o usuário mesmo precisará fechá-la. Essa função facilita a visualização e leitura da notificação.


Recomendação

Vale ressaltar que a notificação tem como finalidade de apresentar um texto curto. Caso tenha necessidade de utilizar um texto maior, recomendamos o modal de confirmação.


Modal de confirmação

Nova opção de notificação, através do modal de confirmação é possível apresentar texto longo de forma mais agradável para o projetos WEB, tendo mais flexibilidade na quantidade de botões e ações. 


Figura 1 - Blocos de configurações do modal e do botão do modal


Onde está localizada?

O bloco do modal se chama: "Modal de confirmação, e está localizada na aba chamada de notificações.

Onde está?

A nova notificação é um bloco cliente WEB


Funções de customizações

Ícone:

Neste item poderemos escolher qual a finalidade do modal de confirmação, se é erro, sucesso, aviso ou informação. Cada estado possui uma cor e um ícone próprio.

ÍconeExemplo do modal de confirmação
Erro

Sucesso

Aviso

Informação

Lista de botões

Este campo permite adicionar quantos botões forem necessário, podendo colocar somente o bloco de botão do modal ou criar uma lista com vários botões como na imagem abaixo.


Figura 2 - Essa função chamará um modal com 2 botões: Cancelar e OK


O Cronapp adicionou o suporte a criação de fontes de dados do tipo Web Services (REST e SOAP). Com essa novidade será possível criar fontes de dados SOAP ou REST e alimentar componentes visuais com poucos cliques. 

Nas versões anteriores, as fontes de dados poderiam ser "Entidade" ou "Bloco de programação". A novidade é a implementação do novo tipo: Web Services. Ao selecionar o tipo Web Services, o campo ao lado passa a permitir edição e o usuário vai poder digitar uma URL REST ou uma URL de um wsdl SOAP. Através do assistente integrado, será possível extrair metadados do serviço e preencher automaticamente os dados necessários para a criação de uma fonte de dados no Cronapp.

Acesse a documentação da Fonte de Dados para mais detalhes.


Figura 1 - Fonte de dados com o novo recurso de Web Services


Foram lançados novos blocos de programação que permitem manipular cookies, tanto na camada cliente, quanto na servidor.  

Dois blocos foram adicionados em cada camada: Definir cookie (Figura 1) e Obter valor de um cookie (Figura 2). 


Figura 1 - Definir cookie. 


Figura 2 - Obter valor de um cookie. 



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


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