Saltar al contenido

Manipulación de Directorios de Archivos

Este artículo revisará cómo trabajar con la manipulación de directorios de archivos en App Builder los temas tratados incluyen mover archivos entre binarios y un sistema de archivos, crear directorios desde dentro App Builder y vincular directorios a un Panel de Sistema de Archivos.

Prerrequisitos

  • Es necesario configurar un sistema de archivos en su App Builder servidor (local, S3 o red)
    • Se recomienda almacenar el DataSourceID del sistema de archivos en la tabla de parámetros de la aplicación desde la que va a transferir los archivos
  • La base de datos desde la que va a transferir los archivos debe estar vinculada a su sistema de archivos

Columnas en una Tabla de Archivos del Sistema de Archivos

Columna Obligatorio (S/N) Tipo de datos Descripción
DataSourceID(*) UUID El DataSourceID de la fuente de datos del sistema de archivos
Nombre (*) Cadena El nombre del archivo cuando está almacenado en el sistema de archivos
Directorio (*) Cadena La ruta del archivo que se almacena en el sistema de archivos
FullName No String El nombre del archivo cuando está almacenado en el sistema de archivos
IsDirectory No Booleano Si el archivo que se almacena es una carpeta o no
Contenido No Binario El archivo en sí
Extensión No Cadena La extensión del archivo que se está almacenando
Creado el No Fecha/Hora Cuándo se insertó el archivo en el sistema de archivos
Modificado el No Fecha/Hora Cuándo se actualizó el archivo en el sistema de archivos
Longitud No Entero Longitud del archivo en bytes
FolderIcon No Binario El icono de la carpeta en el sistema de archivos

Instrucciones para Mover Archivos Desde Binario en an App Builder tabla a Sistema de Archivos

Carpetas

  1. Si ya tiene una carpeta en el sistema de archivos en la que desea almacenar los archivos, no necesita configurar carpetas a través de App Builder
  2. Si desea crear una carpeta en el sistema de archivos, deberá configurar reglas en App Builder para ello:

    • Cree una regla de inserción XP CRUD desde la base de datos principal de su aplicación que tenga como destino la tabla de archivos de su sistema de archivos
      • Las claves de la tabla de archivos que se deben tener como destino son DataSourceID (de su sistema de archivos), Name (nombre del archivo) y Directory (ruta del archivo)
        • DATASOURCEID(*): si almacenó el DataSourceID de su sistema de archivos en su tabla de parámetros, puede crear la regla a partir de esa tabla y usar ese campo parametrizado para tener como destino el DataSourceID.
        • NOMBRE(*): puede usar el nombre que desee para el archivo o la carpeta. Es una práctica común no usar el nombre real del archivo y generar un nombre nuevo al almacenarlo en un sistema de archivos por razones de seguridad.
        • DIRECTORIO(*): si la carpeta es la carpeta de nivel más alto en su sistema de archivos, use una cadena en blanco como directorio. Si está creando una jerarquía de carpetas, el directorio es la ruta del archivo de la carpeta, App Builder asume automáticamente el primer '\' en la ruta del archivo.
      • Apunta al campo IsDirectory con un '1' para todas las carpetas. Así es como App Builder sabrá que debe crear una carpeta en el sistema de archivos, en lugar de intentar insertarla como un archivo.
      • Registre la regla de inserción como una acción en un evento y active ese evento. Si creó una carpeta de nivel superior en su sistema de archivos, debería aparecer en la tabla de archivos de su sistema de archivos; si la carpeta o el archivo se encuentran en cualquier lugar que no sea el nivel más alto de su sistema de archivos, deberá configurar páginas para verificar que se hayan insertado correctamente o comunicarse con alguien con acceso al sistema de archivos para confirmar que se creó la carpeta.

Insertar Archivos en el Sistema de Archivos

  1. Cree una regla de inserción XP CRUD a partir de la fuente de datos y la tabla desde la que está moviendo los archivos y que tenga como destino la tabla de archivos de su sistema de archivos

    • Las claves del archivo son las mismas que las de la carpeta
      • DATASOURCEID(*): el DataSourceID del sistema de archivos; puede codificar el valor o cruzarlo en la tabla de parámetros si lo almacenó
      • NAME(*): es una práctica común no usar el nombre original del archivo en su sistema de archivos, sin embargo, puede hacerlo. Si no lo hace, asegúrese de configurar una convención de nomenclatura que sea consistente y fácil de recordar. (Nota: si planea obtener una vista previa de este archivo en un control de incrustación, debe concatenar la extensión del archivo al final del nombre. Hay documentación de SQL en línea que lo ayudará a recortar la extensión del nombre del archivo original).
      • DIRECTORIO(*): La ruta en la que se almacenará el archivo. Una serie de nombres de carpeta separados por '\'.
    • Otro campo que debe tenerse en cuenta para los archivos es Contenido
      • CONTENIDO: El archivo en sí. El binario que se almacena en la tabla

Vinculación de Directorios a un Panel del Sistema de Archivos

  1. Al vincular a una página usando un sistema de archivos como fuente del panel, es necesario pasar un enlace para acceder a sus archivos.

    • En el objeto desde el cual se va a vincular, se deben agregar los campos a los que se va a vincular
      • Los campos a los que se vinculará son las claves principales de la tabla de archivos en su sistema de archivos (DataSourceID, Directorio y Nombre)
    • Dondequiera que configure el enlace a la página del Sistema de archivos, debe configurar los campos que acaba de agregar a su objeto como Criterios de enlace. También puede lograr esto entre paneles si desea hacerlo de esa manera.

Ejemplo de Regla CRUD de XP para Crear una Subcarpeta

A continuación se muestra un ejemplo de regla CRUD de XP que indica App Builder para crear una subcarpeta llamada PaymentImport fuera de la App Builder data carpeta ubicada en el C: unidad. Este ejemplo supone que la ruta de la fuente de datos es C:/App Builder data.

Configuración de la regla:

  • Propósito: CRUD de XP
  • Acción: Cram
  • Origen de datos de origen: origen de datos del que se origina la regla. Ejemplo: InvoicePortal
  • Origen de datos de destino: origen de datos al que se dirige la regla. Ejemplo: Unidad C
  • Capa de destino: capa lógica
  • Destino: tabla con nombre a la que se dirige la regla. Ejemplo: archivo

Columnas definidas en la regla:

  • DataSourceID: 'b24b8338-5c91-4e92-8481-8605944a558d'
  • Directorio: *
  • Nombre: 'PaymentImport'
  • IsDirectory: 1

directoryexample.png

Ejemplo de regla CRUD de XP para crear una subcarpeta