Blog

Agora é possível selecionar como deseja renderizar os relatórios (PDF ou HTML) e para quem exibir em seu projeto.

Para selecionar o tipo de renderização que o relatório deverá utilizar ao exibir o documento na aplicação, é necessário clicar em Segurança / Renderização.


Local onde selecionamos as opções de Segurança e Renderização


 Após abrir a janela, selecione o tipo de renderização desejado.


Seleção do tipo de renderização


Para selecionar as permissões que possam exibir o relatório, clique na imagem do cadeado ao lado do item Segurança e siga os passos abaixo.



Seleção de segurança


O Cronapp agora permite referenciar campos do próprio objeto ou de objetos relacionados como valor de campos calculados na Fonte de dados. Isso representa mais um facilitador no desenvolvimento, evitando consultas complexas ou programações extras.


Campos de objetos relacionados


Um caso muito frequente no uso desse artifício é em CRUDS com entidades País, Estado e Cidade. Normalmente, apenas mantemos o relacionamento com a Cidade. Afim de manter Caixas de Seleção Dinâmicas preenchidas, precisamos de referências às entidades Estado e Município. Algo que pode ser feito como segue:


Para cada cidade teremos também o nome do seu pais e a região do seu estado



Você não precisa mais de um Mac para compilar e distribuir sua aplicação, O Cronapp Studio agora fornece pra você um recurso completo para a compilação de seu aplicativo para a plataforma iOS e também sua publicação na Apple App Store.

Gere o .ipa do seu projeto e teste ele em minutos em seu próprio dispositivo. Para isso, importe da sua conta de desenvolvedor Apple as informações do seu App (.mobileprovision e certificado .p12).



Após a geração do seu aplicativo .ipa você poderá testá-lo diretamente no seu dispositivo ou publicá-lo na Apple App Store informando apenas os dados da sua conta.




O Cronapp disponibilizou novas propriedades para que seja possível mudar o tipo de autenticação após um projeto ser criado, elas são: Normal, Token, Active Directory, LDAP, Certificado Digital, Redes Social (Facebook, LinkedIn, Google e Github) Oauth2 e SAML. A partir de agora, em qualquer momento de desenvolvimento do projeto, pode-se alternar entre elas.


Figura 1 - Acesso as configurações de autenticação do projeto


O novo componente permite agendar eventos, inclusive com regras de recorrências, e exibi-los em diferentes formatos. O Agendador pode ser configurado e adaptado para contemplar as mais diversas necessidades do seu sistema.

Para mais detalhes, acesse a documentação do componente Agendador.


Componente visual Agendador



Os projetos criados no Cronapp permitirão um novo tipo de autenticação por modo Low-code, o SAML (Linguagem de Marcação para Autorização de Segurança).


Figura 1 - Configuração da autenticação SAML


Na janela de Configurações do Projeto, clique na aba Configurações do Projeto e selecione a opção SMAL no campo Autenticação para exibir a aba Configurações da Autenticação com os campos abaixo (Figura 1): 

  • ID da Entidade: Especifica o ID mencionado no URI e nos tokens;
  • URL de Metadados: Endereço do SAML 2.0 Identity Provider Metadata;
  • Arquivo de Chaves: Arquivo JKS com as chaves de assinatura;
  • Senha do Arquivo de Chaves: Senha do arquivo JKS com as chaves de assinatura;
  • Chave Privada: Alias da chave a ser usada para as assinaturas;
  • Senha da Chave Privada: Senha da chave a ser usada para as assinaturas.



Nova função: Promessa

Agora o Cronapp permite armazenar o retorno de operações assíncronas em uma promessa. Dessa forma, o retorno pode ser armazenado em uma promessa e ser resolvido ao obter o resultado em um evento, por exemplo, evento ao obter.

Os blocos de Promessas são do tipo cliente (web e mobile). 


Exemplo de uso dos blocos de Promessas


A fim de baratear o custo de publicação para nossos usuários, o Cronapp está disponibilizando mais uma opção de publicação de aplicações em instâncias Spot.



A instância spot é uma opção de compra que permite que um cliente compre a capacidade não utilizada do computador do fornecedor de cloud do Cloud Services a uma taxa altamente reduzida.  

Instâncias spot fornecem ao Cloud Services uma maneira flexível de vender sua capacidade extra. As instâncias são adquiridas através de um processo de leilão interno, através de uma precificação dinâmica ofertada ao fornecedor de cloud do Cloud Services.

Quando uma instância se torna disponível ao preço ofertado, a instância do cliente é executada. A instância é cortada quando o preço Spot aumenta e excede o lance da plataforma. Enquanto ele não cancela seu lance, a instância é reativada sempre que o preço cair novamente. As instâncias também podem ser encerradas quando o preço da oferta da plataforma for igual ao preço sob demanda (valor máximo). Isso pode acontecer quando a demanda por capacidade aumenta ou quando a oferta flutua.

Na prática, os preços das instâncias spot podem ser até 75% inferiores aos preços de instâncias comuns. 

Muito raramente a aplicação poderá cair, pois oferta de preço do Cloud Services é sempre o valor máximo da instância sob demanda. Se, em um caso raro, a aplicação cair, ela deverá retornar muito rapidamente sem que haja uma percepção por parte dos usuários.


Foram adicionadas 4 novas propriedades para facilitar a customização do componente Imagem dinâmica: qualidade, permitir edição, largura desejada, altura desejada.



Ao tirar a foto usando o Smartphone, a foto será manipulada de acordo com as propriedades definidas, note que isso não se aplica a fotos escolhidas da galeria, essas devem ser manipuladas previamente utilizando alguma ferramenta.


Novo ícone de ajuda

Disponibilizamos uma forma mais fácil de acessar a documentação, o ícone de ajuda, ao clicar você será redirecionado para a página específica da documentação referente ao conteúdo que você está trabalhando. O ícone se encontra no canto superior direito das janelas, ao lado do botão fechar.


Ao clicar no ícone de ajuda você será direcionado para a documentação do componente Grade




Podemos configurar nosso sistema para sempre que for iniciado, verificar se possui dados mínimos no banco de dados para permitir seu uso, caso contrário, o sistema irá popular automaticamente o banco de dados com as informações passada. Para saber mais, acesse a documentação do Arquivo populate json.


inserção automática do usuário admin no banco de dados



Lançamos uma documentação mostrando como analisar e solucionar alguns problemas que podem ocorrer ao utilizar os Serviços de Cloud do Cronapp. Acesse o link.


Janela de monitoramento de uma aplicação que utiliza os Serviços de Cloud




Acabamos de criar um tutorial completo com todos os passos necessários para publicar seu projeto mobile no Google Play. Acesse o link.


Publicação de App na loja do Google 




Recomenda-se o uso do CAPTCHA para evitar spams e impedir que softwares automatizados executem ações que degradam a qualidade de um serviço. Acesse o tutorial Configuração do Captcha para entender como configurá-lo em seu projeto.


Componente Captcha

O Cronapp agora permite rodar as aplicações geradas pela plataforma em qualquer máquina que disponha da instalação do Docker.

Requisitos:

  1. Docker Engine 

Passo a passo:

Exportar a aplicação:

  1. Na árvore de arquivos da IDE, clique no nome do projeto com o botão direito do mouse e nas opções apresentadas selecione Exportar.
  2. Selecione a opção WAR e avance até finalizar a exportação.
  3. Novamente na árvore de arquivos do Cronapp, clique no arquivo Dockerfile com o botão direito do mouse e nas opções apresentadas selecione Baixar.

Estrutura de pastas para organizar os arquivos

  1. No servidor, crie uma pasta com o nome cronapp (ou outro nome de sua preferência)
  2. Dentro da pasta cronapp crie uma pasta obrigatoriamente com o nome target e copie o WAR exportado para esta nova pasta
  3. Copie o Dockerfile previamente baixado para a raiz da pasta cronapp.

Seguindo corretamente as orientações, a estrutura de pastas deve ficar como a seguir:

  • cronapp [ diretório ]
    • Dockerfile
    • target [ diretório ]
      • projeto.war

Executar o BUILD da imagem

Na raiz da pasta cronapp execute o seguinte comando:

docker build -t cronapp/<nome aplicação>:<versão> .

Onde:

  1. <nome aplicação> é o nome que o usuário quiser dar à imagem. Ex.: cadastropessoas
  2. <versão> é a versão da imagem. Ex.: latest ou 1.0

Com as devidas substituições, o comando deve ficar mais ou menos como a seguir:

docker build -t cronapp/cadastropessoas:latest .

Rodar o BUILD da imagem

Após o build da imagem estar devidamente finalizado, o usuário deve rodar o seguinte comando para executar a aplicação:

docker run -it -p 8080:8080 cronapp/cadastropessoas:latest


Feito isso, o usuário pode acessar a aplicação normalmente no endereço do servidor através da porta 8080 (ex: https://endereço:8080).