Novidades em 4D v18 R4

ORDA Classes

ORDA torna possível a criação de classes de função de alto nível acima do modelo de dados. Isso permite que crie código orientado a negócio para esconder complexidades, reduzir erros e acelerar o processo de desenvolvimento. Além disso, pode expor seu projeto do mesmo jeito que um API com um REST server.

ORDA Classes para gerenciar o modelo de dados

A estrutura de ORDA (datastore, dataclass, entidade, seleção de entidade) é feita de objetos declarados vinculados às classes ORDA. Isso significa que pode escrever funções para ocultar a complexidade da implementação física de seus dados. 

Classes ORDA são automaticamente disponíveis com projetos aplicação. 4D cria automaticamente:

  • DataStore: para implementar funções relacionadas ao datastore
  • Classe de DataClass: para implementar funções relacionadas a dataclass
  • Classe de Entidade: Para implementar funções relacionadas a uma entity
  • Classe EntitySelection: Para implementar funções relacionadas a uma entity selection

 

CLASSES DE ORDA de modelos de dados e REST

Pode chamar funções de classe definidas pelo modelo de dados ORDA através de suas petições REST para que possa se beneficiar da API exposta do projeto de aplicação 4D objetivo. Lembre que as funções sempre devem ser invocadas usando petições REST POST.

 

FUNCIONALIDADES RELACIONADAS A PROGRAMAÇÃO

dESENVOLVIMENTO CÓDIGO SERVIDOR 

O desenvolvimento e a depuração de código de servidor em aplicações projeto ficam mais simples. Para poupar tempo e evitar ter que reiniciar sua aplicação servidor depois de uma modificação código (em modo standalone),quando conectar um 4D Remoto no mesmo computador que no 4D Server, o remoto tem o poder de modificar os arquivos de projeto (código, formulários, recursos, etc).

Quando um cliente 4D Developer conecta a um 4D Server no mesmo computador, o arquivo .4DZ não é transferível do servidor ao cliente. O 4D Remoto gerencia os arquivos do projeto (métodos, formulários, recursos, etc) como se fosse um cliente monousuário. Os arquivos do projeto são partilhados por 4D Server e 4D Remote. Dessa maneira, pode modificar o seu código e testá-lo na hora.

Se quiser que o servidor recarregue os arquivos modificados, mude o ambiente de desenvolvimento para modo aplicação, mova o Servidor 4D para a frente ou selecione o item de menu “File / Save all”  no 4D Remote (ou use o novo comando RELOAD PROJECT).

Lembre que rodar um método no lado do cliente automaticamente realiza uma ação “save all” e como resultado recarrega os arquivos modificados no lado servidor.

acesso aos valores de objeto formulário através de programação

Dois novos comandos estão disponíveis para ajudar a acessar aos valores de objetos formulários, independente de ser uma variável ou expressão: OBJECT Get valueOBJECT SET VALUE. Para obter o valor de um objeto formulário, use o comando OBJECT Get value e passe o nome do seu objeto formulário como um parâmetro. Da mesma forma, se precisar estabelecer o valor de um objeto formulário, use o comando OBJECT SET VALUE e passe o nome e o novo valor como parâmetros.

 

Nova sintaxe de declaração 

Uma nova sintaxe para declarar suas variáveis está disponível. Usa a palavra chave var, o nome da variável e seu tipo. A nova sintaxe permite melhorar autocompleção quando declarar suas variáveis. Pode declarar variáveis usando a sintaxe clássica ou a nova sintaxe no mesmo banco de dados.

 

Compatibilidade com Cross-origin resource sharing (CORS)

O protocolo CORS previne que uma página web faça petições a outros domínios diferentes do seu próprio. Entretanto, se precisar permitir que outros sites façam petições HTTP para seu servidor para obter ou enviar dados, agora é possível:

  • com programação: use os comandos WEB SET OPTION e WEB Server. Usam parâmetros de domínio para permitir ações específicas (GET, POST, HEAD, PUT) 
  • com database settings: graças às opções disponíveis na janela Settings> Web > Options (II).

 

Listbox

disponibilidade das funcionalidades list box Pro

Não é mais necessário ter uma licença 4D View Pro para usar funcionalidades avançadas como list boxes. Agora são gratuitas! Nada lhe impede de usar as list boxes que podem:

  • adaptar-se automaticamente à altura de cada linha e seu conteúdo (de forma que o texto completo ou imagem possa ser exibido/a),
  • usar arrays de objetos em colunas (para que possa digitar e exibir vários tipos de valores nas linhas de uma única coluna list box). 

 

estabelecer linhas móveis por código

No caso de list boxes array-based, pode definir (em modo Design) se usuários finais podem mover linhas (ou seja reordenar ou agrupar linhars, etc). Os comandos LISTBOX SET PROPERTY e LISTBOX Get property foram atualizados para serem compatíveis com a nova propriedade: lk movable rows.

 

AdministraÇâo

dar permissões aos usuários dinamicamente

Depois da habilidade de usar seu próprio sistema de manejo de usuário final e do comando SET USER ALIAS, adicionamos a habilidade de gerenciar permissões de usuário final. O novo comando SET GROUP ACCESS permite que estabeleça um grupo de filiações dinamicamente. 

Email

Receber emails usando IMAP

Em 4D v18, introduzimos uma nova maneira de enviar emails. Depois, em 4D v18 R2, adicionamos um novo jeito de recuperar emails usando POP3. Agora em 4D v18 R4, tomamos os primeiros passos para manejar o protocolo IMAP. Como fizemos com SMTP e POP3, há um novo comando IMAP New transporter para manejar o protocolo IMAP. Adicionamos comandos para escolher uma caixa de correio e baixar um mail. Mais comandos para outras funcionalidades IMAP vão chegar com futuros Lançamentos de Funcionalidades.

4D for iOS

Push

Notificações Push – Empurrar – estão disponíveis com 4D for iOS. Oferecem informações relevantes aos usuários para encorajá-los a se relacionar com o app. Simplesmente defina uma mensagem de notificação push e um título, e 4D for iOS vai lidar com o processo de envio para você.

Além disso, quando as notificações push estão ativadas para um app instalado em seu iPhone, também obtém as notificações em seu Apple Watch!

 

autenticação de Email

4D for iOS permite determinar a autenticidade e legitimidade da pessoa tentando fazer login no seu app verificando se o email vem de onde diz que vem. Basicamente, o processo atualiza o status da sessão de usuário para dar a eles acesso à aplicação:

  • Quando um usuário digitar seu endereço de email no formulário login e clicar no botão Login, o estado de sua sessão é atualizado para “pendente”.
  • Um email de validação é então enviado para o usuário que vai clicar no link de validação para atualizar seu estado de “pendente” a “aceito”.
  • Quando o processo de validação estiver completo, o usuário pode reabrir o app e como o estado de sessão é “aceito”, o acesso é fornecido.

O componente que lida e torna o processo mais fácil também está disponível para que possa adaptar a autenticação para se conformar a suas necessidades.

 

construir modelos de formulário detalhes

Pode arrastar quantos campos quiser para seu modelo de formulário detalhe porque agora eles são roláveis. Há várias maneiras de adicionar seus campos aos formulários detalhes:

  • Selecione um modelo em branco no qual pode soltar todos os campos sem restrições ou,
  • Arraste e solte campos em qualquer parte da vista para adicionar e exibí-los logo que o último campo seja adicionado ou entre dois campos já exibidos, ou
  • Dê duplo clique no campo. Seu campo será adicionado para o final da lista, ou
  • Dê um clique direito em um dos campos disponíveis na tabela Fields na esquerda. Isso exibe um menu que permite adicionar qualquer campo faltante no formulário Detalhado.

 

Segurança

Nova classe Cryptokey

Uma nova classe fornecendo um conjunto de métodos para realizar operações comuns de criptografia (tais como assinatura, verificação, criptografia e descriptografia) já está disponível: Classe CryptoKey. Fornece uma maneira de proteger a confidencialidade de nossos dados, assim como verificar a integridade das mensagens e a autenticidade do remetente. Poderia ser usado para:

  • Confidencialidade: protege dados de acesso sem autorização
  • Integridade: assegura que os dados estejam completos e corretos
  • Autenticidade: valida a autenticidade do remetente ou recebedor de uma mensagem

relatório rápido

Compatibilidade de estruturas virtuais

Usar a estrutura virtual em Quick Reports já é possível. Ela permite estabelecer nomes de tabela e campo alternativo (aliases) para fazer com que sejam mais fáceis de ler para o usuário final. 

 

4D write Pro

exportar diretamente para PDF

Sem precisar de instalação de print drivers ou de software adicional, os documentos 4D Write Pro podem ser exportados diretamente para o formato PDF. A exportação direta é mais rápida e consistente que usar um print driver e dá mais controle sobre o resultado. Além de ser compatível com hyperlinks, permite otimizar o tamanho da imagem e muito mais. O comando WP EXPORT DOCUMENT foi atualizado para aceitar uma nova constante: wk pdf.

Fórmulas: comportamento de retorno de carro

Está disponível uma nova propriedade que define como funciona o retorno de carro : wk break paragraphs in formulas. Têm dois valores possíveis:

  • wk true: interpretado como quebras de parágrafo.
  • wk false: (valor padrão) interpretado como quebras de linha.

importar e exportar do widget 4D Write Pro

Uma nova aba está disponível no widget de interface 4D Write Pro permitindo importar e exportar documentos em formatos diferentes. 

4D View Pro

área Offscreen

Já existe um novo comando para manipular comandos e funções 4D View Pro em uma área offscreen: VP Run offscreen area. Para usar o comando, simplesmente passe a informação da área em parâmetro (por exemplo o nome da área e o método chamados quando um evento é jogado pela área  4D View Pro).

fusionar e de-fusionar células

Um novo conjunto de comandos está pronto para ajudar a fusionar e separar grupos de células por programação:

  • Para criar uma célula fusionada: defina uma range (seleção) com todas as células que queira combinar, passe para o parâmetro do novo comando VP  ADD SPAN que combina as células em um único conjunto de células.
  • Use o comando VP Get spans para recuperar todas as células fusionadas.
  • Remova as células fusionadas em seu documento com o comando VP REMOVE SPAN.

   
fórmulas: Recalcular, suspender e reiniciar

Três novos comandos estão disponíveis, permitindo ativar os cálculos das fórmulas quando quiser:

  • VP RECOMPUTE FORMULAS – recalcula fórmulas quando os dados mudam.
  • VP SUSPEND COMPUTINGVP RESUME COMPUTING – permite respectivamente suspender e reiniciar ´cálculos.
 
 

Quer saber mais? Leia todos os blog posts de 4D v18 R4