Saltar para o conteúdo principal
Versão: v20 R3

Arquitetura de um projeto 4D

Um projeto 4D é composto por várias pastas e arquivos, armazenados numa pasta raiz do projeto (pasta de pacotes). Por exemplo:

  • MyPackage (pasta de raiz do projeto)
    • Componentes
    • Dados
      • Logs
      • Settings
    • Documentation
    • Plugins
    • Project
      • DerivedData
      • Sources
      • Trash
    • Resources
    • Settings
    • userPreferences.username
    • WebFolder

Se o seu projeto tiver sido convertido a partir de uma base de dados binária, poderão existir pastas adicionais. Consulte "Conversão de bases de dados em projetos" em doc.4d.com.

Pasta Project

A pasta Project contém normalmente a seguinte hierarquia:

  • applicationName.4DProject file
  • Sources
    • Classes
    • DatabaseMethods
    • Página Métodos
    • Formulários
    • TableForms
    • Triggers
  • DerivedData
  • Trash (se houver)

applicationName.4DProject file

Arquivo de desenvolvimento do projeto, utilizado para designar e lançar o projeto. Esse arquivo pode ser aberto por:

Nota: nos projetos 4D, o desenvolvimento se realiza com 4D Developer e o desenvolvimento multiusuários se gerencia através das ferramentas de controle de versão. 4D Server pode abrir arquivos .4DProject para fins de teste.

Este ficheiro texto também pode conter chaves de configuração, em particular "tokenizedText": false.

Sources

ConteúdosDescriçãoFormato
catalog.4DCatalogDefinições de tabelas e camposXML
folders.jsonDefinições de pasta do ExplorerJSON
menus.jsonDefinições de menusJSON
settings.4DSettingsPropriedades de la base Structure. Não são tidas em conta se forem definidas os parâmetros usuário ou parâmetros usuário para dados (ver também Prioridade dos parâmetros . Aviso: nas aplicações compiladas, os parâmetros de estrutura são armazenadas no ficheiro .4dz (só de leitura). Para necessidades de implantação, é necessário ativar e utilizar parâmetros usuário ou parâmetros usuário para dados para definir parâmetros personalizados.XML
tips.jsonDicas definidasJSON
lists.jsonListas definidasJSON
filters.jsonFiltros definidosJSON
styleSheets.cssFolhas de estilo CSSCSS
styleSheets_mac.cssFolhas de estilo css para Mac (de um banco de dados binário convertido)CSS
styleSheets_windows.cssFolhas de estilo css em Windows (de um banco de dados binário convertido)CSS

DatabaseMethods

ConteúdosDescriçãoFormato
databaseMethodName.4dmMétodos de projeto definidos na database. Um ficheiro por método base de dadostext

Página Métodos

ConteúdosDescriçãoFormato
methodName.4dmMétodos de banco definidos na database. One file per database methodtext

Classes

ConteúdosDescriçãoFormato
className.4dmMétodo de definição de classe usuário, que permite instanciar objetos específicos. Um arquivo por classe, o nome do arquivo é o nome da classetext

Formulários

ConteúdosDescriçãoFormato
formName/form.4DFormDescrição do formulário projetojson
formName/method.4dmMétodo formulário projectotext
formName/Images/pictureNameImagem estática do formulário projetopicture
formName/ObjectMethods/objectName.4dmMétodos objecto. Um arquivo por método objetotext

TableForms

ConteúdosDescriçãoFormato
n/Input/formName/form.4DFormDescrição do formulário de entrada da tabela (n é o número da tabela)json
n/Input/formName/Images/pictureNameImagens estáticas do formulário de entrada da tabelapicture
n/Input/formName/method.4dmMétodo do formulário de entrada da tabelatext
n/Input/formName/ObjectMethods/objectName.4dmMétodos objeto do formulário de entrada. Um arquivo por método objetotext
n/Output/formName/form.4DFormDescrição do formulário de saída da tabela (n é o número da tabela)json
n/Output/formName/Images/pictureNameImagens estáticas do formulário de saída da tabelapicture
n/Output/formName/method.4dmMétodo do formulário de saída da tabelatext
n/Output/formName/ObjectMethods/objectName.4dmMétodos objeto do formulário de saída. Um arquivo por método objetotext

Triggers

ConteúdosDescriçãoFormato
table_n.4dmMétodos trigger definidos na database. Um arquivo de acionamento por tabela (n é o número da tabela)text

Nota: A extensão de arquivo .4dm é um formato de arquivo baseado em texto, que contém o código de um método 4D. É compatível com as ferramentas de controlo da versão.

Trash

A pasta Trash contém métodos e formulários eliminados do projeto (se existirem). Pode conter as seguintes pastas:

  • Página Métodos
  • Formulários
  • TableForms

Dentro destas pastas, os nomes dos elementos eliminados estão entre parênteses, por exemplo, "(myMethod).4dm". A organização das pastas é idêntica à da pasta Sources.

DerivedData

A pasta DerivedData contém dados em cache usados internamente por 4D para otimizar o processamento. É criado ou recriado automaticamente quando necessário. Você pode ignorar essa pasta.

Libraries

Esta pasta é utilizada apenas no macOS.

A pasta Librairies contém o ficheiro resultante de uma compilação com o compilador Silicon no macOS.

Resources

A pasta Resources contém todos os arquivos e pastas de recursos personalizados do projeto. Nesta pasta, pode colocar todos os ficheiros necessários para a tradução ou personalização da interface da aplicação (arquivo imagem, arquivo texto, arquivo XLIFF, etc.). 4D usa mecanismos automáticos para trabalhar com o conteúdo desta pasta, em particular para a manipulação de ficheiros XLIFF e imagens estáticas. Para utilizar no modo remoto, a pasta Recursos permite-lhe partilhar arquivo entre o servidor e todas as máquinas clientes. Consulte o Manual 4D Server.

ConteúdosDescriçãoFormato
itemArquivos e pastas dos recursos do banco de dadosvários
Images/Library/itemImagens da biblioteca de imagens como arquivo separados(*). Os nomes destes itens tornam-se nomes de arquivo. Se existir uma duplicação, é acrescentado um número ao nome.picture

(*) apenas se o projeto tiver sido exportado de um banco de dados binário .4db.

Dados

A pasta Data contém o ficheiro de dados e todos os arquivo e pastas relacionados com os dados.

ConteúdosDescriçãoFormato
data.4dd(*)arquivo de dados que contém os dados introduzidos nos registos e todos os dados pertencentes aos registos. Quando abre um projeto 4D, a aplicação abre o arquivo de dados atual por defeito. Se alterar o nome ou a localização deste arquivo, aparecerá a caixa de diálogo Abrir arquivo de dados para que possa selecionar o arquivo de dados a utilizar ou criar um novobinary
data.journalCriado apenas quando a base de dados utiliza um ficheiro de registo. O arquivo de registo é utilizado para garantir a segurança dos dados entre cópias de segurança. Todas as operações efectuadas sobre os dados são registadas sequencialmente neste arquivo. Por conseguinte, cada operação sobre os dados provoca duas acções simultâneas: a primeira sobre os dados (a expressão é executada normalmente) e a segunda no ficheiro de registo (é registada uma descrição da operação). O arquivo de registo é construído de forma independente, sem perturbar ou atrasar o trabalho do utilizador. Uma base de dados só pode trabalhar com um único arquivo de registo de cada vez. O arquivo de registo regista operações como adições, modificações ou eliminações de registos, transacções, etc. É gerado por defeito quando é criada uma base de dados.binary
data.match(interno) UUID correspondente ao número da tabelaXML

(*) Quando o projeto é criado a partir de uma base de dados binária .4db, o arquivo de dados não é alterado. Assim, pode ter um nome diferente e ser colocado noutro local.

Settings (dados do usuário)

Esta pasta contém as definições do utilizador para os dados utilizados para a administração da aplicação.

Estas definições têm prioridade sobre as definições do usuário e as definições da estrutura. Ver também Prioridade das definições.

ConteúdosDescriçãoFormato
directory.jsonDescrição de os grupos e usuários de 4D e seus direitos de acesso quando o banco for lançado com este arquivo de dados.JSON
Backup.4DSettingsParâmetros de cópia de segurança do banco de dados, utilizados para definir as opções de cópia de segurança) quando o banco de dados for lançado com este arquivo de dados. As teclas relativas à configuração da cópia de segurança são descritas no manual 4D XML Keys Backup .XML
settings.4DSettingsPropriedades personalizadas de o banco de dados para este arquivo de dados.XML

Logs

A pasta Logs contém todos os arquivos de registo utilizados pelo projeto. Os arquivos de registro incluem, em particular:

  • conversão da base de dados,
  • pedidos do servidor Web,
  • Diário de actividades de cópia de segurança/restauro (Diário de cópia de segurança[xxx].txt, ver Diário de cópia de segurança)
  • depuração de comandos,
  • 4D Pedidos do servidor (gerados em máquinas clientes e no servidor).

Uma pasta Logs adicional está disponível na pasta de preferências do usuário do sistema (pasta 4D ativa, ver Obter pasta 4D comando) para os arquivos de registro de manutenção e nos casos em que a pasta de dados for de apenas leitura.

Settings (usuário)

Esta pasta contém as definições do utilizador **** utilizadas para a administração da aplicação.

Estas definições têm prioridade sobre o arquivo structure settings. No entanto, se existirem definições do utilizador para os dados , estas têm prioridade sobre as definições do utilizador. Ver também Prioridade das definições.

ConteúdosDescriçãoFormato
directory.jsonDescrição dos grupos e usuários de 4D para o banco de dados, assim como seus direitos de acessoJSON
Backup.4DSettingsDefinições de cópia de segurança da base de dados, utilizadas para definir as opções de backup) quando cada cópia de segurança é iniciada. Este ficheiro também pode ser utilizado para ler ou definir opções adicionais, tais como a quantidade de informações armazenadas no diário de cópia de segurança. As teclas relativas à configuração da cópia de segurança são descritas no manual 4D XML Keys Backup .XML
BuildApp.4DSettingsarquivos de definições de construção, criado automaticamente quando se utiliza a caixa de diálogo do construtor de aplicações ou o comando BUILD APPLICATIONXML
settings.4DSettingsDefinições personalizadas para este projeto (todos os arquivos de dados)XML
logConfig.jsonarquivos de configuração personalizado do registojson

userPreferences.<em x-id="3">userName</em> folder

Esta pasta contém arquivos que memorizam as configurações do usuário, por exemplo, o ponto de ruptura ou as posições das janelas. Pode simplesmente ignorar esta pasta. Contém, por exemplo:

ConteúdosDescriçãoFormato
methodPreferences.jsonPreferências do utilizador atual do Editor de códigoJSON
methodWindowPositions.jsonPosição da janela do usuário atual para os métodosJSON
formWindowPositions.jsonPosição da janela do usuário atual para os formuláriosJSON
workspace.jsonLista de janelas abertas; no macOS, ordem das janelas do separadorJSON
debuggerCatches.jsonChamadas aos comandosJSON
recentTables.jsonLista ordenada de tabelasJSON
preferences.4DPreferencesRota de dados atual e posições da janela principalXML
CompilerIntermediateFilesarquivos intermédios resultantes da compilação do Apple SiliconFolder

Componentes

Esta pasta contém os componentes que devem estar disponíveis unicamente no banco de dados projeto. Deve ser armazenado ao mesmo nível que a pasta Project.

Uma aplicação projeto pode ser utilizada como um componente: - para desenvolvimento: colocar um alias do ficheiro .4dproject na pasta Components do projeto host. - para implantação: construir o componente e colocar o arquivo .4dz resultante numa pasta .4dbase na pasta Components da aplicação anfitriã.

Plugins

Esta pasta contém os plug-ins que devem estar disponíveis no projeto de aplicação. Deve ser armazenado ao mesmo nível que a pasta Project.

Documentation

Esta pasta contém todos os arquivo de documentação (.md) criados para os elementos do projeto, tais como classes, métodos ou formulários. Os arquivo de documentação são geridos e apresentados no Explorer 4D.

Para mais informações, consulte Documentar um projeto.

WebFolder

Pasta raiz padrão do servidor Web 4D para páginas, imagens, etc. É criado automaticamente quando o servidor Web é iniciado pela primeira vez.

arquivo .gitignore (opcional)

Ficheiro que especifica quais os ficheiros que serão ignorados pelo git. Pode incluir um arquivo gitignore nos seus projetos utilizando a opção Criar arquivo .gitignore na página Geral das preferências. Para configurar o conteúdo desse arquivo, consulte Criar arquivo .gitignore.