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!
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.
E aqui está o resultado em ação; vejam o cabeçalho!
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!
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!