Guía 86 – Gestión de aplicaciones grandes

¿Qué es una aplicación grande en el entorno de PHPrunner? Que yo conozca no existe una definición concreta. Para mí, es grande cuando genera más de 3000 ficheros o cuando tiene más de 50 tablas. Espero que este criterio os sirva.

Yo he estado trabajando con aplicaciones PHPRunner que tenían ambos criterios, e incluso, éramos varias personas desarrollando el aplicativo.

En este artículo deseo comentaros los criterios y formas de trabajar con este tipo de aplicaciones, criterios y formas, que veo razonables independientemente de la herramienta de codificación. Con ello no quiero significar que la versión 11 de PHPRunner, no sea positiva, sino que para muchos, muchos casos, no era esencial para gestionar proyectos grandes o con varios desarrolladores.

Objetivo:

Explicar criterios y soluciones, a emplear, para poder gestionar aplicaciones grandes.

  1. Dividir aplicaciones en módulos e interconectarlos, para facilitar la gestión de acceso a los usuarios.
  2. La librerías externas, ubicarlas fuera del proyecto de PHPRunner.
  3. Trabajo de varios desarrolladores en el proyecto. División de actividades y forma de escribir el código.

DEMO de división de aplicaciones en módulos.
https://fhumanes.com/app1/
https://fhumanes.com/app2/

Usuarios:
– user1/user1 . Tiene perfil de grupo en las dos APP
– user2/user2. Tiene perfil de grupo en una APP

Si te interesa este artículo, sigue leyéndolo en este link.

Guía 85 – Relacionar 2 tablas de forma muy visual y rápida

Este ejemplo también lo he iniciado para ayudar a Rubén.
Me explicó que estaba diseñando un sistema de Gestión de Tesorería y que tenía que conciliar las previsiones de pago con los pagos reales, de cara a realizar las previsiones de saldos de sus cuentas corrientes a medio plazo.

Él imaginó un sistema que por arrastre de registros de un panel (de previsión)  a otro (pagos reales), se fueran cancelando los registros de previsión.

Si no queda clara esta explicación, os resumo, es relacionar unos registros de una tabla con otros registros de otra tabla, pero a ser posible de forma muy visual.

Objetivo

De forma muy visual, sencilla y rápida, relacionar registros de la tabla de previsión con los registros de la tabla de pagos reales.

En este caso, es para una gestión de Tesorería, pero puede usarse para multitud de situaciones, como:

  • Albaranes y facturas.
  • Facturas y movimientos bancarios de pagos.
  • Alumnos y clases.
  • Alumnos y asignaturas optativas.
  • Etc.

DEMO:  https://fhumanes.com/reconcile y https://fhumanes.com/reconcile2

Si estás interesado en este artículo sigue leyéndolo haciendo clic aquí.

Actualización 1/07/2024
Se ha hecho corrección en:

  • Cuando se produce error en sincronismo del orden de ejecución de los botones en ambos paneles en botón “Data Concile”, el proceso se resuelve automáticamente volviéndose a ejecutar, sin la intervención del usuario
  • En los botones del panel “REAL” se elimina el prefijo de la tabla, para que estos botones puedan estar dentro o fuera de la tabla, en dicho panel.
Ampliación 3/07/2024
Se ha ampliado la funcionalidad incluyendo un formulario de filtro sobre los paneles del DashBoard.

Esta nueva versión la he llamado “concile2”.
El formulario es una página ADD que se crea con una tabla ficticia. Creo que es una excelente alternativa  para filtrar las páginas de este tipo.

Guía 84 – Resaltar elementos en páginas LIST

Mi compañero Rubén, me pidió algunos ejemplos para resaltar celdas, filas,  columnas y agrupaciones de celdas, para información mostrada en páginas LIST y aunque puede haber multitud de formas de resaltar la información, yo he elegido 4 formas y he hecho este ejemplo para mostrárselas a él y a vosotros.

En casi todos los casos, el resaltado se produce cuando el ratón se posiciona encima de las celdas de la tabla del GRID. Ya conocéis que la función “hover” para los equipos que no disponen de un ratón, mejor no utilizarla.

Es un buen ejemplo de referencia cuando se requiera trabajar con JQUERY.

Objetivo:

Cuando una página LIST muestra muchas columnas, resulta poco claro la presentación por defecto, así pues estos ejemplos sirven para reforzar el interface y hacer más fácil la visualización de los datos.

He realizado 4 ejemplos:

  • versión 1.- Mostrar coordenadas X e Y (filas y columnas) coloreando el fondo de las celdas.
  • versión 2.- Hacer el rayado de tipo “cebra” en vertical y resaltar el registro seleccionado.
  • versión 3.- Hacer el rayado de acuerdo a las celdas agrupadas, para así identificar mejor la información de los grupos.
  • versión 4.- La misma representación que versión 1, pero en paginas LIST del tipo “maestro” y “detalle”.

DEMO: https://fhumanes.com/guia84/

Si estás interesado en este tema, sigue leyendo el articulo en este enlace.

Guía 83 – Integración con React

Según nos informa Wikipedia:

React (también llamada React.js o ReactJS) es una biblioteca Javascript de código abierto diseñada para crear interfaces de usuario con el objetivo de facilitar el desarrollo de aplicaciones en una sola página. Es mantenido por Facebook y la comunidad de software libre. En el proyecto hay más de mil desarrolladores libres.

Un ejemplo de desarrollo realizado (por INDRA) con esta tecnología es: https://resultados2023.comunidad.madrid/es/

React, se creo y difundió hace 10 años y según los entendidos, es fácil de aprender y es la solución más utilizada por los desarrolladores que utilizan JavaScript para el desarrollo del Front-end de las aplicaciones.

Me habló de esta solución, mi hijo, exponiéndome las características de la solución y lo implantada que estaba en el mercado actual y me compré un libro para aprender “REACT, curso práctico”, de Santiago Aguirre.

Es muy importante imaginar/entender la arquitectura de la solución. Con esta solución (que es similar a Angular.js y VU.js) desarrollamos el interfaz de la aplicación, pero requerimos otro desarrollo de Back-end, para mantener la persistencia de los datos y/o los objetos de negocio. Este desarrollo de Back-End puede ser PHP, Java, etc. En nuestro caso será PHPRunner, ya que nos facilita un desarrollo muy rápido y acceso a casi cualquier gestor de base de datos.

Yo veo adecuada esta tecnología para los desarrollos que tengan que ver con el usuario final (ciudadano, profesor, alumno, etc.) y para todos aquellos que requieran un dispositivo móvil. Es muy sencillo “empaquetar” este tipo de aplicación en una APP Android o IOS.

También, este tipo de solución SPA (aplicaciones de una sola página) se integran perfectamente con gestores de contenidos CMS, como WordPress, etc.

Comentaros que aún siendo accesible, no es tan fácil, al menos, para aquellos que no tengan buen conocimiento con HTML, JavaScript, CSS, PHP y SQL. Se suele disponer de 2 perfiles, el desarrollador de Front-end (REACT) y el del Back-end (PHP), pero eso es en los equipos de desarrollos y no es el caso de muchos de nosotros.

Objetivo

  • Aprender React siguiendo el libro. (instalación de la infraestructura necesaria para el desarrollo)
  • Utilizar un ejemplo de GITHUB donde se integra React y PHP. “parzibyte.me”
  • Adaptar el ejemplo para utilizar PHPRunner en el Back-end.
  • Hacer una APP Android de la aplicación desarrollada.

DEMO: https://fhumanes.com/react_api/

Back-end: https://fhumanes.com/api_php

Si estás interesado en el tema, sigue leyendo el artículo en este enlace.

Guía 82 – PivotGrid y edición de sus datos.

Como sabéis, los usuarios habituales de este blog, ya había publicado un artículo sobre la solución de PivotGrid utilizando la biblioteca de DevExtreme.

En esta ocasión, este ejemplo, tiene las siguientes características que le diferencia del anterior:

  • El modelo de datos en el que se basa es mucho más simple, para que la compresión sea más fácil.
  • Utiliza un Api Rest para acceder a los datos. Que es la forma estándar que se utiliza con todos los interfaces de JavaScript (React, Angular, Vue.js, etc.)
  • Nos permite, desde la propia visualización Pivot, actualizar los registros base.

La petición me ha hecho un desarrollador para poder implementar un sistema de control de tesorería o “CashFlow” y puede emplearse para muchos otros detalles como para la evaluación de presupuestos de empresa, etc.

Objetivo

Definir un PivotGrid, muy potente en su definición y representación y poder actualizar la información base desde el mismo interface gráfico.

DEMO:  https://fhumanes.com/devextreme_php/

Si estás interesado en este tema, sigue leyendo el artículo en este enlace.