Saltar al contenido principal
Versión: 20 R6 BETA

Arquitectura de un proyecto

Un proyecto 4D se compone de varias carpetas y archivos, almacenados dentro de una carpeta raíz del proyecto (carpeta paquete). Por ejemplo:

  • MyPackage (carpeta raíz del proyecto)
    • Componentes
    • Data
      • Logs
      • Settings
    • Documentation
    • Plugins
    • Project
      • DerivedData
      • Sources
      • Trash
    • Resources
    • Settings
    • userPreferences.jSmith
    • WebFolder

Si su proyecto se ha convertido desde una base binaria, puede haber carpetas adicionales. Ver "Conversión de bases en proyectos" en doc.4d.com.

Carpeta Project

La carpeta Project suele contener la siguiente jerarquía:

  • archivo <applicationName>.4DProject
  • Sources
    • Clases
    • DatabaseMethods
    • Métodos
    • Formularios
    • TableForms
    • Triggers
  • DerivedData
  • Trash (si hay)

archivo <applicationName>.4DProject

El archivo de desarrollo de proyecto, utilizado para designar y lanzar el proyecto. Este archivo puede ser abierto por:

En los proyectos 4D, el desarrollo se realiza con 4D y el desarrollo multiusuarios se gestiona a través de las herramientas de control de versión. 4D Server puede abrir archivos .4DProject para realizar pruebas.

Este archivo de texto también puede contener llaves de configuración, en particular "tokenizedText": false.

Sources

ContenidoDescripciónFormato
catalog.4DCatalogDefiniciones de tablas y camposXML
catalog_editor.jsonPosiciones y colores personalizados de tablas, campos y enlaces en el editor de estructura. Depende de un parámetro de compatibilidad en los proyectos convertidosJSON
folders.jsonDefiniciones de carpetas del ExploradorJSON
menus.jsonDefiniciones de los menúsJSON
roles.jsonPrivilegios, permisos y otros ajustes de seguridad del proyectoJSON
settings.4DSettingsPropiedades de la base Structure. No se tienen en cuenta si se definen parámetros de usuario o parámetros de usuario para datos (ver también Prioridad de los parámetros. Atención: en las aplicaciones compiladas, la configuración de la estructura se almacena en el archivo .4dz (de sólo lectura). Para las necesidades de despliegue, es necesario habilitar y utilizar parámetros usuario o parámetros usuario para datos para definir parámetros personalizados.XML
tips.jsonMensajes de ayuda definidosJSON
lists.jsonListas definidasJSON
filters.jsonFiltros definidosJSON
dependencies.jsonNombres de componentes a cargar en el proyectoJSON
styleSheets.cssHojas de estilo CSSCSS
styleSheets_mac.cssHojas de estilo css de Mac (a partir de una base binaria convertida)CSS
styleSheets_windows.cssHojas de estilo css en Windows (a partir de una base binaria convertida)CSS

DatabaseMethods

ContenidoDescripciónFormato
databaseMethodName.4dmMétodos base definidos en el proyecto. Un archivo por método basetext

Métodos

ContenidoDescripciónFormato
methodName.4dmMétodos proyecto definidos en el proyecto. Un archivo por métodotext

Clases

ContenidoDescripciónFormato
className.4dmMétodo de definición de clases usuario, que permite instanciar objetos específicos. Un archivo por clase, el nombre del archivo es el nombre de la clasetext

Formularios

ContenidoDescripciónFormato
formName/form.4DFormDescripción del formulario proyectojson
formName/method.4dmMétodo formulario proyectotext
formName/Images/pictureNameImagen estática del formulario proyectopicture
formName/ObjectMethods/objectName.4dmMétodos objeto. Un archivo por método objetotext

TableForms

ContenidoDescripciónFormato
n/Input/formName/form.4DFormDescripción del formulario de entrada de la tabla (n es el número de tabla)json
n/Input/formName/Images/pictureNameImágenes estáticas del formulario de entrada de la tablapicture
n/Input/formName/method.4dmMétodo del formulario de entrada de la tablatext
n/Input/formName/ObjectMethods/objectName.4dmMétodos objeto del formulario de entrada. Un archivo por método objetotext
n/Output/formName/form.4DFormDescripción del formulario de salida de la tabla (n es el número de tabla)json
n/Output/formName/Images/pictureNameImágenes estáticas del formulario de salida de la tablapicture
n/Output/formName/method.4dmMétodo del formulario de salida de la tablatext
n/Output/formName/ObjectMethods/objectName.4dmMétodos objeto del formulario de salida. Un archivo por método objetotext

Triggers

ContenidoDescripciónFormato
table_n.4dmMétodos trigger definidos en el proyecto. Un archivo de activación por tabla (n es el número de tabla)text

Note: The .4dm file extension is a text-based file format, containing the code of a 4D method. Es compatible con las herramientas de control de versión.

Trash

La carpeta Trash contiene los métodos y formularios que se han eliminado del proyecto (si los hay). Puede contener las siguientes carpetas:

  • Métodos
  • Formularios
  • TableForms

Dentro de estas carpetas, los nombres de los elementos eliminados van entre paréntesis, por ejemplo "(myMethod).4dm". La organización de las carpetas es idéntica a la carpeta Sources.

DerivedData

La carpeta DerivedData contiene datos en caché utilizados internamente por 4D para optimizar el procesamiento. Se crea o recrea automáticamente cuando es necesario. Puede ignorar esta carpeta.

Libraries

Esta carpeta se utiliza sólo en macOS.

La carpeta Librairies contiene el archivo resultante de una compilación con el compilador Silicon en macOS.

Resources

La carpeta Resources contiene todos los archivos y carpetas de recursos personalizados del proyecto. En esta carpeta puede colocar todos los archivos necesarios para la traducción o personalización de la interfaz de la aplicación (archivos imagen, archivos texto, archivos XLIFF, etc.). 4D utiliza mecanismos automáticos para trabajar con el contenido de esta carpeta, en particular para el manejo de archivos XLIFF e imágenes estáticas. Para su uso en modo remoto, la carpeta Resources permite compartir archivos entre el equipo servidor y todos los equipos cliente. Ver el manual 4D Server.

ContenidoDescripciónFormato
elementoArchivos y carpetas de recursos del proyectovarios
Images/Library/itemImágenes de la librería de imágenes como archivos separados(*). Los nombres de estos elementos se convierten en nombres de archivos. Si existe un duplicado, se añade un número al nombre.picture

(*) sólo si el proyecto fue exportado desde una base binaria .4db.

Data

La carpeta Data contiene el archivo de datos y todos los archivos y carpetas relacionados con los datos.

ContenidoDescripciónFormato
data.4dd(*)Archivo de datos que contiene los datos introducidos en los registros y todos los datos pertenecientes a los registros. Al abrir un proyecto 4D, la aplicación abre por defecto el archivo de datos actual. Si cambia el nombre o la ubicación de este archivo, aparecerá la caja de diálogo Abrir un archivo de datos para que pueda seleccionar el archivo de datos a utilizar o crear uno nuevobinary
data.journalSe crea sólo cuando la base de datos utiliza un archivo de registro. El archivo de registro se utiliza para garantizar la seguridad de los datos entre las copias de seguridad. Todas las operaciones realizadas sobre los datos se registran secuencialmente en este archivo. Por lo tanto, cada operación sobre los datos provoca dos acciones simultáneas: la primera sobre los datos (la instrucción se ejecuta normalmente) y la segunda en el archivo de registro (se registra una descripción de la operación). El archivo de registro se construye de forma independiente, sin perturbar ni ralentizar el trabajo del usuario. Una base de datos sólo puede trabajar con un único archivo de registro a la vez. El archivo de historial registra operaciones como adiciones, modificaciones o eliminaciones de registros, transacciones, etc. Se genera por defecto cuando se crea una base de datos.binary
data.match(interno) UUID correspondiente al número de la tablaXML

(*) Cuando el proyecto se crea a partir de una base de datos binaria .4db, el archivo de datos se deja intacto. Por lo tanto, se puede nombrar de otra manera y colocar en otro lugar.

Settings (datos del usuario)

Esta carpeta contiene parámetros usuario para datos utilizada para la administración de aplicaciones.

Estos parámetros tienen prioridad sobre los parámetros de usuario y los parámetros de estructura. Ver también Prioridad de los parámetros.

ContenidoDescripciónFormato
directory.jsonDescripción de los grupos y usuarios de 4D y sus derechos de acceso cuando la aplicación se lanza con este archivo de datos.JSON
Backup.4DSettingsParámetros de copia de seguridad de la base de datos, utilizados para definir las opciones de copia de seguridad cuando la base se lanza con este archivo de datos. Las llaves relativas a la configuración de la copia de seguridad se describen en el manual Backup de las llaves XML 4D.XML
settings.4DSettingsPropiedades de la base personalizadas para este archivo de datos.XML

Logs

La carpeta Logs contiene todos los archivos de registro utilizados por el proyecto. Los archivos de registro incluyen, en particular:

  • conversión de base de datos,
  • peticiones del servidor web,
  • registro de actividades de backup/restitución (Backup Journal[xxx].txt, ver Historial de backup)
  • depuración de comandos,
  • Peticiones 4D Server (generadas en en los equipos cliente y en el servidor).

Una carpeta Logs adicional está disponible en la carpeta de preferencias del usuario del sistema (carpeta 4D activa, ver el comando Get 4D folder) para los archivos de registro de mantenimiento y e

Settings (usuario)

Esta carpeta contiene parámetros de usuario utilizada para la administración de aplicaciones.

Estos parámetros tienen prioridad sobre el archivo de parámetros de estructura. Sin embargo, si existen parámetros de usuario para los datos, tienen prioridad sobre los parámetros de usuario. Ver también Prioridad de los parámetros.

ContenidoDescripciónFormato
directory.jsonDescripción de los grupos y usuarios de 4D para la aplicacion, así como sus derechos de accesoJSON
Backup.4DSettingsParámetros de copia de seguridad de la base de datos, utilizados para definir las opciones de copia de seguridad) cuando se lanza cada copia de seguridad. Este archivo también puede utilizarse para leer o definir opciones adicionales, como la cantidad de información almacenada en el diario de backup. Las llaves relativas a la configuración de la copia de seguridad se describen en el manual Backup de las llaves XML 4D.XML
BuildApp.4DSettingsArchivo de parámetros de generación, creado automáticamente cuando se utiliza la caja de diálogo del generador de aplicaciones o del comando BUILD APPLICATIONXML
settings.4DSettingsParámetros personalizados para este proyecto (todos los archivos de datos)XML
logConfig.jsonArchivo de configuración de historial personalizadojson

userPreferences.<userName>

Esta carpeta contiene archivos que memorizan las configuraciones del usuario, por ejemplo, el punto de ruptura o las posiciones de las ventanas. Puede simplemente ignorar esta carpeta. Contiene, por ejemplo:

ContenidoDescripciónFormato
methodPreferences.jsonPreferencias del editor de código del usuario actualJSON
methodWindowPositions.jsonPosición de la ventana de usuario actual para los métodosJSON
formWindowPositions.jsonPosición de la ventana de usuario actual para los formulariosJSON
workspace.jsonLista de ventanas abiertas; en macOS, orden de las ventanas de la pestañaJSON
debuggerCatches.jsonLlamadas a los comandosJSON
recentTables.jsonLista ordenada de tablasJSON
preferences.4DPreferencesRuta de datos actual y posiciones de la ventana principalXML
CompilerIntermediateFilesArchivos intermedios resultantes de la compilación Apple SiliconFolder

Componentes

Carpeta que contiene los componentes anidados en el proyecto (debe almacenarse en el mismo nivel que la carpeta Project). Estos componentes tienen prioridad sobre cualquier otra ubicación.

info

También puede usar los archivos dependencies.json y (opcionalmente) environment4d.json para declarar componentes.

Plugins

Esta carpeta contiene los plug-ins que deben estar disponibles en el proyecto aplicación. Debe almacenarse en el mismo nivel que la carpeta Project.

Documentation

Esta carpeta contiene todos los archivos de documentación (.md) creados para los elementos del proyecto como clases, métodos o formularios. Los archivos de documentación se gestionan y se muestran en el Explorador 4D.

Para más información, consulte Documentar un proyecto.

WebFolder

Define la carpeta raíz por defecto del servidor web 4D para las páginas, las imágenes, etc. Se crea automáticamente cuando se lanza el servidor web por primera vez.

Archivo .gitignore (opcional)

Archivo que especifica los archivos que serán ignorados por git. Puede incluir un archivo gitignore en sus proyectos utilizando la opción Crear un archivo .gitignore en la página General de las preferencias. Para configurar el contenido de ese archivo, consulte Crear archivo .gitignore.