4D 20 R8 já está disponível e oferece um novo conjunto de caraterísticas 4D Qodly Pro para fortalecer suas aplicações web.
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, 4D Qodly Pro for 4D permite aproveitar a lógica de negócios existente desenvolvida para aplicações desktop.
É hora agora, com 4D 20 R8, de descobrir como implementar manipuladores de pedidos HTTP, trabalhar eficientemente com papéis e privilégios, e ganhar perfeição com UIs dinâmicas.
Manipuladores HTTP
Você já deve ter lido esse post de blog sobre manipuladores HTTP.
Com a introdução de HTTP Request Handlers no 4D HTTP Server, você pode definir com precisão qual lógica de negócios você quer acionar em relação a padrões específicos de URL.
Em relação a 4D Qodly Pro, as principais vantagens dessa caraterística são:
-
- Permitir um redirecionamento em uma página Qodly que abra novas perspectivas para estender aplicações 4D na web
-
- Configurar uma ação de navegação numa URL coberta pelos HTTP Request Handlers para que possa implementar a lógica de negócio relacionada (por exemplo, para fornecer algumas funcionalidades de download/upload de arquivos).
Esta caraterística é acoplada com a classe 4D.OutgoingMessage para uma experiência de utilizador suave.
Esse post do blog contém todos os detalhes de implementação e um exemplo concreto de 4D Qodly Pro no HDI.
Para facilitar o uso de HTTP Request Handlers em 4D Qodly Pro, é possível configurá-los em uma interface amigável. Para fazer isso, abra a secção HTTP Handlers no Explorer.
Quer esse tipo de recurso?
Veja o documento para aprender mais sobre HTTP Handlers e como começar a configurá-los!
funções e privilégios
Ter uma visão exata das ações permitidas para cada função
É possível que já tenha configurado funções e privilégios para proteger os seus dados contra o acesso malicioso.
Lembrete:
Os privilégios podem ser utilizados para controlar quem pode efetuar operações como criar, apagar, ler, executar, etc., na sua aplicação.
Pode definir funções para agregar vários privilégios, de modo a que as funções se ajustem às funções dos seus utilizadores na sua aplicação. Quando o utilizador iniciar sessão, utilize a função Session. setPrivilege(role ) para conceder a este utilizador o conjunto de privilégios correspondente
Assim, é conveniente ter uma visão global de todas as ações permitidas para uma determinada função (ou seja, um usuário final) e os dados envolvidos.
Utilize a nova página Roles (Funções) para rever instantaneamente as permissões de função resolvidas em relação aos recursos do datastore com base no conjunto de privilégios que definiu. Isto é útil para revisões e auditorias de segurança!
ver e limpar privilégios que envolvem recursos inexistentes
Durante o desenvolvimento da sua aplicação, é quase certo que irá alterar o nome de algumas classes de dados, atributos ou funções e eliminar alguns deles.
Os privilégios que envolvem esses recursos ficarão ineficazes. É importante manter as funções e os privilégios atualizados.
Agora, os privilégios que envolvem recursos não existentes têm uma renderização especial para chamar a sua atenção.
Também pode limpar todos eles graças ao botão Limpar.
Tratar estados para utilizadores autenticados / não autenticados
O editor de condições foi melhorado quando estão em causa privilégios.
Se tratar de uma autenticação, a sessão é associada a alguns privilégios durante esta fase de autenticação graças à função Session. setPrivileges().
Assim, quando o utilizador é autenticado, a sessão contém os privilégios associados à função do utilizador (ver a secção acima sobre Ter uma visão exata das ações permitidas para cada função).
Quando o utilizador não está autenticado, a sessão contém apenas o privilégio de convidado.
Ao lidar com estados no 4D Qodly Pro, é possível habilitar estados para usuários autenticados e não autenticados.
Para isso, escolha o tipo de Privilégio para a condição e use os operadores tem pelo menos um privilégio ou não tem privilégio.
tem pelo menos um privilégio significa que a sessão contém outros privilégios para além do privilégio de convidado (utilizador autenticado)
não tem nenhum privilégio significa que a sessão contém apenas o privilégio de convidado (utilizador não autenticado)
Pode então lidar com uma IU dinâmica:
ordenar uma grande quantidade de dados numa tabela de dados
Numa base de dados, pode selecionar um elemento e, posteriormente, ordenar os dados clicando num cabeçalho de coluna. Mas o que sai do elemento selecionado?
Estão agora disponíveis duas opções após a ação de ordenação:
– deslocar-se para o topo da base de dados (e manter o elemento selecionado)
– manter o foco no elemento selecionado
a caixa de verificação de três estados
Uma caixa de verificação deve estar ligada a uma fonte de dados booleana. Esta fonte de dados pode ser True ou False, mas também pode ser Null (por exemplo, um atributo booleano é Null numa entidade recém-criada).
Se este valor Nulo for relevante para a sua atividade, pode agora refletir este valor numa caixa de verificação de três estados.
Mostrar/ocultar dica de ferramenta para palavra-passe de entrada de texto
Oferecer ao utilizador final a possibilidade de ocultar ou mostrar uma palavra-passe enquanto a introduz é uma caraterística essencial da Web. Graças à nova propriedadeRevelar palavra-passe, pode agora fazê-lo.
Note que também pode escolher o posicionamento do ícone (direita ou esquerda).
cONCLUSÃO
Não espere mais para experimentar as novas funcionalidades de 4D Qodly Pro e tornar a sua aplicação web fácil de usar e poderosa!