Paquetes

Los paquetes están formados por transacciones, tareas, datos iniciales y otros recursos (por ejemplo imágenes o scripts js, css, etc.).

Clasificación

Los paquetes pueden clasificarse en dos categorías:

  • Paquetes de sistema. Incluyen bibliotecas y aplicaciones que son de utilidad para otros paquetes o el sistema V12, como el paquete dbext que ofrece funciones para gestionar variables globales, eventos, autorizaciónes, etc.
  • Paquetes de usuario. Incluyen principalmente aplicaciones con un propósito específico o para un área del negocio, como el paquete rhgf (Gestión Financiera de los Recursos Humanos)

Estructura

La estructura de carpetas de un paquete debe ser:

/ (raíz del paquete)
    |---pack.manifest
    |---Nombre_del_paquete/
        |---_install/
        |---_static/
        |---entry-point.dkl
  • Raíz del paquete. Aquí se incluyen archivos que se colocarán en la carpeta de binarios de Devkron, p.e. archivos .dll, programas o bibliotecas comunes.
  • pack.manifest Es un archivo de texto en formato JSON que contiene metadatos del paquete, vea la estructura del archivo
  • Carpeta Nombre_del_paquete Esta carpeta debe tener el nombre del paquete, contiene a las carpetas _install, _static y a las que correspondan a las transacciones y tareas incluidas.
  • Carpeta _install Contiene esquemas, datos y programas requeridos por la instalación
  • Carpeta _static Contiene recursos estáticos que son requeridos por las páginas de los programas del paquete, por ejemplo imágenes, js o css
  • Archivo entry-point.dkl Este archivo es el punto de entrada para todas las transacciones (generalmente carga configuraciones e inicializa el controlador)

Instalación

Los paquetes generalmente están acoplados a un esquema de datos relacionales, datos iniciales, nuevos privilegios y variables globales que deben ser integrados a la base de datos para poder usarse.

Una lista simple (no exhaustiva) de tareas necesarias para la instalación puede incluir:

  1. Instalar el esquema de datos (ddm) lo que implica alterar la estructura de la base de datos
  2. Insertar datos iniciales, privilegios y variables.
  3. Relacionar los nuevos privilegios insertados al grupo de Administradores (groupid: 'admins', 'administradores' o 'administrators' )

Para simplificar el proceso de instalación, todos los paquetes incluyen el programa _install/install.dkl que realiza estas tareas de forma automatizada desde la línea de comando.

Enrutamiento

Una vez instalado un paquete, se podrá acceder a las transacciones (aplicaciones y servicios) mediante URLs dentro del directorio virtual ! y a sus recursos estáticos a través del directorio virtual $.

Ejemplos:

  • https://sistema.miempresa.com/!/cxc/clientes/ Accede a la transacción clientes (a través de entry-point.dkl) del paquete cxc
  • https://sistema.miempresa.com/$/cxc/icono1.png Accede a una imagen en la carpeta _static del paquete cxc