Gestión de archivos de directorio en proyectos de servidores fusionados

Traducido automáticamente de Deepl

Los proyectos introdujeron el nuevo archivo directory.json que contiene usuarios, grupos y permisos. Permite la autenticación, las restricciones, los permisos en varias partes de la aplicación, a través de la configuración o el código. Veamos las nuevas mejoras sobre el uso de este archivo en los proyectos de servidores fusionados.

Recordatorio

En un proyecto, los usuarios, grupos y algunos permisos se guardan en el archivo de directorio. Para recordar cómo funciona, puedes volver a leer este blog-post de presentación o ver este vídeo.

Archivos de directorio

El archivo del directorio del proyecto es el archivo directory.json ubicado en la carpeta de configuración del usuario del proyecto (carpeta Settings junto a la carpeta Project del proyecto en uso):

El archivo del directorio de datos es el archivo directory.json ubicado en la carpeta de configuración del usuario para los datos (carpeta Settings junto al archivo de datos en uso):
blank

El archivo del directorio de la aplicación es el archivo directory.json ubicado en la carpeta de configuración del usuario de la aplicación (carpeta Settings dentro de la carpeta Server Database de la aplicación del servidor fusionado):
blank

Incrustar el archivo durante el proceso de construcción de la aplicación

Hasta ahora, era su trabajo incluir un archivo de directorio en el servidor fusionado después del proceso de construcción de la aplicación. Si no incluyes un archivo de directorio en el paquete de la aplicación o junto al archivo de datos, durante la ejecución, todos los usuarios están usando la cuenta del Diseñador con todos sus derechos.
Así que para hacerlo más seguro y fácil, a partir de la v19R5, una nueva clave buildApp está a su disposición. Esta clave incrusta automáticamente el archivo del directorio del proyecto en el servidor fusionado durante el proceso de construcción de la aplicación:

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

Tenga en cuenta que esta nueva configuración también está disponible en el cuadro de diálogo Construir aplicación:

blank

Comportamiento del lado del servidor

El comportamiento actual se mantiene: el 4D Server carga el fichero de directorio de datos si existe. En caso contrario, se carga el fichero de directorio de la aplicación.
Pero a partir de ahora, en un proyecto del servidor fusionado, todas las modificaciones realizadas a los usuarios, grupos y permisos durante la ejecución se almacenan automáticamente en el archivo del directorio de datos. El archivo del directorio de la aplicación nunca se toca y puede considerarse como un archivo del directorio de inicialización. Esto garantizará que la firma de su aplicación se mantenga segura en macOS, o le permitirá colocar su aplicación de servidor en una carpeta de sólo lectura sin ningún error.
Al iniciar el servidor, si no existe un archivo de directorio de datos, se cargan los usuarios, grupos y permisos almacenados en el archivo de directorio de la aplicación, si existen. Luego, si se realizan modificaciones en los usuarios, grupos o permisos, se almacenan en el archivo del directorio de datos.

Cuentas técnicas

Los usuarios y grupos se utilizan a menudo como cuentas técnicas por los desarrolladores de 4D. Esto se puede hacer con la caja de herramientas, o con el código 4D comprobando el nombre de usuario actual con Current user o la pertenencia a un grupo con User in group. En estos casos, para asegurarse de que estos usuarios y grupos son persistentes, puede comprobarlos al iniciar el servidor, ¡y las modificaciones posteriores se almacenarán automáticamente en el archivo del directorio de datos!

Avatar
• Propietario de producto - Damien Fuzeau se ha unido al equipo de 4D Product en febrero de 2019. Como Propietario de producto, está a cargo de escribir historias de usuario, y luego traducirlas a especificaciones funcionales. Su trabajo también implica asegurarse de que las implementaciones de funcionalidades entregadas estén cumpliendo con las necesidades del cliente. Damien es licenciado en ingeniería de software por la Universidad de Nantes. Estuvo más de 23 años en su anterior empresa, primero como desarrollador (descubriendo 4D en 1997), y más tarde como gerente de ingeniería y arquitecto de software. Esta compañía es un Partner OEM de 4D y ha desplegado softwares empresariales basados en 4D para miles de usuarios, en cientos de servidores. Por lo tanto, Damien está acostumbrado al desarrollo y despliegue de 4D en un contexto multilingüe.