Desarrollo de reportes#

La creación de reportes es una funcionalidad que brinda a los clientes de Linkaform una perspectiva visual, resumida y agradable de los datos recopilados de las formas. Un reporte se construye siguiendo un conjunto de estándares y librerías establecidas por Linkaform.

Importante

Tenga en cuenta que el desarrollo de reportes se basa en la información recopilada de las formas (formularios digitales), por lo que es importante comprender su funcionamiento. Consulte el siguiente enlace para revisar la documentación oficial de las Formas .

Antes de comenzar a explicar el desarrollo de reportes, considere los requisitos del perfil técnico para esta tarea. Este perfil debe contar con experiencia básica en:

  • HTML, CSS, Bootstrap

  • Git

  • GitHub

  • Python

  • JavaScript

  • MongoDB

  • Docker

A lo largo de la documentación, podrá encontrar orientación sobre los aspectos necesarios para la creación de su propio reporte personalizado.

Pasos#

De manera general, los siguientes pasos son los que debe seguir para desarrollar un reporte. Se presentan para que tenga en cuenta que debe seguir un orden cronológico tanto en el desarrollo como si es la primera vez que lee la documentación para desarrollarla. Por favor, continúe leyendo la documentación para obtener información detallada y completa sobre cada uno de estos pasos.

  1. Configure su entorno.

  2. Clone los repositorios necesarios.

Ver también

Consulte Configuración del entorno y revise los repositorios correspondientes.

  1. Desarrolle su reporte de demostración.

Ver también

Consulte Creación de Demo .

  1. Configure su reporte en la aplicación web de Linkaform.

Ver también

Revise las Bases de Linkaform para cualquier configuración del reporte.

  1. Desarrolle el script necesario para las consultas.

Ver también

Revise el proceso para la Creación de Scripts .

  1. Cargue el script en la aplicación web de Linkaform.

Ver también

Revise las Bases de Linkaform para cualquier configuración del reporte.

Configuración del entorno#

Para comenzar el desarrollo de reportes en Linkaform, es importante asegurarse de que su entorno de trabajo esté correctamente configurado. A continuación, encontrará la documentación oficial de las herramientas necesarias para configurar su entorno:

  • Si no cuenta con experiencia en Mongodb revise el curso de MongoDB University y posteriormente, continue con el curso de MongoDB con Python .

  • También se sugiere revisar la documentación oficial de Docker e instalar la herramienta según sea necesario. Además, revise e instale Docker compose .

  • Si es necesario, revise la documentación de GitHub y Git .

Ahora, clone los repositorios necesarios para el desarrollo de reportes. Linkaform tiene repositorios específicos en GitHub y GitLab. Siga los pasos a continuación:

Truco

Se recomienda crear una carpeta que contenga los repositorios necesarios. En este caso, la carpeta lkf contendrá los repositorios Servido e infosync_scripts.

Repositorio servido#

  1. Solicite acceso al repositorio de Servido en GitHub a través del soporte técnico.

  2. Ingrese al siguiente enlace servido y clone el repositorio.

1git@github.com:linkaform/servido.git
  1. Abra una terminal y navegue al directorio del repositorio de Servido y docker, por ejemplo:

1cd lkf/servido/docker

Nota

En este caso, tenga en cuenta que el repositorio de Servido está dentro de otra carpeta llamada lkf.

  1. Ejecute el siguiente comando para correr Servido localmente:

1docker-compose up -d

En caso de contar con una versión actualizada de Docker:

1docker compose up -d
  1. Compruebe que Servido esté en ejecución accediendo a:

API en el puerto 5000#
1http://127.0.0.1:5000
Páginas web en el puerto 8011#
1http://127.0.0.1:8011/

Nota

Consulte el archivo reedme.md del repositorio para más información.

Repositorio infosync_scripts#

  1. Solicite acceso al repositorio de infosync_scripts en GitLab a través del soporte técnico.

  2. Ingrese al repositorio y clone el repositorio.

Nota

Consulte el archivo reedme.md del repositorio para más información.

Bases de Servido#

Servido es una plataforma Open Source que facilita el desarrollo de reportes mediante el uso de diversas herramientas, como bibliotecas, scripts y APIs. Estas herramientas se utilizan para procesar información y generar resultados que se presentan a través de dashboards, tablas, gráficos y otras representaciones visuales.

Atención

Considere que los repositorios de Servido e infosync_scripts están contenidas en la carpeta lkf.

Las dos partes principales que complementan a Servido son las siguientes:

Directory Tree
.
├── infosync_scripts
│   ├── Nombre_carpeta
│   │   ├── reporte_nombre.py
└── servido
    ├── apps
    │   ├── frecuencias
    │   │   ├── reporte_auditorias_data.js
    │   │   ├── reporte_auditorias.html
    │   │   ├── reporte_auditorias.js
    │   │   └── style.css
    │   ├── rh
    │   ├── encuestas
    ├── docker
    ├── Dockerfile
    ├── libs
    │   └── tabulator
    │       ├── css
    │       └── js
    ├── README.md
Apps

La carpeta Apps contenida en el repositorio de Servido alberga la totalidad del front-end (HTML, CSS, JavaScript vanilla y jQuery) del reporte.

Nota

En servido, los archivos se almacenan en carpetas correspondientes al tipo de reporte que desea generar.

  • Por ejemplo, en la carpeta frecuencias se encuentran archivos de reportes que muestran frecuencias de alguna actividad u otro contenido específico.

  • En la carpeta rh se encuentran reportes como facturación, desempeño jornal, etc.

Ajuste o cree una carpeta descriptiva y lógica según lo requiera.

Cada reporte debe estar constituida por los siguientes archivos:

  • style.css: Contiene estilos generales del reporte (un archivo por carpeta).

  • reporte_nombre.html: Contiene la estructura del reporte.

  • reporte_nombre.js: Contiene la lógica encargada de gestionar las solicitudes a la API, así como de procesar y presentar la información correspondiente en la estructura establecida.

  • reporte_nombre_data.js: Contiene configuraciones de librerías que se utilizan.

Ver también

Consulte la siguiente sección para obtener información detallada sobre la Estructura de archivos que conforman a Servido.

Infosync_scripts

El contenido sobre scripts, ubicado en el repositorio infosync_scripts, contiene información correspondiente al backend del reporte. Cada carpeta alberga scripts utilizados por los clientes.

Si necesita crear un nuevo script para su reporte, siga el siguiente estándar de nomenclatura:

1reporte_nombre_script.py

Prudencia

Bajo ninguna circunstancia modifique los archivos que NO inicien con reporte o report . Estos archivos son scripts que desempeñan funciones importantes para el cliente, aunque no estén directamente relacionados con reportes.

Importante

Tenga cuidado con el Archivo account settings , ya que contiene información sensible de la cuenta del cliente.

Directory Tree
.
├── infosync_scripts
│   ├── Nombre_carpeta
│   │   ├── reporte_nombre.py
└── servido
    ├── apps
    │   ├── Nombre_carpeta
    │   │   ├── reporte_nombre_data.js
    │   │   ├── reporte_nombre.html
    │   │   ├── reporte_nombre.js
    │   │   └── style.css
    ├── docker
    ├── Dockerfile
    ├── libs
    │   └── tabulator
    │       ├── css
    │       └── js
    ├── README.md

URLs de acceso#

Una vez que haya configurado su entorno y desarrollado un reporte, es importante que comprenda las diversas formas de acceder a los reportes en Linkaform. La accesibilidad a los reportes se facilita mediante URLs específicas, brindando opciones como la visualización local con datos demo, la integración de un script, el acceso a través de servido y la posibilidad de trabajar en un entorno de prueba.

Nota

Asegúrese de ejecutar previamente su contenedor Docker e ingresar al enlace según lo requiera.

Local con datos demo#

Si desea obtener una vista previa del reporte antes de realizar la integración completa del script, considere y modifique la siguiente URL:

1http://127.0.0.1:8011/nombre_carpeta/reporte_nombre.html

Al modificar esta URL según su estructura de carpetas y el nombre del reporte específico, podrá visualizar una versión demo del reporte.

Local con script integrado#

Esta opción le brinda la posibilidad de integrar el script directamente en la URL, indicando al reporte qué script debe utilizar para realizar las consultas necesarias.

1http://127.0.0.1:8011/nombre_carpeta/reporte_nombre.html?script_id=123456

Simplemente, añada el parámetro script_id a la URL seguido del valor correspondiente al script. Esto le indicará al script de JavaScript a dónde debe realizar la petición.

Ver también

Consulte Ver ID del script o Creación de Scripts .

Servido#

Al acceder a través de Servido, se solicitarán credenciales de autenticación debido a que la cookie utilizada para la autenticación no es encontrada. Este proceso difiere de iniciar sesión en Linkaform y abrir reportes desde allí, donde la autenticación se realiza de manera automática gracias a las cookies.

1https://srv.linkaform.com/nombre_carpeta/reporte_nombre.html?script_id=123456

Nota

El usuario (correo) y la contraseña son los que se utilizan en producción.

Entorno de prueba (Test Environment)#

Si necesita acceder al entorno de prueba del reporte, asigne el argumento &env=test a la URL. Este método es útil en caso de que no cuente con la contraseña de producción.

Básicamente, se genera una cookie de autenticación para realizar la petición en el entorno de preproducción, facilitando el desarrollo en un entorno controlado antes de realizar peticiones a producción.

Una vez dentro del entorno de prueba, puede continuar sin la necesidad de incluir &env=test en futuras peticiones a producción. La contraseña de preproducción actúa como una llave que puede utilizar en cualquier reporte que desarrolle y desee emplear en el entorno de preproducción.

1http://127.0.0.1:8011/nombre_carpeta/reporte_nombre.html?script_id=123456&env=test

Nota

En caso de no contar con las credenciales necesarias de preproducción, solicítelas a soporte técnico.

Prudencia

Si está siguiendo cronológicamente la documentación y encuentra algunas partes confusas en relación con la configuración, específicamente las URLs de acceso, no se preocupe. Durante el desarrollo de su reporte personalizado, estas partes cobrarán más sentido con el tiempo. Por favor, sea paciente, continúe leyendo y considere toda la información proporcionada.