Gestão de ficheiros de directório em projectos de servidores fundidos

Tradução automática de Deepl

Os projectos introduziram o novo ficheiro directory.json contendo utilizadores, grupos e permissões. Permite a autenticação, restrições, permissões em várias partes da aplicação, através de definições ou código. Vejamos as novas melhorias sobre a utilização deste ficheiro em projectos de servidores fundidos.

Lembrete

Num projecto, os utilizadores, grupos e algumas permissões são guardados no ficheiro do directório. Para se lembrar de como funciona, pode ler novamente este blog-post de apresentação ou ver este vídeo.

Ficheiros de directório

O ficheiro do directório do projecto é o ficheiro directory.json localizado na pasta de definições do utilizador do projecto (pasta de definições ao lado da pasta do projecto do projecto em utilização):

O ficheiro do directório de dados é o ficheiro directory.json localizado na pasta de definições do utilizador para dados (pasta de definições ao lado do ficheiro de dados em uso):
blank

O ficheiro do directório da aplicação é o ficheiro directory.json localizado na pasta de definições do utilizador da aplicação (pasta de definições dentro da pasta de base de dados do servidor da aplicação do servidor fundida):
blank

Incorporar o ficheiro durante o processo de pedido de construção

Até agora, era seu trabalho incluir um ficheiro de directório no servidor fundido, após o processo de construção da aplicação. Se não incluir um ficheiro de directório no pacote da aplicação ou junto ao ficheiro de dados, durante a execução, todos os utilizadores estão a utilizar a conta Designer com todos os seus direitos.
Assim, para que seja mais seguro e fácil, a partir da v19R5, uma nova chave buildApp está à sua disposição. Esta chave incorpora automaticamente o ficheiro do directório do projecto no servidor fundido durante o processo de construção da aplicação:

<BuildApp>
<CS>
<ServerEmbedsProjectDirectoryFile>True</ServerEmbedsProjectDirectoryFile>

Note-se que esta nova configuração também está disponível no diálogo Construir Aplicação:

blank

Comportamento do lado do servidor

O comportamento actual é mantido: o Servidor 4D carrega o ficheiro de directório de dados, se existir. Caso contrário, o ficheiro do directório da aplicação é carregado.
Mas a partir de agora, num projecto de servidor fundido, todas as modificações feitas aos utilizadores, grupos e permissões durante a execução são automaticamente armazenadas no ficheiro do directório de dados. O ficheiro do directório da aplicação nunca é tocado e pode ser considerado como um ficheiro do directório de inicialização. Isto garante que a assinatura da sua aplicação permanece segura em macOS, ou permite-lhe colocar a sua aplicação de servidor numa pasta só de leitura sem qualquer erro.
Na inicialização do servidor, se não existir nenhum ficheiro de directório de dados, os utilizadores, grupos e permissões armazenados no ficheiro de directório da aplicação, se existirem, são carregados. Depois, se forem efectuadas modificações nos utilizadores, grupos ou permissões, estas são armazenadas no ficheiro do directório de dados.

Contabilidade técnica

Os utilizadores e grupos são frequentemente utilizados como contas técnicas por programadores 4D. Isto pode ser feito utilizando a caixa de ferramentas, ou com código 4D, testando o nome do utilizador actual com Current user ou a filiação em grupo com User in group. Nesses casos, para garantir que estes utilizadores e grupos são persistentes, pode verificá-los no arranque do servidor, e as modificações subsequentes serão automaticamente armazenadas no ficheiro do directório de dados!

Avatar
• Proprietário do produto - Damien Fuzeau entrou ao time 4D Product em fevereiro de 2019. Como Proprietário do Produto, 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. Damien é formado em engenharia de software pela Universidade de Nantes. Trabalhou mais de 23 anos em sua empresa anterior, primeiro como desenvolvedor (descobrindo 4D em 1997), e mais tarde como gerente de engenharia e arquiteto de software. Essa empresa é um Partner OEM de 4D e lançou softwares empresariais baseados em 4D para milhares de usuários em centenas de servidores. Portanto Damien está acostumado ao desenvolvimento e lançamento de 4D em contextos multilinguais.