QODLY STUDIO FOR 4D: O QUE HÁ DE NOVO NO 4D 20 R7

Temos certeza de que ficará satisfeito em explorar as novas caraterísticas que Qodly Studio for 4D traz com 4D 20 R7.

 

Continue descobrindo essa plataforma poderosa – uma solução robusta e fácil de usar para construir aplicações web de negócios com o mínimo esforço de codificação.

 

Integrado em 4D, Qodly Studio for 4D permite aproveitar a lógica de negócios existente desenvolvida para aplicações desktop.

 

Vamos mergulhar nos detalhes e ver como sua aplicação pode entregar mais do que apenas dados enquanto oferece uma interface de usuário dinâmica e forte proteção de dados com a configuração de privilégios.

 

 

ENTREGUE MAIS DO QUE DADOS COM A NOVA CLASSE 4D.IncomingMessage

 

Com sua app Qodly, agora pode facilmente habilitar downloads de arquivos para seus usuários finais.

 

Use a nova classe 4D.OutgoingMessage que sua aplicação pode recuperar através de uma chamada de função ORDA ou uma chamada de função singleton.

 

Isto leva ao retorno de conteúdos Web completos com um corpo, cabeçalhos HTTP e códigos de estado prontos para serem processados pelo browser.

 

Basta implementar uma função que devolva uma instância da nova classe 4D.OutgoingMessage classe, configurar a chamada de função e o navegador da Web manipula a classe 4D.OutgoingMessage classe automaticamente. Não são necessárias etapas adicionais!

 

Leia esta publicação do blogue para saber mais.

 

exemplo

 

No exemplo abaixo, a função getThumbnail() da classe de dados Products recebe como parâmetro um nome de produto, uma largura e uma altura. Ela retorna para o navegador uma instância da nova classe 4D.OutgoingMessage cujo corpo contém uma miniatura da imagem do produto com o tamanho necessário.

 

Observe o uso da palavra-chave new onHTTPGet palavra-chave. Se esta palavra-chave for aplicada a uma função, esta função pode ser chamada com um verbo GET! O download de um arquivo pode ser feito clicando simplesmente numa ligação.

 

Class extends DataClass


exposed onHTTPGet Function getThumbnail($name : Text; $width : Integer; $height : Integer) : 4D.OutgoingMessage
	
var $file:=File("/RESOURCES/Images/"+$name+".jpg")
var $image; $thumbnail : Picture
var $response:=4D.OutgoingMessage.new()
	
READ PICTURE FILE($file.platformPath; $image)
CREATE THUMBNAIL($image; $thumbnail; $width; $height; Scaled to fit)
$response.setBody($thumbnail)
$response.setHeader("Content-Type"; "image/jpeg")
	
return $response

 

É muito fácil configurar esta chamada de função no Qodly!

 

 

E aqui está o resultado em ação!

 

blank

 

novo evento OnPrivilegeChange

 

Se tiver configurado privilégios para proteger os seus dados, o acesso aos dados não é concedido se os privilégios adequados não estiverem na sessão.

 

Isso pode levar a cenários irritantes como este:

 

    • O usuário não está autenticado e a sessão não contém privilégios, fazendo com que o carregamento de uma fonte Qodly (referente a dados protegidos por permissões) no lançamento da aplicação falhe porque faltam os privilégios adequados

 

    • O usuário é autenticado, os privilégios adequados estão agora na sessão, mas… a aplicação não é notificada para carregar a fonte Qodly

 

 

 

Graças ao novo evento OnPrivilegeChange disponível na Página, pode desencadear uma ação (ação padrão, navegação ou chamada de função) quando os privilégios na Sessão no servidor tiverem mudado.

 

exemplo

 

No exemplo abaixo, a aplicação HealthCare tem um cabeçalho que apresenta estatísticas (número de médicos, número de doentes, …). Este cabeçalho também apresenta o médico principal (o médico que tem o maior número de consultas). Trata-se de uma fonte Qodly partilhada(mostBusyDoctor) carregada no arranque da aplicação.

 

Enquanto o utilizador não estiver autenticado, esta informação não está disponível porque não é concedido acesso para ler os médicos. Uma vez efetuada a autenticação, graças ao novo evento OnPrivilegeChange configurado na página de cabeçalho, esta fonte de dados pode ser carregada.

 

blank

 

E aqui está o resultado em ação; vejam o cabeçalho!

 

blank

 

Funções e privilégios – Mostrar/ocultar os privilégios herdados

 

Se já utilizou a interface Funções e Privilégios e configurou alguns privilégios aninhados, sabe que é bom ver quais as permissões que são herdadas de outros.

 

Mas, por vezes, tem de se concentrar numa vista mais simples, apenas com as permissões que definiu explicitamente para um privilégio.

 

Isso agora é possível. Basta ativar um botão de alternância para isso!

 

blank

 

Não espere mais para experimentar as novas funcionalidades de Qodly studio for 4D e tornar a sua aplicação web fácil de usar e poderosa!

Avatar
• Proprietário do produto - Marie-Sophie Landrieu -Yvert entrou ao time 4D Product como Proprietária do Produto em 2017. Como tal, está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais. Seu papel também é garantir que a implementação da funcionalidade entregue cumpra com as necessidades do cliente. Marie-sophie se formou na Escola de Engenharia de ESIGELEC e começou sua carreira como engenheira da IBM em 1995. Participou em vários projetos (de manutenção e criação) e trabalhou como desenvolvedora de Cobol. Depois trabalhou como designer de UML e desenvolvedora de Java. Suas principais funções foram analisar e redigir requisitos funcionais, coordenar os times de negócio e de desenvolvimento.