O que há de novo em 4D v18 R5

Tradução automática de Deepl

Classes de modelos de dados ORDA

Âmbito e contexto de execução das funções

Por defeito no modo cliente/servidor, as funções são executadas no servidor. Agora pode optar por executar algumas funções no cliente graças a uma nova palavra-chave: local. Também tem o poder de escolher quais as funções a publicar (ou não) como APIs para clientes REST com a nova palavra-chave: exposto.

Selecções de entidades partilháveis

Por vezes pode querer partilhar uma selecção de entidade com outro processo ou torná-la disponível para todos os processos. Por exemplo, imagine que está a efectuar uma consulta complexa para encontrar todas as facturas em atraso, permitir aos utilizadores finais seleccionar algumas (ou todas), e enviar um lembrete de pagamento por correio electrónico. O envio de emails é melhor feito noutro processo para evitar bloquear o utilizador. Em vez de construir uma lista de chaves primárias para passar para o outro processo, uma selecção de entidade partilhada pode ser directamente passada para outro processo. As selecções de entidades partilhadas podem até ser anexadas ao objecto de Armazenamento a ser partilhado com todos os processos.

Em resumo, uma selecção de entidade pode ser partilhável ou não partilhável:

  • Uma selecção de entidade partilhável pode ser armazenada num objecto partilhado ou numa colecção partilhada e pode ser partilhada entre vários processos ou trabalhadores. Não permite a adição de novas entidades. A tentativa de adicionar uma entidade a uma selecção de entidade partilhável desencadeará um erro.
  • Uma selecção de entidade não partilhável não pode ser partilhada entre processos, nem pode ser armazenada num objecto ou colecção partilhada. A tentativa de armazenar uma selecção de entidade não partilhável num objecto ou colecção partilhados desencadeará um erro. Contudo, uma selecção de entidade não partilhável aceita a adição de novas entidades.

Editor de formulários

Pré-visualização do CSS no editor de formulários

Pode agora pré-visualizar a renderização final do CSS no editor de formulários. Está disponível um novo ícone na barra de ferramentas que lhe permite visualizar o seu formulário com ou sem a renderização CSS, mostrando mesmo o seu aspecto com a renderização CSS específica em Mac ou Windows. Quanto às propriedades de sobreposição no modo CSS, um novo tipo de escudo (semelhante aos escudos para Método de Objecto ou Ordem de Entrada) é exibido no editor de formulários. Agora é fácil de ver quais os objectos que são afectados por um CSS.

Macros

As macros estão agora disponíveis no editor de formulários. Com uma macro de formulário, pode:

  • Modificar, apagar, ou adicionar uma propriedade a um ou mais objectos
  • Adicionar ou apagar um ou mais objectos de formulário com o seu método associado
  • Seleccionar ou anular a selecção de objectos de formulário no editor
  • Mostrar um diálogo modal para introduzir um parâmetro na mosca
  • Calcular a posição ideal dos objectos de forma e movê-los
  • Criar uma classe CSS a partir de um objecto de formulário para usar como modelo
  • Verificar se os caminhos de imagem na forma são válidos
  • Abra ficheiros CSS no seu editor CSS em vez de procurar ficheiros no disco
  • Verificar se as referências XLIFF têm a sua correspondência nos ficheiros XLIFF
  • e muito mais!

As macros de formulário estão disponíveis a partir do menu contextual. As macros da base de dados anfitriã são exibidas primeiro, seguidas pelas macros componentes. Para executar uma macro, basta clicar no item do menu. Para criar macros de formulário, basta declará-las num ficheiro formMacros.json no primeiro nível da pasta Sources do seu projecto.

Novo comando para abrir o editor de formulários

Está disponível um novo comando 4D para abrir um formulário no editor de formulários. Isto pode ser especialmente útil para ferramentas de análise ou introspecção. O novo comando é chamado: EDITOR DE FORMULÁRIO.

4D para iOS

Ligação profunda

A ligação profunda permite-lhe partilhar um URL. Clicando no URL abrirá directamente um registo específico numa aplicação 4D para iOS. Em combinação com notificações push, pode informar os vendedores sobre uma nova cotação ou agentes de seguros sobre um novo caso. Um único clique abre directamente a aplicação e mostra o registo apropriado.

Sincronização de dados optimizada

4D para o processo de sincronização de dados iOS foi optimizado, dando-lhe uma sincronização de dados até 25 vezes mais rápida.

Características relacionadas com a programação

Parâmetros de nomenclatura para funções e métodos

Não há necessidade de passar por uma variável intermédia, pode agora nomear os seus parâmetros e resultados ao declarar a:

  • método do projecto,
  • gatilho,
  • método da base de dados,
  • método de formulário,
  • construtor de classes,
  • função de classe.

Depurador remoto

Esta funcionalidade permite-lhe decidir onde quer depurar o seu código de servidor (no lado do cliente ou no lado do servidor).

Dois novos itens de menu foram adicionados (em ambos os lados) para gerir o anexo do depurador:

  • Anexo / Depurador de depuração: Anexar ou destacar instantaneamente o depurador para o seu cliente ou servidor.
  • Anexe o depurador no arranque: Anexe o depurador quando iniciar o seu cliente ou servidor.

Tenha em mente que o depurador só pode ser anexado a uma única instância de 4D de cada vez. Por exemplo, se tentar anexar o depurador ao seu servidor sem o separar do cliente, aparece uma mensagem de erro com informação sobre o proprietário do depurador.

E para o ajudar a diferenciar se o depurador ou as janelas de erro são do servidor ou do cliente, alterámos o aspecto destas janelas.

Características relacionadas com a implantação

Personalizar a pasta de cache 4D para servidor 4D fundido

Se a sua máquina aloja uma aplicação de servidor fundida construída com diferentes versões 4D, poderá encontrar problemas devido à pasta de estrutura 4D partilhada. A fim de evitar a partilha desta pasta de sistema entre aplicações de servidor fundidas construídas com diferentes versões 4D, pode agora definir o nome da pasta durante o processo de construção da aplicação com a nova chave buildApp para definir a sua própria pasta de estrutura.

Personalizar a pasta de cache 4D para clientes 4D fundidos

A ligação da sua aplicação remota a vários servidores pode por vezes resultar na obtenção de uma grande pasta de recursos locais no sistema que pode consumir tempo, volume, e rede. Agora tem a capacidade de partilhar a mesma pasta de recursos locais entre todos os servidores idênticos com a nova chave buildApp para partilhar a pasta de recursos locais.

Integrar o diário sem abortar no primeiro erro

Ao executar o Servidor 4D em produção, tudo deve ser totalmente automático sem necessidade de um administrador. Isto é especialmente importante com a Actualização Automática e o funcionamento em modo sem cabeça. Após uma perda ou falha de energia, pequenos erros no diário podem parar um Servidor 4D reiniciado automaticamente. Uma nova opção permite agora suprimir as mensagens de erro não crítico (mas ainda reportando-as num registo), reduzindo o tempo de inactividade do sistema.

Emails (IMAP)

Pesquisar e descarregar e-mails

A pesquisa permite recuperar uma lista de mensagens com base em critérios tais como todos os e-mails não lidos ou todos os e-mails de uma pessoa específica dentro das últimas 4 semanas. O comando devolve uma colecção de IDs de correio, que podem ser utilizados directamente pelo novo método getMails para os descarregar.

Copiar, mover e apagar e-mails

Três novas funções foram adicionadas ao transportador IMAP: copiar(), mover(), e apagar().

Caixa de listagem

Tipo melhorado à frente

Normalmente, uma caixa de listagem só recebe eventos de teclas em modo de edição. Contudo, isto impede que seja utilizada para filtrar automaticamente a lista ou seleccionar uma entrada quando um utilizador estava a utilizar o teclado e uma caixa de listagem não-inscrevível.

Agora, o evento On before Keystroke é gerado assim que a caixa de listagem tem foco e uma tecla é digitada, mesmo que os dados não estejam a ser introduzidos numa célula. Isto permite a 4D saber que teclas foram premidas e torna possível (por programação) tomar decisões tais como iniciar uma nova pesquisa ou alterar a selecção actual.

O novo comando Is editing text foi adicionado para ajudar a determinar se existe uma entrada contínua quando o evento On antes do toque da tecla é gerado. Por exemplo, permite que uma caixa de listagem seja editável – e ainda suporta características do tipo “type-ahead”. On antes do pressionamento da tecla e On depois dos eventos de pressionamento da tecla suportam agora diálogos de ajuda do sistema para seleccionar diacríticos tais como é, ä, ou caracteres asiáticos. O evento é adiado até o utilizador final seleccionar os caracteres finais. Não há necessidade de ser o próprio utilizador a tratar disto.

4D Write Pro

Seleccionar carácter para separador decimal

Se tiver documentos de várias fontes, os números podem não estar formatados correctamente para as suas necessidades. Agora, 4D Write Pro permite-lhe especificar esta configuração para cada documento. Pode optar por alinhar os números para:

  • o ponto,
  • a vírgula,
  • o primeiro separador encontrado (ponto ou vírgula),
  • ou o separador definido no sistema operativo.

A fim de maximizar a compatibilidade (com o MS Word em particular), a opção #3 é utilizada por defeito na criação de novos documentos. Ao migrar documentos 4D Write para 4D Write Pro, o separador definido pelo sistema é utilizado por defeito.

Gerir hífenes suaves

A inserção de soft-hyphens foi simplificada, fornecendo novas acções padrão, bem como novos botões nos widgets da Interface 4D Write Pro.

Duas novas acções standard estão à sua disposição:

  • insertSoftHyphen
  • removeSoftHyphens

A funcionalidade foi também adicionada aos widgets da Interface 4D Write Pro tanto no widget da barra de ferramentas como no widget da barra lateral.

Seleccione as páginas a mostrar

4D mostra apenas as páginas mencionadas na colecção, na ordem da colecção. Isto permite reduzir o conjunto de características para o tornar mais simples para o utilizador final. Se apenas forem necessárias opções de estilo, é melhor nem sequer mostrar todas as outras funcionalidades. Agora, o widget 4D Write Pro oferece a possibilidade de seleccionar quais as páginas a exibir com o novo método de componentes WP ShowTabPages. Basta passar o nome do widget e uma colecção de páginas para exibir quando se chama o método.

4D Ver Pro

Fórmulas 4D em folhas de cálculo

O comando VP SET CUSTOM FUNCTIONS permite-lhe criar funções personalizadas em 4D View Pro para executar uma fórmula 4D. Não é necessário criar um método para usar uma variável simples em 4D View Pro, basta passá-la como parâmetro para a sua Fórmula. Além disso, o comando simplifica o tipo – frente para o utilizador final, fornecendo texto de ajuda e nomes de parâmetros. Em grandes estruturas, este comando é muito mais rápido do que utilizar o comando genérico SET FIELD TITLES.

Quer saber mais? Leia todos os posts do blogue sobre 4D v18 R5